报错是这么冒出来的。站点根路径是一个语言选择页,列出四个语言入口,被 Google 收录后在中文品牌词上排第一,真正的首页反而没有排名。试过在 robots 里加 Disallow: /,两周后这条结果还在。
中间走过弯路,把「robots 只阻止抓取,已经进入索引的 URL 不会因此删除」当成主因,改完现象没变。
真正麻烦的地方在于,几个原因的现象几乎一样。选择页返回 200 且有可索引正文,天然会被当成正常落地页。少数情况下是页面没有 hreflang,蜘蛛不知道它只是入口而不是内容页。
不容易想到的是,导航和外部引用大量指向根路径,等于持续给它投票。
动手时先确认根路径的状态码与正文
curl -sI https://www.example.com/ | head -5
再往下把根路径按语言跳转
location = / { if ($http_accept_language ~* 'zh') { return 302 /zh/; } return 302 /en/; }
保留选择页并加 noindex
add_header X-Robots-Tag "noindex" always;
末了在网址移除里清掉旧结果
https://search.google.com/search-console/removals
怎么算真的好了,看的是同一批现象。根路径稳定返回 302 到对应语言版本,选择页从品牌词结果里消失,两个语言首页的点击各自恢复。
别用 JS 做语言跳转,蜘蛛执行脚本的时间点不确定,容易先索引到选择页再跳走,信号会乱。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
