读懂 SEO 报告

Search Console 显示 Noindex:如何找到来源并检查正确的网址

找到 noindex 指令的来源,并在 Search Console 中重新检查网址。

你希望一个页面出现在 Google 搜索中,Search Console 却报告它因 noindex 规则而被排除。改变全站设置之前,先确认具体网址和指令来源。模板、HTTP 响应头或遗留在某个页面上的测试环境设置,各自可能需要不同的修复方式。

本文针对的是你希望 Google 收录的公开页面。登录页、私人文档或测试环境可能本来就不应出现在搜索结果中。noindex 是索引指令,不是访问控制:如果信息必须保密,请使用身份验证。

从 Search Console 中的网址开始

复制报告里的完整地址,包括协议、路径、结尾斜杠和查询字符串,再在 Search Console 中检查这个网址。已编入索引的结果反映 Google 之前抓取并保存的信息;实时测试则获取当前页面,结果可能不同。修改前记下抓取日期及两种视图分别显示的内容。

如果实时测试仍报告 noindex,接下来要找到这条指令。如果实时测试不再报告它,较早的索引结果仍可能反映上一次抓取。这不能证明页面已经被收录,也不能证明 Google 已处理这次变更。

Google 的网址检查文档解释了索引结果与实时测试的区别,以及各自能和不能判断的事项。

检查 HTML 和响应头

对于 HTML 页面,查看网页源代码并搜索 noindex。其中一种指令是:

<meta name="robots" content="noindex">

googlebot 元标签也可以包含这条指令。检查实际页面,而不只检查你认为负责该页面的模板:CMS 设置、插件或部署配置都可能添加标签。如果页面通过 JavaScript 更改元数据,除了初始响应,也要检查渲染后的结果。

指令也可能来自 HTTP 的 X-Robots-Tag 响应头。在浏览器开发者工具中打开 Network,重新加载页面并选择文档请求,然后在响应头里查找 X-Robots-Tag。如果地址发生重定向,分别检查每个响应:发起重定向的网址和最终目标是不同的网址。修复位置可能在托管规则或应用响应中,而非页面编辑器。

Google 的机器人元标签与响应头文档介绍了针对特定爬虫的规则和包含 noindex 的 none 值。HTML 元标签没有问题,也不能据此排除响应头中存在指令。

单独检查抓取是否受阻

打开网站的 robots.txt,检查相关 Google 爬虫能否抓取页面。阻止抓取与 noindex 的作用不同:Google 必须能访问页面或资源,才能看到其中的 noindex 指令;被 robots.txt 阻止的网址仍可能依据链接或其他信息出现在搜索结果中。Google 也不支持在 robots.txt 中使用 noindex 作为索引规则。参见 Google 的 noindex 指南。

不要仅为了让一份报告变绿就取消全站抓取限制。先弄清限制为何存在,以及这个网址是否本应公开。在 Search Console 实时测试中检查抓取是否真的成功;登录要求、服务器错误或其他访问问题需要分别排查。

在产生指令的位置修改,然后复查

对于应当收录的页面,在产生非预期 noindex 的层级移除它。例如,如果发布设置只控制一篇文章,就修改该设置;如果共享模板为每个公开页面设置标签或响应头,改变前先确认模板原本应覆盖的范围。继续保护私人内容和测试环境。

再次获取同一个网址,检查 HTML 和响应头,然后运行 Search Console 实时测试。如果实时结果不再显示该规则,而且页面已准备好供搜索使用,可以在网址检查工具中请求编入索引。实时测试成功或提交请求都不保证收录;Google 会在自行处理后更新已保存的索引结果,也可能因为其他原因选择不收录页面。

如果受影响的是首页,注册后可以使用 SEOHabit 进行首次首页检查。检查响应,并使用 Search Console 实时测试核对具体的 noindex 问题。SEOHabit 不会替你修改页面;网站所有者或开发者需要在维护网站的环境中完成修改和验证。

记下网址、观察到的标签或响应头、修改发生的位置以及实时测试日期。等 Search Console 的已保存结果再次变化时,你就有具体记录可以对照。