mcpField
S
seo-hreflang

seo-hreflang

github.com/infrasity-labs营销与增长15090 次安装18 周前更新
代码仓库

关于 seo-hreflang

seo-hreflang 是用于多语言和多地区网站的 hreflang 验证与生成技能,也涵盖文化适配和内容一致性检查。

主要功能

  1. 01验证 hreflang 标签及双向链接
  2. 02生成 HTML、HTTP 标头和站点地图
  3. 03检查语言、地区代码及规范 URL
  4. 04审查文化适配与内容一致性
  5. 05验证本地格式

适用场景

  1. 01查找缺失或无效的 hreflang 关系
  2. 02为新网站生成 hreflang 标记
  3. 03比较不同语言版本的页面内容
  4. 04检查本地化内容与格式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill seo-hreflang

安装后在 Claude Code 中输入/seo-hreflang确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
content-parity.md
cultural-profiles.md
locale-formats.md
machine-translation-qa.md

详细介绍

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 标签
  • 必需:指定语言或地区不匹配时使用的备用页面
  • 通常指向语言选择页面或英文版本
  • 每组替代页面只能有一个 x-default
  • 所有其他语言版本也必须包含指向它的返回标签
4. 语言代码验证
  • 必须使用 ISO 639-1 双字母代码(例如,en、fr、de、ja)
  • 常见错误:
    • 使用 eng 而不是 en(这是 ISO 639-2 代码,不适用于 hreflang)
    • 使用 jp 而不是 ja(日语代码错误)
    • 使用未指定地区的 zh(含义不明确;请使用 zh-Hans 或 zh-Hant)
5. 地区代码验证
  • 可选的地区限定符使用 ISO 3166-1 Alpha-2 代码(例如,en-US、en-GB、pt-BR)
  • 格式:language-REGION(语言代码小写,地区代码大写)
  • 常见错误:
    • 使用 en-uk 而不是 en-GB(UK 不是有效的 ISO 3166-1 代码)
    • 使用 es-LA(拉丁美洲不是一个国家;请使用具体国家代码)
    • 地区代码前未指定语言代码
6. 规范 URL 对齐
  • hreflang 标签只能出现在规范 URL 上
  • 如果页面的 rel=canonical 指向其他位置,该页面上的 hreflang 将被忽略
  • 规范 URL 必须与 hreflang URL 完全一致(包括末尾斜杠)
  • 非规范页面不应包含在任何 hreflang 集合中
7. 协议一致性
  • hreflang 集合中的所有 URL 必须使用相同协议(HTTPS 或 HTTP)
  • hreflang 集合中混用 HTTP/HTTPS 会导致验证失败
  • 迁移到 HTTPS 后,请将所有 hreflang 标签更新为 HTTPS
8. 跨域支持
  • hreflang 支持不同域名之间的关联(例如,example.com 和 example.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 代码
hreflang 位于非规范 URL 上高仅将 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 link 标签小型网站(<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

输出

Hreflang 验证报告
摘要
  • 扫描的页面总数:XX
  • 检测到的语言变体:XX
  • 发现的问题:XX(严重:X,高:X,中:X,低:X)
验证结果
语言URL自引用返回标签x-default状态
en-UShttps://...✅✅✅✅
frhttps://...❌⚠️✅❌
dehttps://...✅❌✅❌
生成的 Hreflang 标签
  • HTML <link> 标签(如果选择 HTML 方法)
  • HTTP 标头值(如果选择标头方法)
  • hreflang-sitemap.xml(如果选择站点地图方法)
建议
  • 添加缺失的实现
  • 修正错误的代码
  • 方法迁移建议(例如,为了扩展规模,从 HTML 迁移到站点地图)

文化适配评估

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

加载 references/cultural-profiles.md,使用预先构建的文化档案(DACH、法语区、西语区、日本)。

评估步骤:

  1. 识别所有语言版本及其目标市场
  2. 加载相关文化档案
  3. 检查 CTA 是否符合文化习惯(直接或间接)
  4. 检查信任信号是否符合当地情况(认证、法律页面)
  5. 检查本地化页面中是否提及外国品牌
  6. 检查数字、日期和货币格式的一致性
  7. 将文化适配问题标记为中等严重程度

**输出:**每个语言版本的文化适配评分(0-100),并列出具体发现。

内容对齐审计

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

审计网站所有语言版本或本地内容目录之间的内容对齐情况。

加载 references/content-parity.md,查看完整的对齐矩阵和评分方法。

检查内容:

  • 所有声明语言的页面是否存在
  • 章节结构是否等效(H2/H3 数量)
  • SEO 元素是否对齐(标题、元信息、本地化 schema)
  • 字数比例验证(DE 应比 EN 长 25-35%,JA 应比 EN 短 10-25%)
  • 时效性跟踪(通过时间戳检测过时翻译)
  • 文化标记扫描(外国品牌、错误的法律引用、未翻译元素)

**输出:**对齐矩阵表,包含各页面评分和按优先级排列的待办事项。

区域格式验证

根据需要加载 references/locale-formats.md,查阅各区域的数字、日期、货币、地址和电话格式参考表。

检查项:

  • 数字格式是否一致(例如,de-DE 页面应将 "1,000.00" 写作 "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 中的 Default Profile 检查清单。说明评估基于通用指南,而非预先构建的档案。
内容对等性目录为空报告未找到内容文件。建议检查目录路径,或提供 URL 以分析在线网站。

评论

支持 Markdown