返回文章列表
SEO

什么是robots.txt文件?robots.txt是如何运作的?

词意
2026-01-16
3小时前
什么是robots.txt文件?robots.txt是如何运作的?

什么是robots.txt文件?

robots.txt文件是位于网站根目录中的文本文档。其中的信息专为搜索引擎爬虫设计。它会指示哪些URL(包括页面、文件、文件夹等)应该被抓取,哪些不应该。虽然网站功能并非必须有该文件,但必须正确设置以实现合适的SEO。

使用robots.txt的决定是在1994年作为机器人排除标准的一部分做出的。根据谷歌搜索中心的说法,该文件的主要目的不是隐藏网页,而是限制机器人向网站发出的请求数量并减轻服务器负载。

一般来说,robots.txt文件的内容应被视为对搜索爬虫的推荐,定义了网站爬取的规则。要访问网站robots.txt文件的内容,只需在浏览器域名后面输入“/robots.txt”即可。

robots.txt是如何运作的?

首先,需要注意的是,搜索引擎需要对显示在搜索结果页(SERPs)中显示的特定搜索结果进行爬取和索引。为了完成这一任务,爬虫系统地浏览网页,收集他们遇到的每个网页的数据。“蜘蛛化”一词有时用来描述这种爬行活动。

当爬虫访问网站时,会查看robots.txt文件,其中包含如何爬取和索引网站页面的说明。如果没有robots.txt文件,或者文件中没有禁止用户代理活动的指令,搜索机器人会继续爬取网站,直到达到爬取预算或其他限制。

什么是llms.txt?你是否需要它来对付AI机器人?

Llms.txt 是一个拟议标准,旨在引导 AI 爬虫更好地理解你的网站。与指示爬虫忽略特定页面的robots.txt不同,llms.txt提供重要页面的链接,并用人类语言为AI爬虫描述,就像增强版的网站地图一样。


尽管该标准存在已久,且一些AI引擎公开表示关注该标准,但没有迹象表明有人在执行该标准。根据SE Ranking对此事的研究,llms.txt不影响AI在AI搜索中的可见性和引用数量。

llms.txt试图标准化的大多数功能已经被网站地图和Schema标记覆盖,或者因为AI能自行理解上下文而变得无关紧要。

你为什么需要robots.txt?

文件之所以成为重要 SEO 实践robots.txt主要原因有两个:爬虫管理和爬虫预算优化。

管理爬网(包括AI机器人!)

robots.txt文件的主要功能是防止扫描你想设为私密的页面和资源文件。这可能包括管理面板、重复内容、正在开发中的页面,以及查询参数页面,如过滤器或内部搜索结果。

注:使用“robots.txt禁止”指令并不保证某一网页不会被抓取或被排除在搜索结果中。谷歌保留在判断网页相关性及其在搜索结果中是否包含时考虑各种外部因素(如链接)的权利。为了明确防止页面被索引,建议使用“noindex” robots meta 标签或 X-Robots-Tag HTTP 头。密码保护也可以用于防止索引。

Robots.txt指令也被大多数流行的人工智能引擎如Gemini、Perplexity和ChatGPT遵守。如果你想禁止特定 AI 工具访问你的网站,可以为他们的用户代理添加相应的指令。

AI用户代理名称有数百个,大多数工具会区分用于训练、索引和用户发起搜索的机器人。训练机器人寻找AI模型可以训练的内容,搜索/索引机器人创建内部索引用于搜索,用户发起的机器人如果索引中不在,则根据用户请求获取新内容。

这里有一些例子。

搜索/索引机器人(构建AI驱动搜索索引):

  • OAI-Searchbot
  • Claude-SearchBot
  • PerplexityBot

用户发起机器人(用户提问时获取内容):

  • ChatGPT-User
  • Claude-User
  • Perplexity-User
  • Applebot

注:部分用户创建的机器人也可用于训练。

训练机器人(用于收集数据以训练人工智能模型):

  • Meta-ExternalAgent
  • Google-Extended
  • GPTBot
  • ClaudeBot
  • Applebot-Extended
  • Meta-ExternalAgent

所有AI平台都建议允许搜索/索引机器人访问网站,以确保AI的可见性不受影响。然而,其他爬行者的行为可能有所不同。平台之间也存在差异。

例如,屏蔽OpenAi的索引爬虫OAI-Searchbot会阻止你的网站出现在搜索结果中,但仍可在导航链接中被引用。Perplexity的索引机器人也会避免浏览不允许的网站,但会索引该域名并提供简要总结。

