阅读提示
本文约 1,010 字,预计阅读 3 分钟。文中命令与配置均经过实测,可直接参考执行。
本文约 1,010 字,预计阅读 3 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:加了 hreflang 还是被当成重复
hreflang 最易错在”只单向”或”漏自引用”。Google 要求:若 A 链 B,则 B 也必须链 A(双向);每页要包含自己(自引用);并设 x-default 兜底。缺一都可能误判。
原理分析:三条铁律
- 双向:A 的 hreflang 含 B,B 也必须含 A。单向 Google 忽略。
- 自引用:每页的 hreflang 列表要含自己那行。
- x-default:指向默认语言/区域中立页,给未匹配用户兜底。
语言代码用标准(zh-hans、en、de),区域可加(en-us)。
保姆级实操
完整一组(在每语言页都输出同样的块):
<link rel="alternate" hreflang="x-default" href="https://mimangfei.com/">
<link rel="alternate" hreflang="zh-hans" href="https://mimangfei.com/">
<link rel="alternate" hreflang="en" href="https://mimangfei.com/en/">
<link rel="alternate" hreflang="de" href="https://mimangfei.com/de/">
WPML/Polylang 自动生成;用”检查 hreflang”工具验证双向。
常见坑
- 单向标注,Google 不认。
- 漏 x-default,未匹配区域无兜底。
- 案例:某站只 A→B 没 B→A,Google 当重复内容,英文排不进。补全双向后正常。
- 语言代码写错(如 zh 非 zh-hans),匹配失败。
- canonical 与 hreflang 冲突(见下篇)。
总结
判断标准:每页双向+自引用+x-default,语言代码标准。行动清单:输出完整块 → 验双向 → 加 x-default → 工具检查。详见hreflang 常见错误与验证工具。
觉得有用?点个赞支持一下
标签:
# alternate
# alternate 标签
# hreflang
# hreflang 双向
# hreflang 实现
# x-default
# 双向
# 多语言信号
# 自引用
