🌐 hreflang 标签生成器
选择基础 URL 与目标语言批量生成 <link rel="alternate" hreflang="..."> 标签。自动 x-default、ISO 639 校验、CSV 多路径批量。
完全免费
无需注册
浏览器内完成
5 种语言
深色模式
🔒 关于隐私
- ・URL 不会发送到服务器
- ・浏览器内处理
- ・无需注册、登录或付款
逗号分隔。ISO 639-1 或 + ISO 3166-1。
上面的语言设置应用到每个 URL。
📄 生成的标签
📖 常见的坑
根据基础 URL 与所支持的语言,生成 <link rel="alternate" hreflang="…"> 标签,支持路径前缀、子域名、查询参数三种 URL 模式,可自动附加 x-default,并支持通过 CSV 批量生成。处理全部在浏览器内完成。hreflang 并不是提升排名的因素——它只是声明「同一内容的其他语言版本在这里」,并帮助搜索引擎选择呈现哪一版。
| 情形 | 会发生什么 | 怎么处理 |
|---|---|---|
| 因为不是相互引用,整组被忽略 | hreflang 只有在整组页面彼此互指时才成立——日文版指向了英文版,但英文版没有指回日文版,Google 就会把整组丢弃。更容易被忽略的是,每个页面还需要一条指向自身的 hreflang:日文页面里也要有一条 hreflang="ja" 指向它自己。实务中最常见的失败,是只更新了一个页面而忘了其他语言版——「新增一个语言,就得更新既有全部页面的标签」这一运维负担,正是这套机制本质上的难点。 |
请把生成的这组标签原封不动地放进所有语言版的 <head>——各页面之间内容无需变化。就实现而言,在页面模板里遍历语言列表输出,是唯一靠谱的做法;手写迟早会在某处走样。大型站点可以考虑写在 sitemap.xml 而非 HTML 里——<xhtml:link> 能表达同样的信息,而且全部页面集中在一个文件里,漏更新在结构上就不可能发生。验证请看 Search Console 的「国际定位」报告,确认是否真的被识别——若提示「缺少返回标签」,那正是相互引用缺失。 |
| 语言代码写法不对 | 该值是「语言」或「语言 + 地区」,不能只写地区——hreflang="US" 是无效的。常见错误包括:en-UK(正确写法是 en-GB)、只写 zh 却指望它区分简繁、用下划线的 ja_JP(必须用连字符)。中文尤其需要留意:简体与繁体要用文字体系代码 zh-Hans / zh-Hant 来区分;zh-CN / zh-TW 也可用,但它们是地区代码,无法匹配新加坡或马来西亚使用简体的读者。 |
语言代码用 ISO 639-1,地区代码用 ISO 3166-1 alpha-2,分隔符是连字符。更重要的是,先想清楚是否真的需要加地区:hreflang="en" 匹配所有英语使用者,而 hreflang="en-US" 只匹配身在美国的英语使用者。若内容与价格并不因国家而异,不加地区反而覆盖更广。加地区应仅限于货币、运费、法规确实因国而异的页面。验证用免费的 hreflang 检查工具最为可靠,但请先把两个语言版本的 HTML 并排放着,用眼睛确认它们是否互指——多数错误在这一步就能发现。 |
| canonical 与之矛盾,导致英文版没被收录 | hreflang 与 canonical 职责不同,却极易被混为一谈。每个语言版本的 canonical 都必须指向自身。把 /en/about/ 的 canonical 设成 /ja/about/,就等于声明「英文页是日文页的副本,只索引日文页」——英文页会从搜索结果中消失。而且 hreflang 也会一并被忽略,因为 canonical 指向别处的一组页面不被信任。「都做多语言了,总该规范化一下吧」这种出于好意的设置,恰恰产生了完全相反的结果,是典型案例。 |
每个语言版本的 canonical 都必须指向它自己。hreflang 负责传达「存在其他语言版本」,canonical 负责传达「本页自己就是规范版本」——两者并存才能正确工作。canonical 应当仅用于同一语言内部的 URL 重复:结尾斜杠的有无、带跟踪参数的 URL、打印版页面等。实现之后,请在 Search Console 的网址检查中确认「Google 选择的规范网址」——若它与你的意图不符,那就是设置没有传达到位的确凿证据。 |
加了 hreflang,并不保证所有语言版本都会被收录。翻译单薄、或直接放出机器翻译的页面,无论有没有 hreflang 都会在质量评估上被刷下来——本站自己就在 2026 年 7 月下线了葡萄牙语与德语版本,原因正是它们实为英文页的副本,没有自身价值,并用 301 重定向整合了 576 个 URL。在增加语言版本之前,请先确认「这些内容用该语言读是否值得」——堆砌大量单薄的翻译,对整站评价而言反而是负债。声明位置有三处:HTML 的 <link>、HTTP 响应头、sitemap.xml,任选其一即可;同时使用也无妨,但若内容互相矛盾则会被整体忽略。对于 PDF 这类没有 <head> 的文件,请使用 HTTP 的 Link: 头。
📖 使用方法
-
1
输入基础 URL输入要本地化的 URL。
-
2
指定语言逗号分隔目标语言代码。
-
3
获取标签将标签粘贴到 <head>。
❓ 常见问题
x-default 必须吗?
非强制但 Google 推荐,作为 fallback。
hreflang 写在哪里?
HTML 、HTTP 头或 sitemap。
双向链接必须吗?
是的。必须双向声明。
🔗 相关工具
🐛 此工具出现问题了吗?
免费、无需注册。仅提供复现步骤也有帮助。报告将直接发送给运营者并用于改进。
✅
感谢您的反馈!
已送达运营者,将用于改进工具。