TranslatePress 中的重复 hreflang 标签:该修复什么

SEO 审计报告了重复的 hreflang 标签。你检查页面,发现有两个法语条目。应该删掉其中一个吗?
先比较确切的语言代码和目标地址。重复的 fr-BE 条目如果指向两个不同的网址,就需要排查。而 fr 条目和 fr-BE 条目指向同一个合适的法语页面,则可能是有效的。
修复方式取决于你遇到的是冗余输出、互相冲突的目标,还是页面之间的错误对应。TranslatePress 的地区设置可以解释一部分看似重复的条目;其他情况则需要检查某个集成或自定义的标注来源。
本指南说明哪些该保留、哪些该修正,以及 LingoWP 如何让每个页面的语言目标保持一致。
由 LingoWP 发布。外部文档核对于 2026 年 10 月 6 日。关于 LingoWP 的说明基于其 1.5 版的开发评测。
三种看起来像重复 hreflang 的情况
hreflang 用来标明页面的语言或地区对应版本。代码和目标地址是一起起作用的:如果只数“法语”条目而不同时检查两者,可能会做出错误的修正。
| 同一页面上的条目 | 实际情况 | 合适的下一步 |
|---|---|---|
fr-BE → /fr/contact/,完全相同地重复出现 |
冗余输出 | 找出同一条目出现两次的原因,并清理重复 |
fr-BE → /fr/contact/ 和 fr-BE → /fr/contactez-nous/ |
同一代码对应两个竞争目标 | 确定预期的当前网址,并修正冲突的条目 |
fr → /fr/contact/ 和 fr-BE → /fr/contact/ |
通用定位与地区定位 | 确认两者都是有意为之;不要仅因网址重复就删除其中一个 |
以上是示意例子,并不是新复现的 TranslatePress 缺陷。
Screaming Frog 的 Multiple Entries 检查会找出同一语言或地区代码的多个条目,也可能发现多种实现方式,例如 HTML 标签和 HTTP 标头同时存在。在判断问题所在之前,请先看警告的详细内容。查看该工具的说明。
为什么 TranslatePress 会同时显示 fr 和 fr-BE
fr 面向不限地区的法语,fr-BE 表示比利时法语。它们是两个不同的代码。
Google 允许通用语言目标使用该语言的某个地区页面。因此,共用一个网址并不会自动让通用条目和地区条目失效。阅读 Google 关于本地化页面的指南。
TranslatePress 的 Remove duplicate hreflang 设置提供国家格式、与地区无关的格式或两者兼有。它的文档说明默认会同时显示两种格式。
你可以在设置 → TranslatePress → 高级 → 杂项中找到这个选项。它的名称很容易被误解:它控制的是语言条目的格式,并不意味着同时使用通用定位和地区定位是缺陷。查看官方的高级设置文档。
选择与你的目标受众相符的格式。保留有意义的定位,而不是一味追求最少的标签数量。
当同一代码指向不同网址时
更重要的问题是:一个页面为完全相同的代码声明了两个互相竞争的目标。
例如,一个 fr-BE 条目可能指向可用的翻译页面,而另一个则使用旧的或未翻译的别名。在删除任何内容之前,先确定哪个目标才代表预期的法语对应页面。
在一次涉及 The Events Calendar 的 TranslatePress 支持讨论中,有用户报告某些活动页面上有两个 fr-BE 条目:一个使用翻译后的别名,另一个使用无法访问的未翻译别名。技术支持在检查示例时未能复现该重复,并要求提供更多证据。
这次讨论说明了需要排查的症状,但并不能确定每个安装中的原因,也不能证明每个版本都存在持续的缺陷。阅读报告和回复。
如何诊断和修复重复的 hreflang 标签
1. 检查单个页面的实际条目
打开一个受影响的页面,选择查看网页源代码,搜索 hreflang。记录每个相关代码及其完整的目标网址。
除了审计检查过的页面,也要在未登录状态下检查公开页面。比较对等的网址,不要把原始页面和编辑器预览混在一起。
判断警告涉及的是:
- 同一代码和同一网址在页面 HTML 中重复出现。
- 同一代码指向不同目标。
- 不同的地区代码和通用代码共用一个目标。
- 通过多种方式检测到的标注。
不同语言页面之间出现重复引用是正常的。每个页面都会描述它的对应页面,这与同一页面声明中存在互相冲突的条目是两回事。
2. 确认正确的目标和页面用途
打开每个竞争网址,检查它的最终地址、响应、语言和内容。一个能成功加载的网址,仍可能是错误的对应页面。
一篇文章的法语版本应当代表那篇文章本身。标签归档页应指向对应的标签归档页,而不是某篇单独的文章或无关的主题。
举例说明:
| 原始页面 | 合适的对应页面 | 需要排查的对应关系 |
|---|---|---|
| 联系页面 | 目标语言的联系页面 | 首页 |
| 关于旅行的文章 | 该文章的译文 | “旅行”标签归档页 |
| “旅行”标签归档页 | 对应的“旅行”标签归档页 | 无关的分类 |
对于归档页,请比较主题和页面用途。仅凭翻译后的标签名称,并不能证明网址指向了正确的归档页。
如果某个目标发生重定向或返回 404,请先确定正确的可用地址,再调整语言集合。不要仅仅因为另一个页面也引用了某个失效目标就保留它。hreflang 指向重定向和 hreflang 指向 404 页面的指南介绍了这些检查。
3. 找出生成多余条目的来源
TranslatePress 可能不是唯一提供语言标注的组件。请检查会明确生成 hreflang 的集成、自定义代码片段、主题页眉的自定义内容,以及以前多语言配置留下的残余。
在测试副本上,比较停用某个可疑标注来源前后的输出。如果停用后多余条目消失了,你就找到了一条有用的线索。在把这个改动应用到线上网站之前,请确认剩下的条目完整且正确。
如果某个组件提供了关闭其 hreflang 输出的设置,就使用该设置。否则,请询问它的技术支持团队或开发者,如何在不删除无关 SEO 功能的情况下停止冗余输出。
目标是避免多个独立组件为同一页面发布互相冲突的语言目标。
4. 检查地区设置和自定义代码映射
如果条目只是 fr 和 fr-BE,请对照你的预期定位检查 TranslatePress 的格式设置。你可以决定两者都保留。
如果两个条目使用完全相同的代码,请检查是否有自定义的语言代码映射。把同一代码分配给不同已配置版本的自定义,即使每个网址本身都有效,也可能造成冲突。
TranslatePress 文档介绍了用于修改输出代码的 trp_hreflang 过滤器。如果你的开发者用过它,请让他们结合当前设置检查映射关系。仅仅为了在标准地区格式之间做选择,你不需要引入自定义代码。查看开发者文档。
5. 修正错误的别名或归档页对应关系
当某个条目使用了错误的页面地址时,请修正生成该目标的设置或集成。
TranslatePress 付费的 SEO Pack 支持翻译页面、术语、分类法和内容类型的别名。请检查相关的别名类别,而不要把路径中的每个词都当作页面名称。它的文档说明了支持的别名类型。
翻译后的归档基础路径本身并不一定有错,但它必须与你的配置实际支持的路由相匹配。把预期的归档页与一个可用地址进行比较;如果两者不一致,就排查定义该路由的插件。
联系技术支持时,请同时给出两个条目和正确的目标:
在这个页面上,两个 fr-BE 条目指向不同的地址。这一个是可用的译文,另一个指向旧别名。附上页面网址、两个条目以及我已启用插件的版本。
这比只报告“hreflang 重复了”更便于处理。
6. 修正后检查整组语言
修改生成设置后,清除相关缓存,然后再次检查公开输出。
请确认:
- 在所选实现方式中,每个确切的语言或地区代码都有一个明确的预期目标。
- 保留下来的通用条目和地区条目都是有意为之。
- 目标能在正确的当前地址打开。
- 各页面代表对等的内容或对应主题的归档页。
- 各语言版本包含预期的返回链接。
TranslatePress 自己的 hreflang 验证指南说明了如何检查目标和返回链接。请在受影响的页面类型上重新运行审计,必要时包括归档页或活动页面。
如果你同时使用 HTML 和站点地图标注,还要确认两者的语言目标一致。允许同时使用多种方式,但这并不能免去保持输出一致的工作。请参阅 hreflang 与站点地图网址不一致时的处理方法。
LingoWP 如何保持语言对应关系一致
对网站所有者来说,有用的结果很明确:每个页面都应该在每种已发布语言中标明正确的对应页面,而不需要维护互相竞争的地址列表。
LingoWP 的开发评测描述了为每种已发布语言生成一个条目,外加一个 x-default 条目。它报告的测试会检查各语言版本是否列出预期的集合并互相链接。
评测还描述了在测试案例中保留固定的标签和分类路由基础路径。其目的是通过受支持的路由链接到正确的对应页面或归档页。
你在 LingoWP 的中央工作区中管理译文,而插件根据当前的页面信息生成语言对应关系。当反复修正标注已成为日常维护的一部分时,这是一项值得评估的实用功能。LingoWP 与 TranslatePress 对比一文介绍了更全面的差异。
**优势在于目标和页面对应关系可预测。**标签少并不一定更好:TranslatePress 的通用条目和地区条目可以是有效的,而 x-default 是一个可选的回退标注,正如它的验证文档所指出的。
关于 LingoWP 的结论仅针对评测的 1.5 版本及其报告的测试。外部插件或自定义代码仍可能添加互相竞争的标注。切换之前,请在网站副本上验证你实际的归档页、活动或其他集成。
了解 LingoWP,看看它的翻译工作区,并评估它的做法是否适合你的网站。
常见问题
我应该删除所有重复的 hreflang 网址吗?
不应该。不同但有效的语言或地区代码可能有意使用同一个目标。在删除任何内容之前,请先检查代码和每个条目的用途。
“Remove duplicate hreflang” 能修复两个互相冲突的 fr-BE 网址吗?
这个设置选择的是国家格式、通用格式或两者兼有。它可能会改变显示哪些条目,但来自其他集成或自定义的冲突地址仍需从源头修正。之后请检查实际输出。
网址能打开,就足以证明对应关系正确吗?
不足以。请确认它包含预期语言的对应内容。一个能打开的标签归档页,并不会自动成为一篇能打开的文章的对应页面。