大多数训练机器人会严格遵守robots.txt指令,但一些用户发起的机器人,比如ChatGPT的ChatGPT-User,可能会忽略指令。

优化爬虫预算

爬取预算指的是搜索引擎在网站上用于爬取的网页数量。为了更高效地使用爬取预算,搜索机器人应仅引导到网站上最重要的内容,并阻止访问无益信息。

优化爬取预算有助于搜索引擎高效分配有限资源,从而加快新内容的索引速度和提升搜索结果的可见性。但需要注意的是,如果你的网站页面数量超过了分配的爬取预算,有些页面可能会被留在未被抓取的情况下,从而无法被索引。未被索引的页面不能出现在搜索结果页上。

在大多数情况下,如果你运营的是大型网站(数千页)、内容变化快速的中型网站,或有大量未被索引的页面,应考虑优化爬虫预算使用。优化将确保搜索引擎全面覆盖你所有重要页面。

使用robots.txt的另一个常见好处是能够解决服务器上的内容爬取问题(如果有的话)。例如,如果你有无限的日历脚本,这些脚本在机器人频繁访问时可能会引发问题,你可以禁止该脚本在robots.txt文件中爬行。

robots.txt内容示例

拥有带有最新指令的模板可以帮助你创建格式正确的robots.txt文件,指定所需的机器人并限制对相关文件的访问。

User-agent: [机器人名]Disallow:/[文件或文件夹路径]/Disallow: /[文件或文件夹路径]/Disallow:/[文件或文件夹路径]/Sitemap: [网站地图网址]

现在,让我们来看看robots.txt文件可能长什么样的例子。

1. 允许所有蜘蛛机器人访问所有内容。

这里有一个robotx.txt文件代码的基本示例,允许所有网络爬虫访问所有网站:

User-agent: *Allow: /# SitemapsSitemap: https://www.example.com/sitemap.xml

在这个例子中,“User-agent”指令使用星号(*)来将指令应用于所有网络爬虫。爬行延迟允许爬虫无限制访问,但要求它们在请求之间等待10秒。网站地图声明并不限制任何访问,但会让爬虫指向网站地图。以尖锐标志开头的线条是爬虫玩家忽视的评论。

2. 阻止特定网页上的特定网络爬虫。

以下示例规定了“Bingbot”用户代理的访问权限,该代理是Microsoft搜索引擎Bing使用的网页爬虫。它包含了关闭扫描的网站目录列表,以及允许在网站上访问的一些目录和页面。

3. 屏蔽所有网页爬虫的内容。

User-agent: *Disallow: /

在这个例子中,“用户代理”指令仍然适用于所有网络爬虫。然而,“禁止”指令使用斜杠(/)作为值,表示网站上的所有内容都应被任何网络爬虫阻挡访问。这实际上告诉所有机器人不要爬取网站上的任何页面。

请注意,阻止所有网络爬虫使用robots.txt文件访问网站内容是极端措施,大多数情况下不推荐。它可能只有在你的新网站正在开发中、还没准备好对搜索引擎开放时才有用。在其他情况下,网站通常使用robots.txt文件来控制对网站特定部分的访问,比如屏蔽某些目录或文件,而不是屏蔽所有内容。

4. 向AI机器人下达指令

Robots.txt也可以用来向AI爬虫下达指令。这里有一个示例,展示了一组指令,允许爬取整个网站并屏蔽特定子目录。


不建议屏蔽整个网站,因为这可能会损害你的AI曝光率。Perplexity 建议允许其搜索爬虫 PerplexityBot 和用户发起的爬虫 Perplexity-User 以确保 AI 可见性,因为这两者都不用于 AI 训练。OpenAI 建议允许 OAI-SearchBot 用于 AI 可视化,但仅使用 GPTBot 来训练模型。

请记住,并不是所有AI爬虫都有统一的用户代理名称。如果你想给他们下指令,就必须分别引用每个用户代理名称。

如何找到robots.txt

在网站上查找robots.txt文件时,有几种方法可以使用:

要找到robots.txt文件,请在你想检查的网站域名中添加“/robots.txt”。例如,如果网站域名是“example.com”,你会在浏览器的地址栏输入“example.com/robots.txt”。如果网站上有robots.txt文件,这会直接带你去。

