英文站有 en-US、en-GB、en-AU 三个版本,上线时 hreflang 只写了 en,GSC 的多语言报告里三个英文页互相被判重复,英国站的排名两周内全部掉出前十。

真正麻烦的地方在于,几个原因的现象几乎一样。hreflang 用 en 这种语言码代替 en-GB,Google 无法区分地区版本。另一种情况是三个页面正文只有货币符号不同,被判定为近似重复内容。

另外,en 版本缺自我引用,整组标签在解析时被直接丢弃。

上来先把三个版本的实际响应逐条拉出来对比

curl -sI https://www.example.com/en-gb/ | head -8

接着检查页面里输出的 hreflang 是否成对

curl -s https://www.example.com/en-gb/ | grep -o 'hreflang=[^ >]*' | sort | uniq -c

补上地区码和自我引用后复查三组地址

for p in en-us en-gb en-au; do curl -s -o /dev/null -w "$p %{http_code}\n" https://www.example.com/$p/; done

恢复的判定其实很直接。重新抓取后多语言报告里三个地址合成一组,英国站的曝光量在十天内回到原来的七成,重复网页提示同步消失。

提醒一点。语言码写到地区一级就够,en-GB 和 en-AU 的差异要在正文里体现,否则标签写对了也照样被判重复。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。

作者 9823189