识别配置互相冲突,核心方法是把影响抓取和索引的几层设置分别列出来,再逐层比对同一URL得到的结论是否一致。如果robots.txt、页面meta、HTTP响应头和站点地图对同一个地址给出矛盾指令,就说明存在冲突。判断依据不是某一项设置单独写了什么,而是Googlebot实际抓取时收到的完整信号。
Google搜索收录涉及多个控制点,常见的有以下几层:
robots.txt:控制抓取,不直接控制索引。<meta name="robots">:控制索引与链接跟随。X-Robots-Tag:作用与meta类似,但对非HTML资源也有效。冲突的典型表现是:站点地图提交了某URL,但robots.txt禁止抓取;或者页面允许索引,canonical却指向另一个不允许索引的地址。此时不能只看其中一项,要把同一URL在各层的实际取值并列记录。
按下面顺序操作,可以直接定位矛盾点:
https://站点域名/robots.txt,确认该URL路径是否被Disallow覆盖。X-Robots-Tag。判断规则很直接:如果robots.txt禁止抓取,Googlebot可能不会读取页面上的meta或canonical,后两者写了什么都不能作为收录依据。如果响应头写noindex而meta写index,两者冲突,需要以更严格或更明确的一方为准并统一。canonical指向的地址若本身被noindex,等于把首选版本指向了不打算收录的页面。
看到页面未被收录,不能直接断定是配置冲突。可能原因还包括内容质量、重复页面、抓取预算分配、外部链接不足等。只有当你已经拿到同一URL在各层的实际取值,并确认它们互相矛盾时,才能说“已定位为配置冲突”。
例如,假设某商品页在站点地图中,robots.txt未禁止,但响应头返回X-Robots-Tag: noindex,同时页面meta写index,follow。这里的冲突是响应头与meta不一致。处理时应统一为同一意图,而不是保留两个相反指令。
处理冲突时遵循一个原则:让抓取、索引、规范化三层指向同一个结论。具体做法包括:
noindex,canonical指向自身或正确的首选版本。noindex,而不是只依赖robots.txt。robots.txt的抓取限制不等于可靠的索引移除。修改后复查同一URL:重新抓取响应头,确认状态码为200且无冲突指令;确认canonical指向的地址可抓取且允许索引;确认站点地图中的URL与最终规范化地址一致。复查周期取决于抓取频率,不承诺固定见效时间。
下一步,选一个你怀疑存在冲突的具体URL,按上面的表格逐层记录robots.txt、响应头、meta和canonical的实际值,先找出矛盾项,再决定统一到哪个方向。