seo-hreflang

seo-hreflang

热门

Hreflang 和国际 SEO 审计、验证与生成。检测常见错误,验证语言/地区代码,并生成正确的 hreflang 实现。当用户提到“hreflang”、“i18n SEO”、“国际 SEO”、“多语言”、“多地区”或“语言标签”时使用。

1.2万Star
1752Fork
更新于 2026/7/20
SKILL.md
readonly只读
name
seo-hreflang
description

Hreflang 和国际 SEO 审计、验证与生成。检测常见错误,验证语言/地区代码,并生成正确的 hreflang 实现。当用户提到“hreflang”、“i18n SEO”、“国际 SEO”、“多语言”、“多地区”或“语言标签”时使用。

Hreflang 与国际 SEO

验证现有的 hreflang 实现,或为多语言和多地区网站生成正确的 hreflang 标签。支持 HTML、HTTP 标头和 XML 站点地图实现。

验证检查

1. 自引用标签

  • 每个页面必须包含指向自身的 hreflang 标签
  • 自引用 URL 必须与页面的规范 URL 完全匹配
  • 缺少自引用标签会导致 Google 忽略整个 hreflang 集合

2. 返回标签

  • 如果页面 A 使用 hreflang 链接到页面 B,则页面 B 必须链接回页面 A
  • 每个 hreflang 关系必须是双向的(A→B 和 B→A)
  • 缺少返回标签会使两个页面的 hreflang 信号失效
  • 检查所有语言版本是否相互引用(全网格)

3. x-default 标签

  • 当存在选择器/备用 URL 时推荐使用:指定未匹配语言/地区的备用页面
  • 通常指向语言选择器页面或英文版本
  • 每组替代项只能有一个 x-default
  • 还必须从所有其他语言版本获得返回标签

