跳到主要内容

SEO Spider 中的 Robots.txt 测试

2024-02-12

查看被 robots.txt 阻止的 URL、disallow 行,并使用自定义 robots.txt 彻底且大规模地检查和验证网站的 robots.txt。


如何使用 SEO Spider 测试 Robots.txt

robots.txt 文件用于向机器人发出指令,告知它们可以在网站上抓取哪些 URL。所有主要的搜索引擎机器人都符合 robots 排除标准,并且在从网站获取任何其他 URL 之前,都会读取并遵守 robots.txt 文件的指令。

可以设置命令以根据其用户代理(例如“Googlebot”)应用于特定机器人,并且 robots.txt 中最常用的指令是“disallow”,它告诉机器人不要访问 URL 路径。

robots.txt 禁止

您可以在浏览器中查看网站的 robots.txt,只需将 /robots.txt 添加到子域的末尾(例如 www.screamingfrog.co.uk/robots.txt)。

虽然 robots.txt 文件通常很容易解释,但当存在大量行、用户代理、指令和数千个页面时,可能难以识别哪些 URL 被阻止,以及哪些 URL 允许被抓取。显然,错误阻止 URL 的后果可能会对搜索结果中的可见性产生巨大影响。

这就是像 Screaming Frog SEO Spider 软件这样的 robots.txt 测试工具及其自定义 robots.txt 功能可以帮助彻底且大规模地检查和验证网站的 robots.txt 的地方。

robots.txt 测试工具

首先,您需要下载 SEO Spider,它以精简版形式免费提供,可抓取多达 500 个 URL。更高级的自定义 robots.txt 功能需要许可证

您可以按照以下步骤测试已上线的网站的 robots.txt。如果您想测试尚未上线的 robots.txt 指令或单个机器人命令的语法,请阅读我们指南的第 3 节中有关自定义 robots.txt 功能的更多信息。

1) 抓取 URL 或网站

打开 SEO Spider,在“输入要抓取的 URL”框中键入或复制您要抓取的网站,然后点击“开始”。

抓取网站

如果您想测试多个 URL 或 XML 站点地图,您可以简单地在列表模式(在顶级导航栏中的“模式 > 列表”下)中上传它们。

robots.txt 测试列表

2) 查看“响应代码”选项卡和“被 Robots.txt 阻止”过滤器

被禁止的 URL 将在“被 Robots.txt 阻止”过滤器下显示为“状态”为“被 Robots.txt 阻止”。

被 robots.txt 禁止的 URL

“被 Robots.txt 阻止”过滤器还显示“匹配的 Robots.txt 行”列,该列提供 robots.txt 条目的行号和禁止路径,该条目排除了抓取中的每个 URL。

可以通过点击“入站链接”选项卡来查看链接到 robots.txt 中禁止的 URL 的源页面,该选项卡会填充下部窗口窗格。

链接到被 robots.txt 阻止的页面

以下是下部窗口窗格的更详细视图,其中详细说明了“入站链接”数据 -

链接到被 robots.txt 阻止的 URL 的入站链接

它们也可以通过“批量导出 > 响应代码 > 被 Robots.txt 阻止的入站链接”报告批量导出。

批量导出被 robots.txt 阻止的源 URL

3) 使用自定义 Robots.txt 进行测试

拥有许可证后,您还可以使用“配置 > robots.txt > 自定义”下的自定义 robots.txt 功能下载、编辑和测试网站的 robots.txt。

该功能允许您在子域级别添加多个 robots.txt,在 SEO Spider 中测试指令,并立即查看被阻止或允许的 URL。

自定义 robots.txt 测试

您还可以执行抓取并根据更新后的自定义 robots.txt 过滤被阻止的 URL(“响应代码 > 被 robots.txt 阻止”),并查看匹配的 robots.txt 指令行。

被 robots.txt 阻止

自定义 robots.txt 使用配置中选择的用户代理,可以对其进行调整以测试和验证任何搜索机器人。

请注意 - 您在 SEO Spider 中对 robots.txt 所做的更改不会影响您上传到服务器的实时 robots.txt。但是,当您对测试感到满意时,您可以将内容复制到实时环境中。

SEO Spider 如何遵守 Robots.txt

Screaming Frog SEO Spider 以与 Google 相同的方式遵守 robots.txt。它将检查子域的 robots.txt,并遵循专门针对“Screaming Frog SEO Spider”用户代理的指令(允许/禁止),如果不是 Googlebot,则遵循所有机器人的指令。

在 robots.txt 中禁止的 URL 仍将显示并在用户界面中“索引”,状态为“被 Robots.txt 阻止”,它们只是不会被抓取,因此看不到页面的内容和出站链接。可以在 robots.txt 设置中关闭在用户界面中显示被 robots.txt 阻止的内部或外部链接。

重要的是要记住,如果内部或外部链接到在 robots.txt 中阻止的 URL,则它们仍然可以在搜索引擎中被索引。robots.txt 仅阻止搜索引擎查看页面的内容。“noindex”meta 标签(或 X-Robots-Tag)是从索引中删除内容的更好选择。

该工具还支持文件值的 URL 匹配(通配符 * / $),就像 Googlebot 一样。

常见的 Robots.txt 示例

“User-agent”命令旁边的星号(User-agent: *)表示指令适用于所有机器人,而特定的 User-agent 机器人也可以用于特定命令(例如 User-agent: Googlebot)。

如果命令同时用于所有用户代理和特定用户代理,则“所有”命令将被特定用户代理机器人忽略,并且仅遵守其自己的指令。如果您希望遵守全局指令,则还必须在特定 User-agent 部分下包含这些行。

以下是一些 robots.txt 中使用的常见指令示例。

阻止所有机器人访问所有 URL

User-agent: * Disallow: /

阻止所有机器人访问文件夹

User-agent: * Disallow: /folder/

阻止所有机器人访问 URL

User-agent: * Disallow: /a-specific-url.html

阻止 Googlebot 访问所有 URL

User-agent: Googlebot Disallow: /

阻止和允许命令一起使用

User-agent: Googlebot Disallow: / Allow: /crawl-this/

如果您有冲突的指令(即,允许和禁止访问同一文件路径),则当匹配的允许指令在命令中包含相等或更多的字符时,匹配的允许指令会胜过匹配的禁止指令。

Robots.txt URL 通配符匹配

Google 和 Bing 允许在 robots.txt 中使用通配符。例如,阻止所有抓取工具访问包含问号 (?) 的所有 URL。

User-agent: * Disallow: /*?

您可以使用美元 ($) 字符来匹配 URL 的结尾。例如,阻止所有抓取工具访问 .html 文件扩展名。

User-agent: * Disallow: /*.html$

您可以在 Google 的 robots.txt 规范 指南中阅读有关基于路径值的 URL 匹配的更多信息。

更多支持

如果您对如何在 Screaming Frog SEO Spider 中使用 robots.txt 测试器有任何疑问,请与我们的支持团队联系。