如果你的网站有中文、英文、日文,或者同一种语言还有不同地区版本,就需要考虑 hreflang。它告诉搜索引擎:这些 URL 是同一内容的不同语言或地区版本。

这篇讲 hreflang 怎么写,可以配合 hreflang 标签生成器 生成标签。

hreflang 解决什么问题#

假设你有两个页面:

text已剪下 ✓
https://example.com/zh/tools/heic
https://example.com/en/tools/heic

如果没有 hreflang,搜索引擎可能在英文用户面前展示中文页面,或把两个页面当成重复内容。

hreflang 可以帮助搜索引擎选择更合适的语言版本。

基本写法#

html已剪下 ✓
<link rel="alternate" hreflang="zh-CN" href="https://example.com/zh/tools/heic" />
<link rel="alternate" hreflang="en" href="https://example.com/en/tools/heic" />
<link rel="alternate" hreflang="x-default" href="https://example.com/tools/heic" />

x-default 通常用于默认语言选择页或全球默认页。

每个版本都要互相声明#

hreflang 不是只在中文页写英文页就够了。每个语言版本都应该列出完整的一组替代版本,包括自己。

也就是说,中文页、英文页都要写:

  • 中文版本。
  • 英文版本。
  • x-default。

否则搜索引擎可能认为关系不完整。

hreflang 和 canonical 不冲突#

每个语言页面的 canonical 通常应该指向自己,而不是全部指向同一个语言。

例如中文页:

html已剪下 ✓
<link rel="canonical" href="https://example.com/zh/tools/heic" />

英文页:

html已剪下 ✓
<link rel="canonical" href="https://example.com/en/tools/heic" />

如果全部 canonical 到中文页,英文页可能不被正常收录。

需要检查 canonical 时,可以配合 Canonical URL 生成器

常见错误#

  1. 语言代码写错。
  2. 只单向声明,没有互相声明。
  3. href 指向 404 或重定向链。
  4. canonical 全部指向同一语言。
  5. sitemap 和页面标签不一致。
  6. 把机器翻译低质量页面大量放出。

hreflang 不能解决内容质量问题。翻译质量差,仍然会影响用户体验。

总结#

多语言网站要让每个语言版本互相声明,并让 canonical 指向各自版本。x-default 适合默认入口,但不要滥用。

你可以用 hreflang 标签生成器 先生成标签,再检查每个 URL 是否可访问、canonical 是否一致。