很多人把“上线前核对抓取与索引配置”理解成装一个SEO插件、把开关全部打开。这个理解容易出错:插件状态正常,不等于搜索引擎一定能抓到你真正想让它抓的页面。核对的对象不是插件,而是页面实际输出的HTML、HTTP响应和站点级规则之间是否一致。正确的起点是先确认“哪些URL应该被收录”,再逐层检查这些URL在抓取、解析、索引三个环节有没有被挡住。
没有清单就无法核对,因为抓取配置的合理性取决于页面类型。把站点URL按用途分组,通常至少区分:需要收录的内容页、不需要收录的筛选与排序页、必须放行的静态资源、以及登录后或参数生成的页面。对每一组写下期望结果,例如“产品详情页允许抓取并允许索引”“站内搜索结果页禁止索引”。这份清单是后面所有判断的依据,缺了它就只能凭感觉开关选项。
robots.txt 控制的是抓取,不是索引。搜索引擎可能通过外部链接、历史记录或其他来源知道某个URL存在,即使被 Disallow 挡住,仍可能把它列入索引,只是无法读取内容来生成摘要。反过来,允许抓取也不等于会被收录,还要看页面是否返回正常状态、是否有可索引的信号。
因此核对时要分清两层:抓取层看 robots.txt 和服务器是否放行;索引层看页面本身是否给出禁止索引的信号。两层配置方向相反时,最容易出现“不想收录的页面被收录、想收录的页面进不去”的结果。
以下步骤不依赖特定CMS,任何建站方式都能做。建议在正式对外前,用测试环境或临时域名先跑一遍。
/robots.txt,确认它没有误伤整站,例如 Disallow: /。逐条对照你的URL清单,判断目标页面是否落在禁止规则内。200,而不是 301 链过长、302 临时跳转或 404。<meta name="robots"> 和响应头里的 X-Robots-Tag。两者都可能出现 noindex,只要有一处生效,页面通常就不会被正常索引。如果站点有多个语言或地区版本,还要确认各版本之间的对应关系是否清晰,避免互相竞争同一批查询。
核对结论要结合页面类型,不能一刀切。内容页出现 noindex 通常是配置错误;而订单完成页、后台页面、搜索结果页出现 noindex 往往是有意为之。robots.txt 里禁止抓取某个目录,如果该目录下全是无需收录的资源,这是合理的;如果里面混着需要收录的内容页,就会造成损失。
另一个条件是环境差异。测试环境常被整体设置为禁止索引,上线后如果沿用同一套配置,正式站点也会被挡住。切换域名或环境时,重新检查一遍 robots.txt、noindex 和规范链接,比假设“配置会跟着走”更可靠。
把核对结果整理成一张按URL分组的小表:期望结果、实际抓取状态、实际索引信号、处理动作。发现不一致时先改配置,再重新抓取验证,而不是先提交站点地图。上线后如果怀疑某个页面没被收录,回到这张表逐项比对,比反复猜测更有效。