“Indexed, though blocked by robots.txt”可能不只是 robots.txt 屏蔽
多数情况下,这只是你在 robots.txt 中禁止抓取所导致的简单问题。但还有其他情形会触发这一警告,可按下面的流程排查并修复。
“Indexed, though blocked by robots.txt”(已被编入索引,但被 robots.txt 屏蔽)这条提示告诉你:Google 已经把你通过网站 robots.txt 文件禁止抓取的 URL 编入了索引。

可以看到,第一步是问自己:你是否希望 Google 将这个 URL 编入索引。
如果你不希望该 URL 被编入索引……
只需添加 noindex 元机器人标签(meta robots tag),并确保允许抓取——前提是它属于规范页(canonical)。
禁止某个页面被抓取后,Google 仍可能将其编入索引,因为抓取与索引是两回事。除非 Google 能抓取该页面,否则它看不到 noindex 元标签,还可能因为页面含有链接而仍将其编入索引。
如果该 URL 会规范化指向另一个页面,就不要添加 noindex 元机器人标签。只需确保正确的规范化信号到位,包括在规范页上放置规范标签,并允许抓取,以便信号正确传递和合并。
如果你确实希望该 URL 被编入索引……
你需要弄清 Google 为什么无法抓取该 URL,并移除相应的屏蔽。
最可能的原因是 robots.txt 中的抓取屏蔽。不过还有其他情形也可能触发“被屏蔽”提示。以下按大致排查顺序逐一说明。
检查 robots.txt 中是否存在抓取屏蔽
排查该问题最简单的方法是用 GSC 中的 robots.txt 测试工具,它会把屏蔽规则标记出来。
如果你知道自己要找什么,或者无权访问 GSC,可以访问 domain.com/robots.txt 找到该文件。我们的robots.txt 文章中有更多信息,你要找的大概是一条类似这样的 disallow 声明:
其中可能指定了某个具体的 user-agent,也可能对所有人屏蔽。如果你的网站是新站或刚刚上线,你要找的可能就是这一条:
如何在 WordPress 中修复“Indexed, though blocked by robots.txt”
你需要删除引发屏蔽的 disallow 声明。具体做法因你使用的技术而异。
如果问题影响到整个网站,最可能的原因是你在 WordPress 中勾选了一个禁止索引的设置。这个错误在新建网站和完成网站迁移后很常见。按以下步骤检查:
- 点击“设置”
- 点击“阅读”
- 确保“搜索引擎可见性”未被勾选。

如果你在使用 Yoast SEO 插件,可以直接编辑 robots.txt 文件来删除屏蔽语句。
- 点击“Yoast SEO”
- 点击“工具”
- 点击“文件编辑器”
与 Yoast 类似,Rank Math 也允许你直接编辑 robots.txt 文件。
- 点击“Rank Math”
- 点击“常规设置”
- 点击“编辑 robots.txt”
如果你拥有网站的 FTP 访问权限,可以直接编辑 robots.txt 文件来删除引发问题的 disallow 声明。你的主机服务商也可能提供文件管理器,让你直接访问 robots.txt 文件。
检查是否存在间歇性屏蔽
间歇性问题更难以排查,因为引发屏蔽的条件未必一直存在。
我建议查看 robots.txt 文件的历史记录。例如,在 GSC 的 robots.txt 测试工具中,点击下拉菜单,你就能看到该文件过去的版本,点开即可查看当时的内容。

archive.org 上的 Wayback Machine 也保存了它所抓取网站 robots.txt 文件的历史记录。你可以点击它有数据的任意日期,查看该文件在当天的内容。

或者使用“变更(Changes)”报告的测试版,它能让你轻松查看两个不同版本之间的内容变化。

如何修复间歇性屏蔽
修复间歇性屏蔽的方法取决于引发问题的原因。例如,一种可能是测试环境和线上环境共用了缓存。测试环境的缓存生效时,robots.txt 文件可能包含一条屏蔽指令;线上环境的缓存生效时,网站又是可抓取的。这种情况下,你需要拆分缓存,或者在测试环境中把 .txt 文件排除在缓存之外。
检查是否存在 user-agent 屏蔽
user-agent 屏蔽指网站屏蔽某个特定的 user-agent,例如 Googlebot 或 AhrefsBot。也就是说,网站检测到某个特定的机器人,并屏蔽了对应的 user-agent。
如果你在常用浏览器中能正常查看某个页面,但更换 user-agent 后却被屏蔽,那就说明你输入的特定 user-agent 被屏蔽了。
你可以使用 Chrome 开发者工具指定特定的 user agent。另一个选择是使用浏览器扩展来更换 user agent,比如这个。
你也可以用 cURL 命令来检查 user-agent 屏蔽。以下是在 Windows 上的做法:
- 按 Windows+R 打开“运行”框。
- 输入“cmd”,然后点击“确定”。
- 输入一条像这样的 cURL 命令:
如何修复 user-agent 屏蔽
这同样取决于你在哪里发现了屏蔽。许多不同的系统都可能屏蔽机器人,包括 .htaccess、服务器配置、防火墙、CDN,甚至可能是你无法看到、由主机服务商掌控的东西。最好的办法也许是联系你的主机服务商或 CDN,询问屏蔽来自何处、如何解决。
例如,下面是在 .htaccess 中屏蔽某个 user agent 的两种不同写法,你可能需要留意。
或者……
检查是否存在 IP 屏蔽
如果你已确认没有被 robots.txt 屏蔽,也排除了 user-agent 屏蔽,那么很可能就是 IP 屏蔽了。
如何修复 IP 屏蔽
IP 屏蔽是很难排查的问题。与 user-agent 屏蔽一样,最好的办法也许是联系你的主机服务商或 CDN,询问屏蔽来自何处、如何解决。
下面是你在 .htaccess 中可能需要查找的一个示例:
[['Text', 'deny from 123.123.123.123']]
结语
多数情况下,“indexed, though blocked by robots.txt”这条警告都由 robots.txt 屏蔽引起。如果你的情况并非如此,希望本指南能帮你定位并解决问题。
有疑问?在 Twitter 上告诉我。