另一种较少使用但对CMS用户仍很常见的方法,是直接在系统内查找并编辑robots.txt文件。让我们来看看一些热门的。

WordPress 中的一个robots.txt

要在WordPress中查找和修改robots.txt文件,你可以手动创建一个,或者使用插件。

手动创建一个:

  • 创建一个名为“robots.txt”的文本文件。
  • 通过FTP客户端上传到你的根目录

使用Yoast SEO插件:

  • 访问Yoast SEO>工具
  • 点击文件编辑器(确保你已启用文件编辑)
  • 点击“创建robots.txt文件”按钮
  • 在那里查看或编辑robots.txt

使用一体化SEO插件:

  • 使用一体化SEO>工具
  • 点击Robots.txt编辑器
  • 点击开关启用自定义Robots.txt。
  • 在那里查看或编辑robots.txt

Magento的robots.txt

Magento会自动生成默认robots.txt文件。

补充说明:

  • 登录Magento管理面板
  • 前往内容>设计>配置
  • 点击编辑查看主网站
  • 展开搜索引擎机器人部分
  • 在文件字段的“编辑自定义指令”中编辑内容robots.txt
  • 保存配置

Shopify中的robots.txt

Shopify 会自动生成默认的robots.txt文件。

补充说明:

  • 登录你的Shopify管理面板
  • Сlick 应用和销售渠道>设置
  • 前往在线商店>主题
  • 点击…点击你当前主题旁边的按钮,选择编辑代码
  • 点击“添加新模板>机器人”
  • 点击创建模板
  • 根据需要编辑内容
  • 保存你的更改

1. 使用SE Ranking的Site Audit等自动化工具分析您的网站。

另一种识别robots.txt文件存在的方法是使用网站审计工具。例如,这个工具会检查你的网站,并提供你是否有robots.txt文件以及它阻挡哪些页面的信息。请检查被屏蔽的页面,判断是否应被屏蔽,还是访问被误阻。

要开始审计,只需启动流程并等待完成(您将在收件箱中收到通知)。然后,进入问题报告,选择爬取块,检查Robots.txt文件未找到问题。

2. 为您的CMS生成robots.txt

如果你的网站没有robots.txt文件,你可以从零创建,或者使用SE Ranking的免费robots.txt生成器生成一个。你可以手动添加指令和路径,也可以自动生成文件。指定你的CMS,工具会添加所有通常应被阻挡的子目录。

这里有一个WordPress的例子。


如果你想阻止其他目录被爬取,之后再添加它们。

搜索引擎如何找到你的robots.txt文件

搜索引擎有特定的机制来发现和访问你网站上的robots.txt文件。他们通常是这样发现的:

  1. 爬虫网站:搜索引擎爬虫会不断在网络上浏览,访问网站并点击链接来发现网页。
  2. 请求robots.txt:当搜索引擎爬虫访问网站时,它通过在网站域名中添加“/robots.txt”来寻找robots.txt文件的存在。
注意: 在成功上传并测试您的robots.txt文件后,谷歌的爬虫会自动检测并开始执行其指令。无需进一步采取行动。不过,如果您对robots.txt文件做了修改并希望及时更新谷歌,您需要学习如何提交更新后的robots.txt文件。
  1. 检索robots.txt:如果请求位置有robots.txt文件,爬虫会下载并解析该文件以确定爬取指令。
  2. 遵循指令:获得robots.txt文件后,搜索引擎爬虫会按照文件中的指示作。

Robots.txt vs meta robots vs x-robots

虽然robots.txt文件、 robots meta tag 和X-Robots-Tag在指导搜索引擎蜘蛛机器人方面具有类似功能,但它们在应用和控制范围上有所不同。

在隐藏网站内容时,仅依赖robots.txt文件可能不够。如上所述,robots.txt文件主要是给网络爬虫的推荐。它告知他们被允许访问网站的哪些区域。然而,这并不保证内容不会被搜索引擎索引,因为相关链接可以在其他网站上发现。为了防止索引,网站管理员应采用其他方法。

Robots meta tag

一种有效的方法是使用机器人元标签,它放置在页面HTML代码的<头>部分。通过包含带有“noindex”指令的元标签,网站管理员明确向搜索引擎机器人发出该页面内容不应被索引的信号。这种方法相比robots.txt文件的广泛指令,更精确地控制单个页面及其索引状态。

这里有一个防止页面层面搜索引擎索引的示例代码片段:

<meta name=“robots” content=“noindex”>

