Hreflang 标签生成器
根据语言代码与 URL 的配对列表,为多语言网站生成 hreflang 标签。可输出 HTML <link> 标签、XML 站点地图条目或 HTTP Link 响应头,并标记重复的语言代码、错误的语言代码和相对 URL。
输入
每行一条:先写语言代码,再写绝对 URL。可用逗号、制表符或空格分隔。
显示给语言与以上任何一项都不匹配的访问者。
如果无法编辑页面的 head(例如 PDF),请使用站点地图或响应头格式。
将 en-us 改写为 en-US,将 zh-hant 改写为 zh-Hant。语言代码不区分大小写,但规范写法更便于核对。
输出
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/hreflang-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pairs": "en-US, https://example.com/\nen-GB, https://examp…",
"xDefault": "https://example.com/",
"format": "html",
"normalize": "true"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `hreflang-generator` tool (Hreflang Tag Generator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/hreflang-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Hreflang 标签生成器 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。
| 每次 API/MCP 调用费用 | 5 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
hreflang 告诉搜索引擎两个 URL 是同一页面的不同语言版本,这样法语访问者看到的就是 /fr/,而不是英文原版。一旦出错,注释会被悄无声息地忽略——没有任何错误提示,页面只是继续相互竞争。
粘贴你的语言代码/URL 配对,本生成器会同时生成标记并审核整组内容。
使用方法
每行一个备选项,语言代码在前:
en-US, https://example.com/
en-GB, https://example.com/uk/
fr, https://example.com/fr/逗号、制表符、分号或普通空格都可以用作分隔符。对于语言与列表中任何项都不匹配的访问者,可以添加 x-default URL,并选择你实际能部署的输出格式:
- HTML
<link>标签 —— 常用选择,放入每个列出页面的<head>中。 - XML 站点地图条目 —— 一个完整的
<urlset>,包含<xhtml:link>子元素,每个语言版本对应一个<url>块。适合页面数量很多、不想让每个页面的 head 变得臃肿的情况。 - HTTP
Link:响应头 —— 非 HTML 文件的唯一选择。如果你为 PDF 提供本地化版本,就用这种方式进行标注。
保持 规范化语言代码大小写 开启,en-us 会变为 en-US,zh-hant 会变为 zh-Hant。对爬虫来说代码不区分大小写,但规范的写法更便于核对差异。
验证会检查哪些问题
注释面板会标出那些会产生看似有效却实际无效标记的错误:
- 重复的语言代码 —— 两个
en-US会使整组标记失效,而不仅仅是重复的那一项。 - 把国家代码当作语言 ——
us、cn、jp和gr不是 ISO 639-1 语言,因此这些标签会被直接忽略。 - 含义与你所想不同的代码 ——
uk是乌克兰语,而不是英国;se是北萨米语,而不是瑞典;br是布列塔尼语,而不是巴西。 - 相对 URL —— hreflang 要求使用绝对的完整 URL。
- 两个语言代码共用一个 URL —— 通常意味着某个翻译版本没有上线。
- 只有一个备选项 —— 这样无法描述任何关联关系。
需要回链吗?
需要,这也是 hreflang 不起作用的最常见原因。组内的每个 URL 都必须返回相同的整个代码块,包括指向自身的自引用标签。如果 /fr/ 列出了英文页面,但英文页面没有列出 /fr/,整个注释都会被丢弃。由于本生成器会输出一个涵盖所有备选项的完整代码块,你可以将相同的输出粘贴到组内的每个页面上。
语言和地区,哪个在前?
语言始终在前:写 en-GB,而不是 GB-en。地区是可选的——如果一个法语页面服务于所有法语国家,就只用 fr;只有在确实有独立的加拿大版本时才使用 fr-CA。
隐私
一切都在你的浏览器中运行。你的 URL 永远不会被上传或抓取——工具只读取你粘贴的列表,别无其他。
相关工具
还在搭建页面的其余 head 部分?HTML Meta 标签生成器 涵盖标题、描述和 Open Graph。要选出这些备选项应指向的唯一规范 URL,可使用 URL 规范化工具;要将站点地图输出封装为完整文件,请参阅 XML 站点地图生成器。标签部署后,使用 Hreflang 标签测试工具 抓取线上页面,确认回链确实能够解析。