4. 语言代码验证

  • 必须使用 ISO 639-1 双字母代码(例如 enfrdeja
  • 可选的 ISO 15924 文字子标签是文档化的官方机制,用于指定文字:zh-Hant(繁体)/ zh-Hans(简体)。文字可以与地区组合,例如 zh-Hans-US 是有效的(语言+文字+地区)。
  • 常见错误:
    • eng 代替 en(ISO 639-2,对 hreflang 无效)
    • jp 代替 ja(日语的错误代码)
    • zh 有效,但对于特定文字的页面有歧义;当针对特定文字时,优先使用 zh-Hanszh-Hant

5. 地区代码验证

  • 可选地区限定符使用 ISO 3166-1 Alpha-2(例如 en-USen-GBpt-BR
  • 格式:language-REGION(小写语言,大写地区)
  • 单独的国家代码无效,不能在没有语言的情况下指定地区(Google 自己的错误示例是 be,它实际上是白俄罗斯语的语言代码,而不是比利时)。
  • 常见错误:
    • en-uk 代替 en-GB(UK 不是有效的 ISO 3166-1 地区代码)
    • EU / UN 作为地区(不是有效的 ISO 3166-1 值)
    • es-LA(拉丁美洲不是一个国家;请使用具体国家)
    • 没有语言前缀的地区

5b. 地理定位信号层级

  • 实用的区域信号启发式:ccTLD > hreflang 注释 > 服务器位置/IP > 地址/语言/货币/商家信息。不要将其呈现为已确认的 Google 排名顺序。hreflang 是一个提示,而非指令。Google 忽略位置元标签和 HTML 地理定位属性。
  • Search Console 的国际定位报告和手动国家定位设置已于 2022 年移除不要推荐在 GSC 中设置国家定位;hreflang 是剩下的杠杆。

6. 规范 URL 对齐

  • Hreflang 标签只能出现在规范 URL 上
  • 如果页面有指向其他位置的 rel=canonical,则该页面上的 hreflang 将被忽略
  • 规范 URL 和 hreflang URL 必须完全匹配(包括尾部斜杠)
  • 非规范页面不应出现在任何 hreflang 集合中

7. 协议一致性

  • 同一 hreflang 集合中的所有 URL 必须使用相同的协议(HTTPS 或 HTTP)
  • 混合 HTTP/HTTPS 的 hreflang 集合会导致验证失败
  • HTTPS 迁移后,更新所有 hreflang 标签为 HTTPS

8. 跨域支持

  • Hreflang 可以跨不同域工作(例如 example.comexample.de
  • 跨域 hreflang 需要在两个域上都有返回标签
  • 使用 Google Search Console 验证进行监控,或在需要时提交跨站点地图
  • 对于跨域设置,推荐使用基于站点地图的实现

常见错误

问题 严重性 修复
缺少自引用标签 严重 添加指向同一页面 URL 的 hreflang
缺少返回标签(A→B 但无 B→A) 严重 在所有替代项上添加匹配的返回标签
需要备用行为时缺少 x-default 中等 添加指向备用/选择器页面的 x-default
无效的语言代码(例如 eng 使用 ISO 639-1 双字母代码
无效的地区代码(例如 en-uk 使用 ISO 3166-1 Alpha-2 代码
非规范 URL 上的 hreflang 仅将 hreflang 移至规范 URL
URL 中 HTTP/HTTPS 不匹配 中等 将所有 URL 标准化为 HTTPS
尾部斜杠不一致 中等 精确匹配规范 URL 格式
HTML 和站点地图中同时存在 hreflang 选择一种方法(大型网站推荐使用站点地图)
需要时语言不带地区 为地理定位内容添加地区限定符

实现方法

方法 1:HTML 链接标签

最适合:每个页面语言/地区变体少于 50 个的网站。

<link rel="alternate" hreflang="en-US" href="https://example.com/page" />
<link rel="alternate" hreflang="en-GB" href="https://example.co.uk/page" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />

放置在 <head> 部分。每个页面必须包含所有替代项,包括自身。

方法 2:HTTP 标头

最适合:非 HTML 文件(PDF、文档)。

Link: <https://example.com/page>; rel="alternate"; hreflang="en-US",
      <https://example.com/fr/page>; rel="alternate"; hreflang="fr",
      <https://example.com/page>; rel="alternate"; hreflang="x-default"

通过服务器配置或 CDN 规则设置。

方法 3:XML 站点地图(推荐用于大型网站)

最适合:具有多种语言变体、跨域设置或 50 个以上页面的网站。

请参阅下面的 Hreflang 站点地图生成部分。

方法比较

方法 最适合 优点 缺点
HTML 链接标签 小型网站(<50 个变体) 易于实现,在源代码中可见 使 <head> 臃肿,大规模维护困难
HTTP 标头 非 HTML 文件 适用于 PDF、图片 服务器配置复杂,在 HTML 中不可见
XML 站点地图 大型网站、跨域 可扩展,集中管理 在页面上不可见,需要维护站点地图

Hreflang 生成

流程

  1. 检测语言:扫描网站的语言指示器(URL 路径、子域名、顶级域、HTML lang 属性)
  2. 映射页面等价物:匹配跨语言/地区的对应页面
  3. 验证语言代码:对照 ISO 639-1 和 ISO 3166-1 验证所有代码
  4. 生成标签:为每个页面创建 hreflang 标签,包括自引用
  5. 验证返回标签:确认所有关系是双向的
  6. 添加 x-default:为每个页面集合设置备用
  7. 输出:生成实现代码(HTML、HTTP 标头或站点地图 XML)

Hreflang 站点地图生成

带 Hreflang 的站点地图

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/page</loc>
    <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/page" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
    <xhtml:link rel="alternate" hreflang="de" href="https://example.de/page" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page" />
  </url>
  <url>
    <loc>https://example.com/fr/page</loc>
    <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/page" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
    <xhtml:link rel="alternate" hreflang="de" href="https://example.de/page" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page" />
  </url>
</urlset>

关键规则:

  • 包含 xmlns:xhtml 命名空间声明
  • 每个 <url> 条目必须包含所有语言替代项(包括自身)
  • 每个替代项必须作为单独的 <url> 条目出现,并带有自己的完整集合
  • 在以下条件之一时拆分:每个站点地图文件 50,000 个 URL 或 50MB 未压缩

输出

Hreflang 验证报告

摘要
  • 扫描的总页面数:XX
  • 检测到的语言变体:XX
  • 发现的问题:XX(严重:X,高:X,中等:X,低:X)
验证结果
语言 URL 自引用 返回标签 x-default 状态
en-US https://...
fr https://... ⚠️
de https://...

生成的 Hreflang 标签

  • HTML <link> 标签(如果选择了 HTML 方法)
  • HTTP 标头值(如果选择了标头方法)
  • hreflang-sitemap.xml(如果选择了站点地图方法)

建议

  • 需要添加的缺失实现
  • 需要修复的错误代码
  • 方法迁移建议(例如,从 HTML 迁移到站点地图以扩展规模)

文化适应性评估

分析多语言网站时,除了技术性的 hreflang 验证外,还要评估内容是否针对每个目标市场进行了文化适应。

加载 references/cultural-profiles.md 获取预构建的配置文件(DACH、法语区、西班牙语区、日语)。

评估步骤:

  1. 识别所有语言版本及其目标市场
  2. 加载相关的文化配置文件
  3. 检查 CTA 是否符合文化期望(直接 vs 间接)
  4. 检查信任信号是否适合区域(认证、法律页面)
  5. 检查本地化页面上是否有外国品牌引用
  6. 检查数字/日期/货币格式的一致性
  7. 将文化适应问题标记为中等严重性

输出: 每个语言版本的文化适应性评分(0-100),附带具体发现。

内容一致性审计

命令: /seo hreflang audit <directory-or-url>

审计网站或本地内容目录的所有语言版本的内容一致性。

加载 references/content-parity.md 获取完整的一致性矩阵和评分方法。

检查内容:

  • 所有声明语言中的页面存在性
  • 章节结构等价性(H2/H3 数量)
  • SEO 元素一致性(标题、元描述、Schema 本地化)
  • 字数比例验证(德语应比英语长 25-35%,日语应短 10-25%)
  • 新鲜度跟踪(通过时间戳检测过时的翻译)
  • 文化标记扫描(外国品牌、错误的法律引用、未翻译的元素)

输出: 一致性矩阵表格,包含每页评分和优先处理事项。

区域格式验证

加载 references/locale-formats.md 获取每个区域的数字、日期、货币、地址和电话格式参考表。

检查内容:

  • 数字格式一致性(例如,"1,000.00" 在 de-DE 页面上应为 "1.000,00")
  • 日期格式符合区域期望
  • 货币符号和位置正确对应目标市场
  • 电话号码使用国际格式,并带有正确的国家代码

参考文件

根据需要按需加载(不要在启动时全部加载):

  • references/cultural-profiles.md:DACH、法语区、西班牙语区、日语的文化适应配置文件
  • references/locale-formats.md:每个区域的数字、日期、货币、地址、电话格式表
  • references/content-parity.md:内容一致性审计方法和评分

错误处理

场景 操作
URL 不可达(DNS 失败、连接被拒绝) 清晰报告错误。不要猜测网站结构。建议用户验证 URL 并重试。
未找到 hreflang 标签 报告缺失。检查其他国际化信号(子目录、子域名、ccTLD),并推荐适当的 hreflang 实现方法。
检测到无效的语言/地区代码 列出每个无效代码及其正确替换。提供一组已修正的 hreflang 标签,可直接实施。
语言的文化配置文件不可用 使用 cultural-profiles.md 中的默认配置文件清单。注意评估基于通用指南,而非预构建的配置文件。
内容一致性目录为空 报告未找到内容文件。建议验证目录路径或提供 URL 进行实时网站分析。