与robots.txt类似,这个元标签允许限制访问特定机器人。例如,要限制特定机器人(例如Googlebot),可以使用:

<meta name=“googlebot” content=“noindex”>

X-Robots-Tag

你还可以利用网站配置文件中的X-Robots-Tag来进一步限制页面索引。这种方法为细分层级的索引管理提供了额外的控制层和灵活性。

通常通过robots.txt关闭的页面和文件

1. 管理仪表盘和系统文件。

只有网站管理员或网站管理员才应作的内部和服务文件。

2. 辅助页面,仅在特定用户作后出现。

客户在成功完成订单后被引导到的页面、客户表单、授权或密码恢复页面。

3. 搜索页面。

网站访客在搜索框输入查询后显示的页面通常会被搜索引擎爬虫封闭。

4. 筛选页面。

通过应用筛选器(尺寸、颜色、制造商等)显示的结果是独立页面,可以被视为重复内容。SEO专家通常会阻止这些内容被爬取,除非它们为品牌关键词或其他目标查询带来流量。聚合网站、部分电商网站以及能够带来流量的合理配置过滤页面可能是例外。

5. 特定格式的文件。

像照片、视频、.PDF文档、JS文件这样的文件。借助robots.txt,您可以限制对单个或特定扩展名文件的扫描。

Robots.txt语法

网站管理员必须理解robots.txt文件的语法和结构,以控制其网页在搜索引擎上的可见性。robots.txt文件通常包含一套规则,决定域名或子域中哪些文件可以被爬虫访问。这些规则可以阻止或允许访问特定的文件路径。默认情况下,如果robots.txt文件中未明确说明,所有文件都被假定允许爬取。

robots.txt文件由多个组组成,每个组包含多个规则或指令。这些规则每行列出一次。每个组开始时都有一行用户代理,指定规则的目标受众。

一组提供以下信息:

  • 规则适用的用户代理。
  • 用户代理被允许访问的目录或文件。
  • 用户代理不被允许访问的目录或文件。

在处理robots.txt文件时,爬虫会沿着最具体的路径前进。例如,如果文件允许爬取所有网站内容,禁止一个目录,并允许其一个子目录,用户代理将访问所有内容和指定的子目录,忽略该不允许的其余子目录。

用户代理只能匹配一个规则集。如果有多个针对同一用户代理的组,这些组会合并为一个组,然后再处理。如果指令冲突,谷歌会选择限制最少的那个。

这里是一个基本robots.txt文件的示例,有两条规则:

User-agent: GooglebotDisallow: /nogooglebot/User-agent: *Allow: /Sitemap: https://www.example.com/sitemap.xml

由于爬虫会寻找最具体的规则集,这个文件会阻止 Googlebot 访问 /nogooglebot/ 文件夹,而允许其他所有爬虫访问整个网站。

在指令中提供路径时,路径被解释为所有以它开头的路径。在这个例子中,这包括像这样的路径。

  • https://www.example.com/nogooglebot/
  • https://www.example.com/nogooglebot/folder/
  • https://www.example.com/nogooglebot/folder/content.html
  • https://www.example.com/nogooglebot/folder/content.html?parameter=0

不过,https://www.example.com/folder/nogooglebot/,它不会包含这条路径。

现在,让我们更详细地看看robots.txt语法的不同元素。

通配符

如果你想更精确地控制爬虫行为,可以使用万用字符。有两个robots.txt — * 和 $。

