要判断一个网址为什么没有被索引,检查前最该准备的不是“感觉”,而是可复核的证据:目标 URL 的准确形式、robots.txt 与页面级抓取限制、canonical 与站点地图中的声明、页面返回状态与内容特征、以及你观察到的具体现象和时间。把这些信息按同一时间点固定下来,后续排查才能区分“抓取被挡”“抓取到但未收录”“收录后被替换”这几类完全不同的问题。
先确定你要查的是哪个地址。同一篇文章可能有 http 与 https、带 www 与不带 www、带参数与不带参数等多个版本,它们可能返回不同结果。
抓取限制是排查索引问题的第一道门。需要把 robots.txt 的规则和页面内的 meta 指令分开看,因为二者作用不同。
Disallow 命中该路径;页面 <head> 里是否有 noindex;HTTP 响应头中是否有 X-Robots-Tag: noindex。https://你的域名/robots.txt,按 User-agent 分组逐条比对路径前缀;页面级指令用浏览器“查看网页源代码”搜索 noindex;响应头用命令行 curl -I 目标URL 查看。Disallow 主要阻止抓取,不等于可靠的索引移除——被阻止抓取的页面仍可能因外部链接被收录,只是内容可能过时;而 noindex 才是明确的“不要索引”信号,但如果页面同时被 robots.txt 阻止抓取,爬虫读不到这个 noindex,效果会互相抵消。这些信息决定搜索引擎“认为哪个 URL 才是正主”,是判断收录归属的关键证据。
rel="canonical";打开 /sitemap.xml 搜索目标 URL;用 site:你的域名 关键词 观察实际被展示的版本。同一现象可能有多个解释,先把技术状态和内容质量分开记录。
curl -I 看状态码与 Location;浏览器无痕模式打开看是否被重定向或拦截;对比标题与正文主题是否匹配。把上面几项写成固定格式,例如:URL、发现日期、robots 是否命中、meta 是否 noindex、canonical 指向、状态码、是否在站点地图、是否有内链、你观察到的搜索结果现象。假设某页面 curl -I 返回 200、无 noindex、canonical 指向自身、在站点地图中,但搜索 site: 查不到,那么更可能是抓取或质量评估阶段的问题,而不是被指令明确拒绝。反之,若 robots.txt 命中且返回 200,应先修正抓取限制,再看索引是否变化。
下一步:挑一个最典型的未索引 URL,按上述清单逐项填写,标出唯一无法解释的那一项,再针对它做最小改动并记录改动日期,便于后续对比。