1个客户曾经问我为什么他们的荷兰游客登陆德国站点hreflang设置看起来很完整: en-US、 en-GB、 de-DE、 fr-FR、 es-ES的, 全部是互惠的, 全部是验证干净的没有荷兰语版本, 所以没有什么可指的, 我已经假设谷歌会回落到英语, 它没有回落到德语, 大概是因为荷兰语和德语共享足够的信号看起来像最接近的匹配, 一个读英语罚款的荷兰语使用者得到一个他们根本读不到的页面。
修复是一条线。一个 x-default 入口指向英语主页,荷兰流量在两周内开始降落在明智的地方。
x-default 是hreflang中最不迷人的部分,也是我现在首先添加的部分,本指南涵盖了它所做的事情,指向何处,使它变得无用的错误,以及它如何与你的其余注释并列,它坐落在下面 完整的 hreflang 指南、旁边 破坏实现的错误。
TL;博士:
x-default是hreflang值,当你的其他语言或地区条目都不匹配用户时,它命名要服务的页面它不是语言代码,不取代一个:你的英文页面仍然需要自己的en进入,与x-defaultbellight as accept-all。将其指向语言选择器或您的主要国际页面, 绝不指向重定向链或页面是noindexGoogle视之为可选;省略则表示算法为您挑选,当您 生成 hreflang 标签 在这里,没有 x 默认值的集合会发出警告。
hreflang 中的 x 默认值是什么?
x-default 是保留的hreflang值,用于为语言和区域与集合中任何其他条目不匹配的用户识别后备页,它看起来与任何其他注释完全相同:
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
谷歌 2013年引入的 专用于根据用户位置自动重定向的主页,并且定义后来扩大到涵盖任何后备。该值不是 BCP 47 语言标签,也从未是;它是 Google's 解析器识别的关键字,其他所有内容都忽略。
当您阅读验证器时,这种区别很重要。严格的语言标签验证器会告诉您 x-default 是无效的,因为作为语言标签它是。作为hreflang值它是正确的,并且有文档记录。任何拒绝它的工具都在验证错误的规范。
X-默认是否需要?
No。Hreflang在没有它的情况下工作,谷歌's文档将其列为推荐而非强制。
实际上我按照要求对待,本文顶部的原因,没有它,谷歌决定如何处理不匹配的用户,它做出的决定是不透明的,偶尔也很奇怪,有了它,你自己已经做出了决定,你可以对结果进行推理,成本是你已经在生成的块中多一个注释。
1个可以真正跳过它的案例:一个网站的语言集覆盖了它整个现实的受众,没有野心去获取它之外的访客,一个地区政府网站为一个国家提供两种官方语言,例如,即使在那里,添加它也不需要花费任何费用。
x-默认点应该在哪里?
有三个可防御的目标和一个常见错误。
| 目标 | 当它合适的时候 | 小心 |
|---|---|---|
| 语言选择器页面 | 许多局部,没有明显的默认值 | 该页面必须是可索引且有用的,而不是裸露的重定向存根 |
| 主要国际版本,通常是英文 | 一种语言主导着您的流量 | 请勿将其指向特定国家/地区的 URL,例如 /en-us/ 如果您也服务 /en-gb/ |
| 地理检测的通用根 | 您已经拥有基于 IP 的路由 | URL 必须为爬虫返回 200,而不是为区域设置返回 302 |
| 特定国家/地区的页面 | 从来没有 | 告诉谷歌你对整个无与伦比的世界的回退是一个市场's页面 |
Site root 中我的默认选择是中性英文版本,因为它是最有可能被你不服务语言的人读取的版本,语言选择器是当你有十几个locales,没有自然默认时更原则的答案,但它是更糟糕的登陆页面:它要求访问者在看到任何有价值的东西之前做工作。
无论您选择哪个,目标都必须是一个真实的、可索引的、200 状态的 URL。 An x-default 指向到达时重定向的页面仍然有效,但每跳都有机会丢失信号,而通过 IP 方式变化的重定向意味着从一个位置爬行的 Googlebot 可能永远看不到用户看到的内容。
x-default 是否会替换语言条目?
不,这是我最常纠正的误解。
x-default 是路由指令,而不是语言声明,它说"当没有什么匹配时,转到这里。"它没有说"这个页面是英语。"所以你指向它的页面仍然需要在同一组中拥有自己的语言条目。一个具有英语、德语和后备的站点的完整块看起来像这样:
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
注意 https://example.com/ 出现两次,一次为 en 一次作为 x-default。那是正确的,也是预期的。同一个网址既是"英文版"又是"无与伦比的用户去哪里",而谷歌需要陈述的两个事实。
有的集合 x-default 指向根部,但没有 en entry for it 细微的打破:说英语的人没有显式匹配,所以是经过后备路径而不是语言路径路由的,通常还是可以的,还是错的。
X-默认如何与互惠相互作用?
其他每个条目都一样。全套, x-default 包括在内,出现在组中的每个页面上。
因此,德语页面带有上面所示的相同块,包括 x-default line指向英文词根,第一次写感觉很奇怪,因为你在一个本身就是备选之一的页面上声明了一个后备,那就是设计:集合中的每个页面都承载着整个地图,这样任何一个页面google抓取都会先给它完整的图片。
实践中中断的地方是模板。团队通过区域设置地图的循环渲染语言条目,然后进行附加 x-default 为特例,而且特例在一个模板上被遗忘,一页少一个条目就足以让那个页面's set与其兄弟姐妹不一致,全部从一个来源生成, x-default 包括在内,bug 的类别消失了。 下一个。js 指南 和 WordPress 指南 两者都显示了回路,后备件折叠起来而不是用螺栓固定。
我可以在主页以外的页面上使用 x 默认值吗?
是的,你应该。 2013 年的公告围绕主页进行了框架,这就是为什么许多较旧的建议称其仅限主页,但该机制适用于任何一组备用版本。
Deep页面,回退应该是等价的deep页面而不是首页,如果你的定价页面存在英语、德语、法语,the x-default for that set是你的英文定价页面,而不是你的英文主页,从定价查询发送一个无与伦比的用户到主页是一种更糟糕的体验和更糟糕的转换路径,它使注释的准确性低于它可能。
例外的是一个真正存在于一个市场的页面,如果一个合规页面单独适用于德国,它没有替代品,不需要hreflang集,因此不需要 x-default。
多个 x 默认条目怎么样?
每套一个。一套有两个 x-default 指向不同 URL 的条目是一个矛盾,Google'处理矛盾是丢弃而不是猜测。
Hreflang从两个来源组装的网站上,这种情况发生的频率比您预期的要高:一个插件发出一个块,一个手写模板发出另一个块,页面最终会出现两者。当站点地图携带hreflang用于已经有HTML标签的相同URL时,也会发生这种情况 hreflang 生成器 捕获集合内的重复代码,包括重复的代码 x-default(block),但它在页面上看不到其他东西发出的第二个块,查看源代码并计数。
如何验证 x 默认值是否有效?
没有直接报告,这是它被忽视的部分原因。三项检查确实有效:
看看渲染的 HTML,而不是模板。 curl 页面和 grep 为 x-default。如果你的框架条或重新排序头部标签,或者插件注入竞争块,这就是你发现的地方。
检查目标是否解决。 拿来 x-default URL,有爬虫用户代理,没有cookie,如果你可以的话,从你自己的国家/地区以外。你检查的是200而不是重定向,并且Googlebot会看到相同的内容。
查看查询,而不是排名。 Search Console 中,过滤你没有明确瞄准的国家/地区的性能,看看他们落在哪个页面上,如果没有匹配的国家/地区到达你提名的页面,则注释正在执行其工作,如果他们到达随机区域设置,要么标签丢失,要么页面上的其他内容与之相矛盾。
搜索控制台's 国际目标报告将显示涉及的返回标签错误 x-default entry 与其他所有内容一起,因为它是倒数集合的一部分,就像任何其他行一样。
常见的 x 默认错误
列表,按照我遇到的顺序:
- 没有一个。 的默认失败。无与伦比的用户得到谷歌猜测的任何东西。
- 将其指向特定国家的 URL。
/en-us/正如全球回退告诉谷歌的那样,您的全球默认值是美国商店、价格等。 - 将其指向重定向。 尤其是基于 IP 的页面,这意味着 Googlebot 和您的用户会看到不同的页面。
- 使用它而不是语言条目。 后备网址仍然需要自己的
en或de线。 - 其中两个。 通常插件和模板都会发出 hreflang。
- 仅在主页上。 深度页面也有替代页面,它们应该得到与其深度相匹配的后备。
- 指向a
noindex页。 您已经发布了您告诉 Google 忽略的目的地的广告。
这些每一个都是沉默的。没有什么错误,没有什么警告,来自你不服务的市场的流量悄悄地流向了错误的地方。这就是生成块而不是手动维护块的论据,也是读取渲染输出而不是信任模板的论据 hreflang 错误指南 涵盖家庭的其他成员,以及 hreflang 工具指南 从头开始构建经过验证的集合。
常见问题
hreflang中的x默认是什么意思?
x-default hreflang集合中的其他语言或区域条目都不与用户匹配时,命名搜索引擎应该服务的页面,它是一种后备路由指令,而不是语言代码。
X-默认是强制性的吗?
No。Google推荐但hreflang没有它就工作,没有x-默认,Google选择哪个版本来显示无与伦比的用户,而那个选择不是你控制或容易观察到的。
x-默认点应该在哪里?
To 语言选择器页面或您的主要国际版本,通常是站点 root 处的英文版本。避免将其指向特定国家/地区的 URL、重定向或标记为 noindex 的页面。
X默认页面还需要自己的语言标签吗?
是如果你的英文主页是x-默认目标,那么该集合仍然需要一个 en entry指向同一个url。同一个url合法出现两次,一次作为语言,一次作为后备。
我可以有多个 x 默认值吗?
No。1 每 hreflang 集。两个条目指向不同的 URL 是矛盾的,通常意味着页面上的两个系统都在发出 hreflang 块。
X-默认可以在主页以外的页面上使用吗?
是。任何一组备份都可以有后备,对于深页,后备应该是等效的深页而不是主页。
X-default是否需要出现在集合中的每个页面上?
Yes。是倒数块的一部分,因此包括x-默认行的相同集合在组中的每个页面上进行。
如何检查 x 默认值是否有效?
获取渲染的 HTML 并准确确认存在一个 x 默认条目,验证其目标返回 200 而无需重定向,然后使用搜索控制台's 性能报告来查看来自非目标国家的访问者正在登陆哪个页面。