星号万用牌表示任意符号序列。以下是一些应用示例。

  • User-agent: *— 包含所有用户代理。
  • User-agent: googlebot* — 包括以“googlebot”开头的用户代理,如“googlebot-news”或“googlebot/1.2”。
  • Disallow: */folder/ — 禁止所有该文件夹名称的实例,无论是在根文件夹中还是其他文件夹中。
  • Disallow: /*.png — 禁止所有包含“.png”的路径。这包括那些扩展后带有符号的路径,比如“/image.png?scr=site.com”。

美元符号通配符代表行尾。这指定了仅包含以给定字符串结尾的路径。以下是其使用示例:

  • Disallow: /folder/$ — 不允许精确的 /folder/ 路径,但允许包含该路径的爬取路径。
  • Allow: /*.pdf$ — 允许以.pdf结尾的爬行路径。在这种情况下,像“/file.pdf?参数”这样的爬行路径被排除在指令之外。

用户代理指令

用户代理指令是强制的,定义了规则适用的搜索机器人。如果有多个机器人,每个规则组都以该指令开始。

谷歌有多个机器人负责不同类型的内容。

  • Googlebot:爬取桌面和移动设备的网站
  • Googlebot Image:爬取网站图片以显示在“图片”部分,并根据图片生成产品
  • Googlebot Video:扫描并显示视频
  • Googlebot News:为“新闻”板块挑选有用且高质量的文章
  • Google-InspectionTool:一个URL测试工具,模仿Googlebot,爬取其允许访问的每一个页面
  • Google StoreBot:扫描各种网页类型,如产品详情、购物车和结账页面
  • GoogleOther:从网站获取公开可访问的内容,包括用于内部研发的一次性爬虫
  • Google-CloudVertexBot:在构建Vertex AI代理时,应网站所有者请求进行爬取
  • Google-Extended:一个独立产品令牌,用于管理网站是否帮助改进Gemini应用和Vertex AI生成API,以及未来模型

还有一组独立的机器人或特殊爬虫,包括AdSense、Google Safety等。这些机器人的行为和权限可能与普通爬虫不同。

Googlebot(用户代理)的完整列表可在官方帮助文档中找到。

其他搜索引擎也有类似的根源,比如Bing的Bingbot、Yahoo!的Slurp、百度的Baiduspider等。目前有超过500个不同的搜索引擎机器人。

示例

  • User-agent: *适用于所有现有机器人。
  • User-agent: Googlebot 适用于谷歌的机器人。
  • User-agent: Bingbot 应用于 Bing 的机器人。
  • User-agent: Slurp 适用于 Yahoo! 的 Robot。

禁止指令

Disallow 是一个关键命令,指示搜索引擎机器人不要扫描页面、文件或文件夹。你想限制访问的文件和文件夹名称会在“/”符号后标注。

例子1、 在Disallow之后指定不同的参数。

  • Disallow: /链接到页面 禁止访问特定URL。
  • Disallow: /文件夹名称/ 禁止访问该文件夹。
  • Disallow: /*.png$ 禁止访问PNG格式图片。
  • Disallow: /.在“/”符号之后未出现任何指令,表明该站点完全禁止扫描,这在网站开发过程中可能很有用。

例子2、 禁用了网站上所有.PDF文件的扫描功能。

  • User-agent: Googlebot
  • Disallow: /*.pdf$

许可指令

在robots.txt文件中,允许指令的功能与禁止相反,通过授予访问网站内容。这些命令通常一起使用,尤其是在你需要打开隐藏媒体文件目录中照片等特定信息访问权限时。

举个例子:使用允许扫描封闭相册中的一张图片。

请指定允许指令和图片URL,另一行指定Disallow指令以及文件所在的文件夹名称。线的顺序很重要,因为爬虫是从上到下处理群的。

  • Disallow: /album/
  • Allow: /album/picture1.jpg

“robots.txt允许所有”指令通常用于搜索引擎没有具体限制或不允许的情况。不过,需要注意的是,“允许:/”指令并不是robots.txt文件的必要组成部分。事实上,有些网站管理员选择完全不包含这些功能,完全依赖搜索引擎爬虫的默认行为。

允许指令并非原始robots.txt规范的一部分。这意味着并非所有机器人都支持它。虽然许多流行的爬虫如 Googlebot 认可并尊重允许指令,但也有不一定。

根据机器人排除标准,“未识别的头部被忽略”。这意味着对于不识别“允许”指令的机器人,结果可能与网站管理员预期不同。创建robots.txt文件时请记住这一点。

Sitemap指令

robots.txt 中的 sitemap 指令指示了通往 sitemap 的路径。如果网站地图有标准名称,位于根目录中,并且可以通过链接“site name”/sitemap.xml(类似于 robots.txt 文件)访问,则可以省略该指令。

示例

网站地图:https://website.com/sitemap.xml

虽然robots.txt文件主要用于控制网站扫描,但网站地图帮助搜索引擎理解内容的组织结构和层级结构。通过在robots.txt文件中包含网站地图链接,你为搜索引擎爬虫提供了轻松定位和分析网站地图的方法,从而实现更高效的爬取和索引。因此,虽然不是强制性的,但强烈建议在robots.txt文件中包含对你网站地图的引用。

评论

你可以在robots.txt文件中添加注释,解释具体指令、文档文件的变更或更新、组织不同部分,或为其他团队成员提供背景信息。注释是以“#”符号开头的行。机器人在处理文件时会忽略这些行。它们帮助你和其他团队成员理解文件,但不影响机器人读取。这里有一个来自Wizzair robots.txt文件的例子。


如果你的robots.txt文件较大且包含非标准指令,最好留言说明指令的目的。

非标准扩展

除此之外,还有一些非标准指令可用于robots.txt。

Sitemap 显示了 sitemap 文件的路径。

示例

网站地图:https://website.com/sitemap.xml

如果网站地图有标准名称,位于根目录中,并且可以通过链接“site name”/sitemap.xml访问,类似于robots.txt文件,则可省略该指令。

这是可选的指令,因为谷歌和其他搜索引擎会主动搜索网站地图,但最好还是作为最佳实践,确保他们更快找到。尤其是当你的网站有多个网站地图,如下面示例所示。


爬行延迟指的是请求页面之间的延迟。最初它是为了减轻服务器负载,但现在很少使用。谷歌爬虫不遵守这一指令,而必应、雅虎和Yandex仍然遵守。

如果发现有超载问题,可以用谷歌搜索控制台提交报告。

内容信号是Cloudflare提出的一项指令,用于指定你网站上的AI行为。它允许你允许或拒绝AI输入、AI训练和AI搜索。

User-Agent: *Content-Signal: ai-train=no, search=yes, ai-input=noAllow: /

在这个例子中,允许搜索网站,但禁止使用其内容进行训练和人工智能输入。

这是一个相对较新的指令,许多爬虫会忽略它。谷歌目前还没有官方表态。目前,除非谷歌正式采用,否则最好避免使用它。

如何创建robots.txt文件

一个精心制作的robots.txt文件是技术SEO的基础。

由于文件扩展名为.txt,任何支持 UTF-8 编码的文本编辑器都可以使用。最简单的选项是记事本(Windows)或TextEdit(Mac)。

正如我们之前提到的,大多数CMS平台也提供创建robots.txt文件的解决方案。例如,WordPress 默认创建一个虚拟robots.txt文件,可以通过在网站域名后加上“/robots.txt”来在线查看。不过,要修改这个文件,你需要自己创建版本。这可以通过插件(例如 Yoast 或一体化 SEO 包)或手动完成。

作为CMS平台的Magento和Wix也会自动生成robots.txt文件,但只包含对网络爬虫的基本指令。因此建议在这些系统内制定定制robots.txt指令,以准确优化爬行预算。

你还可以使用SE Ranking的Robots.txt生成器等工具,根据指定信息生成自定义robots.txt文件。你可以选择从零创建robots.txt文件,或者选择建议的选项之一。

如果你从零创建robots.txt文件,可以通过以下方式个性化文件:

  • 通过配置爬取权限的指令。
  • 通过路径参数指定特定的页面和文件。
  • 通过确定哪些机器人应遵守这些指令。

或者,也可以选择已有的robots.txt模板,包括广泛使用的通用和CMS指令。文件中也可以包含网站地图。该工具通过提供现成的robots.txt文件供下载,节省时间。

文档标题与大小

robots.txt文件应完全按照名称命名,不要使用大写字母。根据谷歌指南,文件大小不得超过500 KiB。超过此限制的内容将被搜索引擎忽略。

文件放置位置

robots.txt文件必须位于网站主机的根目录,并可通过FTP访问。在进行任何更改之前,建议先下载原始robots.txt文件的原始版本。

如何检查您的robots.txt文件

robots.txt文件中的错误可能导致重要页面无法出现在搜索索引中,甚至使整个网站对搜索引擎不可见。反之,本应保密的页面也可能被索引。

您可通过SE Ranking的免费robots.txt测试工具轻松检查文件。只需输入最多100个待测URL,即可验证其是否被允许爬取。

您也可在Google搜索控制台中访问robots.txt报告。操作路径为:设置 > 抓取 > robots.txt。


打开robots.txt报告会显示谷歌找到的robots.txt文件,涵盖你网站上排名前20的主机、上次检查的时间、取物状态以及发现的任何问题。如果紧急需要,你也可以利用这份报告请求谷歌快速重新抓取robots.txt文件。


常见robots.txt问题

在管理网站robots.txt文件时,有几个问题会影响搜索引擎爬虫与网站的交互。一些常见问题包括:

  • 格式不匹配:如果文件不是以.txt格式创建,爬虫无法检测和分析。
  • 错误的放置: 你的robots.txt文件应该在根目录里。例如,如果它位于子文件夹中,搜索机器人可能无法找到并访问它。
  • 在Disallow指令中误用“/”:若Disallow指令未包含任何内容,则意味着爬虫可访问网站所有页面。而包含“/”的Disallow指令则会完全禁止爬虫访问网站。建议始终仔细检查robots.txt文件,确保Disallow指令准确反映您的意图。
  • robots.txt文件中的空行:确保指令间不存在空行,否则网络爬虫可能难以解析文件。唯一允许空行的情况是在声明新User-agent之前。
  • 在robots.txt中屏蔽页面同时添加"noindex"指令:此举会产生信号冲突。搜索引擎可能无法理解意图,或直接忽略"noindex"指令。建议仅采用robots.txt屏蔽爬取或使用"noindex"阻止索引,切勿同时启用两者。

额外的工具/报告用于检查问题

有许多方法可以检查您的网站,以防可能robots.txt文件相关问题。让我们来看看最常用的。

1. 谷歌搜索控制台页面报告。

GSC的页面部分包含关于您robots.txt档案的宝贵信息。

要检查你网站的robots.txt文件是否阻止了Googlebot爬取页面,请按照以下步骤作:

访问页面部分,并导航到“未被索引”类别。


寻找标有“被robots.txt阻挡”的错误并选择它。


点击此部分将显示当前被您网站robots.txt文件阻挡的页面列表。确保这些是预定被阻挡的页面。


另外,检查一下本节是否存在以下问题:已索引,但被robots.txt阻挡。


你也可以通过将单个URL粘贴到谷歌搜索控制台的URL检查工具中的搜索框中来检查是否被索引。这有助于你发现因指令冲突或robots.txt规则配置错误导致的潜在索引问题。

2. SE Ranking网站审核

SE Ranking的网站审计工具(以及类似工具)能全面概览您的robots.txt文件,包括被文件屏蔽的页面信息。它还能帮助你检查索引和XML网站地图相关的问题。

为了获得对robots.txt文件的宝贵洞察,首先浏览该工具生成的问题报告。在分析的120多个指标中,你会在爬取部分找到“被robots.txt阻挡”参数。点击它会显示被禁止爬取的网页列表,以及问题描述和快速修复技巧。

该工具还方便识别你是否在robots.txt文件中添加了指向网站地图文件的链接。 只需在同一部分查看未在文件状态中找不到的XML网站地图robots.txt即可。


在左侧菜单的“爬取页面”标签下,你可以逐一分析每个页面的技术参数。应用筛选功能,聚焦解决最重要的页面上的关键问题。例如,应用“被robots.txt >”是“过滤器,显示所有被文件阻挡的页面。


3. SE Ranking的 Robots.txt 生成器和Robots.txt测试器

SE Ranking的Robots.txt生成器让你轻松创建文件,避免打错字干扰你的意图。要手动创建robots.txt,添加你希望允许或禁止的路径,指定该规则集应适用于哪些机器人,并添加你的网站地图。你也可以把所有图片和文件格式添加到规则中。


你可以以后给这些文件添加自定义规则。

如果你想测试你的robots.txt文件,可以使用SE Ranking Robots.txt Tester。输入你的网站,它会显示文件并检查是否有不一致之处。你也可以用它来检查网站上特定网站URL的指令。工具会显示所选用户代理是否允许使用。

SEO最佳实践

为了确保网络爬虫准确索引你网站的内容并保证其表现良好,请遵循以下SEO最佳实践:

  • 确保robots.txt中正确使用大小写:爬虫会根据大小写敏感性解释文件夹和部分名称,因此使用合适的大小写对于避免混淆并确保准确爬取和索引至关重要。
  • 每个指令从新行开始,每行只设一个参数。
  • 写指令时避免使用空格、引号或分号。
  • 使用“禁止”指令阻止特定文件夹或目录内的所有文件被爬取。这种方法比单独列出每个文件更高效。
  • 在创建robots.txt文件时,使用万用字符以获得更灵活的指令。星号(*)表示价值的任何变化,而美元符号($)则作为限制,表示URL路径的终点。
  • 为每个域名创建一个独立的robots.txt文件。这为不同网站建立了爬取指南。
  • 一定要测试robots.txt文件,确保重要网址没有被它屏蔽。


本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。

分享文章
合作伙伴

本站所有广告均是第三方投放,详情请查询本站用户协议