国际定位报告里一批页面被标成缺少返回标签,英文页指向了中文页,中文页却没有指回来,这些页面的语言关系全部无效。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,hreflang 需要双向确认,A 声明 B 是替代版本时,B 也必须声明 A;单边声明会被判为无效,连带着同组里其他正确的声明一起被忽略掉。
「hreflang 互指」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
curl -s https://example.com/en/ | grep -o 'hreflang=[^ ]*' curl -s https://example.com/zh/ | grep -o 'hreflang=[^ ]*'
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
具体做法是,给每个语言版本补齐其余语言的 link 标签;用脚本对比两边输出的 hreflang 集合是否对称;在报告里确认返回标签错误清零后再观察几天。
最后用这个标准收尾,两边 hreflang 集合完全对称,报告里的返回标签错误归零。
