跳到主要内容
返回文章列表

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

作者:Amine Sayagh

分类故障排查

日期


两个 fr-BE 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 网址吗?

这个设置选择的是国家格式、通用格式或两者兼有。它可能会改变显示哪些条目,但来自其他集成或自定义的冲突地址仍需从源头修正。之后请检查实际输出。

网址能打开,就足以证明对应关系正确吗?

不足以。请确认它包含预期语言的对应内容。一个能打开的标签归档页,并不会自动成为一篇能打开的文章的对应页面。