hreflang里236条地区声明,背后只有6个真页面

hreflang里236条地区声明,背后只有6个真页面
张文保 79 分钟阅读 1,883 阅读
本文目录
  1. Google Ads删掉的那一栏,本来就是你自己填的
  2. 删的到底是什么
  3. 用什么替代
  4. 有一条后果值得单独拎出来
  5. 接口那一层是硬删
  6. 公告里那句“不需要做任何操作”该怎么读
  7. 那个勾选框以前到底管什么
  8. 为什么是现在
  9. 为什么偏偏是语言这一栏被收回?
  10. 因为它是少数几个平台能自己看出来的
  11. 哪些字段不会被收回
  12. 一个反例:地区定位为什么不会被删
  13. 为什么被拿走的总是最容易做对的那一栏
  14. 同一条逻辑在自然搜索侧早就跑过一遍
  15. 大多数人真正想问的是:流量会不会掉
  16. 还能用什么手段收窄
  17. 网站这边的同一个字段,填得怎么样?
  18. 样本和量法
  19. 先看结论:97.8% 的站填了,只有1个填错
  20. 这个数字说明什么
  21. 那32个判不出语言的站是怎么回事
  22. 另外两个说明语言的字段,几乎没人用
  23. 唯一那个填错的站,错法很有代表性
  24. 从这个案例能推出一条通用做法
  25. 抓取地点暴露了一件声明层管不到的事
  26. 那hreflang呢,为什么只有一半的站做了?
  27. 做了的只有53.7%
  28. 没做的那一半,多半不是不知道
  29. 两处自称的粒度是倒着的
  30. 语言48种,地区248个
  31. 声明条数的分布,两头差得离谱
  32. 默认项的覆盖率意外地高
  33. 怎么判断一条跨语言声明合不合理
  34. 但真正的判据其实更简单
  35. hreflang里的“语言”,到底是不是语言?
  36. 79.6% 的英语声明,指向的不是英语国家
  37. 标签的名字骗了很多人
  38. 用英语覆盖非英语市场,本身没错
  39. 反过来看,非英语的声明有多少
  40. 地区榜第一名不是美国
  41. 瑞士这个例子值得单独看
  42. 加拿大那68次也有故事
  43. 236条地区声明,背后有几个真页面?
  44. 把声明条数和实际地址数放在一起数
  45. 最极端的那几个
  46. 重复指向的三种成因
  47. 这对搜索引擎意味着什么
  48. 对AI搜索这一侧的影响可能更大
  49. 一个可以立刻验证的做法
  50. 把这个比值做成一个体检指标
  51. 更细的一个切法
  52. 这份数据的局限,得说在前面
  53. 如果你要复现
  54. 换个角度:这份声明到底给谁省了事
  55. 顺带回答一个很常见的疑问
  56. 把国家码当语言码写,会怎么样?
  57. 七个不认识的码
  58. 为什么写错了没人发现
  59. 还有一类错更隐蔽:码是对的,指向是反的
  60. 顺手能查的两个地方
  61. 还有几个似是而非的写法
  62. 大小写和分隔符的写法
  63. 广告那边删掉之后,你该盯什么?
  64. 三个监控点
  65. 有一类账户要提前动手
  66. 广告和自然搜索的语言口径要对齐
  67. 顺带说一句反向的机会
  68. 9月之前值得跑一遍的清单
  69. 一个容易踩的坑
  70. 网站这边现在该改什么?
  71. 先把可核验的那一半做对
  72. 地区声明要有对应的东西
  73. 模板层怎么改才不会反复出问题
  74. 顺手提一句自动翻译版本
  75. 三件不值得做的事
  76. 怎么说服团队去做这件删减
  77. 改的优先级怎么排
  78. 一个真实的取舍
  79. 这条规律还会在哪些字段上重演?
  80. 判据只有一句话
  81. 下一批候选
  82. 怎么提前认出下一个要被收回的字段
  83. 对做国际站的人的一个提醒
  84. 这条判据在别的平台上一样成立
  85. 顺带一个反向的用法
  86. 只做一个语言版本的站,反而最容易做对
  87. 三种情形,三种做法
  88. 只有一个版本时,别做的三件事
  89. 默认项到底该指哪
  90. 一个可以立刻做的自查
  91. 几个常被问到的边界情况
  92. 最后回到那个236比6
  93. 把这套方法搬去检查别的声明
  94. 最后一句
  95. 常见问题解答
  96. Google Ads删掉语言定位,我需要重建广告系列吗?
  97. 页面顶部那个语言属性和hreflang是一回事吗?
  98. 把两百多个国家都声明一遍,会不会有好处?
  99. 用英语版本覆盖德国、日本这些非英语市场,算不算错?
  100. 语言码写错了,会有提示吗?
  101. 只有一个语言版本的站需要做hreflang吗?
  102. 默认项应该指向哪个页面?
  103. 权威参考资料

摘要:73个做了hreflang的品牌站,一共声明了2469条语言地区组合,可这些声明指向的地址去重之后少得可怜——有一家写了236条,背后只有6个不同的地址。同一批站里,另一个也用来说明语言的字段,97.8% 都填了,而且只有1个站填得与正文对不上。同一件事的两半,命运差这么远,原因只有一个。

9月下旬开始,Google Ads的搜索广告系列里那个语言定位的下拉框就要消失了。这条消息在投放圈里没掀起多大波澜,多数人的反应是“反正我一直选的是全部语言”。

但这件事值得停下来看一眼,因为它删掉的不是一个功能,是一个由广告主自己填、平台无法核实的分类字段。取而代之的做法是:平台自己读广告素材写的是什么语言、落地页写的是什么语言,再结合它对这个用户能看懂哪些语言的判断,自行决定投不投。

换句话说,平台不再问你,它自己看。

这个动作在网站这一侧有一个对应物,就是hreflang。同样是宣告“这一页是给谁看的”,同样由你自己填,同样没人当场验证。那么问题来了:如果哪天搜索侧也决定自己看,你那份声明经得起对照吗?手头正好有一批品牌站的首页快照,这次专门拆了这一层,结果比预想的难看。

Google Ads删掉的那一栏,本来就是你自己填的

先把事情说清楚,免得后面讨论跑偏。

同期还有一个方向相反的变更,砍掉五万美元门槛给中小投手的机会

同一时间段还有另一个变更也把重心推向了落地页,广告系列自动升级之后文案原料全在落地页上

删的到底是什么

删的是广告系列层级的语言定位设置。以前你在搜索广告系列里可以勾选目标语言,勾了英语,系统就只把广告投给它认为在用英语的用户。9月下旬之后,这个勾选项在搜索广告系列和AI Max搜索广告系列里会整个消失。

另一家平台的定位限制更硬,整个大类被挡在门外,产品却还没上线

顺带澄清一个常被混淆的问题,投广告到底帮不帮自然排名,那是两套互不相通的系统。

效果最大化广告系列的情况稍微复杂一点:语言设置对搜索广告不再生效,但对视频、展示、发现和邮箱这几个渠道仍然管用。Search Engine Journal关于这次移除的报道把范围写得比较细,做多渠道投放的可以对照一遍自己的账户。

用什么替代

官方给的替代方案是三样信号的组合:广告素材本身的语言、落地页的语言、以及系统对用户能听懂哪些语言的判断

素材语言要纯粹,来源可以很朴素,把用户评论变成高转化的产品描述

落地页的分量正在各条线上同时变重,AI来的流量转化率高但落地页接不住是另一个例子。

前两样都是它能直接读到的东西——广告文案写的是德语还是英语,落地页上的正文是什么语言,这些不需要你告诉它。第三样是它自己的推断,来自搜索词用的什么语言、用户的账号语言设置、浏览器语言等等。

这三样有个共同点:没有一样是你填的表单里的值。它们要么是可以被直接观察的事实,要么是平台自己的推断。这就是这次变更的实质。

这条消息在几家行业媒体上都出现过,细节基本一致。另一份关于9月这次语言定位更新的独立报道可以拿来交叉核对时间点和影响范围,做多账户的团队值得两边都读一遍再动手。

有一条后果值得单独拎出来

报道里提到一个具体场景:一次英语的搜索,有可能触发一条法语的广告,只要系统判断这个用户看得懂法语。

机器改写页面这件事还有更离谱的形态,浏览器自动翻译把yes改成forks

语言边界被系统自己打通,还有一种更早的形态,自动翻译结果正在悄悄抢走国际流量

这在过去是不会发生的,因为你勾了英语就锁死了。现在这道锁没了,取而代之的是一个你看不见也调不动的判断。对绝大多数投放来说这是好事,覆盖会更宽;但对一部分人来说是麻烦事,下面会说。

接口那一层是硬删

还有一个细节,做自动化投放的团队要注意:接口层面会直接拒绝。新建搜索广告系列时如果还带着语言条件,会返回一个明确的操作不被允许的错误。

自动化脚本得有人定期巡检,用cron把备份、站点地图与日志一条龙

接口配额和限制怎么用足,检查接口在两千条配额下的监控管线有一套现成写法。

这跟“字段还在但没人看”不一样。很多被废掉的信号是留着的,写了也不报错,只是没作用。这次是直接不让写。一个字段从可写变成不可写,说明平台已经不打算给它留任何余地了。

项目变更前变更后
搜索广告系列语言定位你勾选整个移除
AI Max搜索你勾选整个移除
效果最大化的搜索部分你勾选不再生效
效果最大化的其他渠道你勾选仍然生效
判断依据你填的值优先素材语言加落地页语言加用户信号
接口写入允许直接报错

公告里那句“不需要做任何操作”该怎么读

官方的说法是现有广告系列不需要做任何操作,一切照常。这句话字面上没错,但它回答的是“会不会出故障”,不是“要不要关注”。

对着原文核一遍从来不多余,九条查得到出处八条数字对不上

读官方措辞这件事有通用技巧,不做什么的清单比做什么的更可核查讲的是同一种读法。

这类公告有个固定的读法:看它说了什么,更要看它把责任推到了哪里。这次的原话里还跟着半句——这个变更让广告素材和落地页所使用的语言变得更重要。

翻译一下就是:原来你填的那个值出错了,系统会用你的设置兜住;现在这个兜底没了,素材和落地页的语言就是唯一依据。不需要操作,指的是不会报错;但判断依据换了地方,出问题的形态也换了地方。

过去常见的错配是“素材是德语但语言定位选了英语”,这种错配以前被设置压住了,投放范围仍按你选的走。现在这类账户会直接暴露:系统读到素材是德语,就按德语去匹配用户,投放对象可能跟你原来的预期完全不同。

所以这句“不需要操作”,对干净的账户成立,对有历史错配的账户不成立。而有没有历史错配,只有自己查过才知道。

那个勾选框以前到底管什么

要理解删掉它意味着什么,得先知道它原来干什么。很多人以为它是“把广告翻译成这个语言”,不是的,它从来不翻译任何东西。

另一家平台收回信号时的应对,归因失真怎么救的九招可以对照。

自动化产品交出控制权的代价,效果最大化六个月实战避坑记过一笔完整的账。

它管的是投放资格。你勾了英语,系统就只把这条广告投给它认为在使用英语的用户。至于这条广告本身写的是什么语言,它不管——你完全可以写一条德语广告,然后勾选英语,系统照投不误,只是投给了看不懂的人。

这个设计有个隐含前提:系统假定你知道自己的广告是给谁看的,而它自己不知道。在这个前提下,问你是合理的。

问题是这个前提早就不成立了。今天判断一段文案是什么语言,是一件几乎零成本的事;判断一个用户能看懂什么语言,平台掌握的信号也比你多得多——账号设置、历史搜索、浏览器配置、地理位置,这些你一个都拿不到。

当被问的人知道得比问的人少时,这个提问就没有意义了。删掉它不是因为它做错了什么,是因为它已经不再提供任何系统不知道的信息。

为什么是现在

时间点也值得琢磨一下。语言判断的技术成熟很多年了,为什么拖到2026年才动手?

能力到位才动手是一贯节奏,从熊猫算法到AI模式这十四年能看清这条线。

把控制权交出去之前,先得知道自己的底线在哪,目标回报率到底该定多少有四步算法。

合理的解释是这一栏还有别的用途——它不只是一个技术信号,还是一个控制阀。广告主用它来限制投放范围,图的是可控和可解释,哪怕系统判断得更准,很多人也宁愿自己锁死。

删掉这个阀门,等于要求广告主把控制权交出去。这类变更平台通常会拖到自动化系统足够可靠、并且已经在别的场景验证过之后才做。先在效果最大化这类全自动产品上跑通,再回来动搜索广告系列,是很典型的推进节奏。

这也解释了为什么效果最大化的其他渠道还留着这个设置:那些渠道的语言判断依据没有搜索场景这么充分——展示和视频广告没有搜索词可读,判断用户语言的把握就低一些。信号越充分的地方,自填字段越先被拿掉。

为什么偏偏是语言这一栏被收回?

广告后台里自己填的字段多了去了。预算是你填的,出价是你填的,受众是你选的,地区是你圈的。为什么单单语言这一栏被拿走?

同一个地址返回不同版本还有别的成因,决定收录哪一版的可能是十分钟前路过的那个用户

核验不了的东西平台就会绕开,71家审计揭开平均84%的身份泄漏是另一个切面。

这条规律的另一半在内容来源上,水印测出来也证明不了这段字是谁写的是同一个框架里的另一格。

因为它是少数几个平台能自己看出来的

答案其实很朴素:因为语言可以被内容本身核验,而其他大部分设置不行。

能不能读到还取决于渲染方式,三种渲染模式的引用率实测差别不小。

机器到底能从页面上读出多少,拿样本页跑一遍语义化HTML就知道

预算多少,只有你知道;出价策略是你的意图,平台无从判断对错;受众定义是你的假设。但语言不一样——广告文案就摆在那儿,落地页就摆在那儿,读一遍就知道是什么语言。你填的那个值,和它读到的事实,随时可以对账。

当一个自填字段可以被随时对账,它的存在价值就只剩下两种可能:要么你填的和事实一致,那这个字段是冗余的;要么不一致,那这个字段是错的。两种情况下,观察者的最优选择都是不看它。

哪些字段不会被收回

反过来推,就能知道哪些字段会一直留着。

内部事实这类数据怎么和财务对齐,预算到归因到并购退出的七个动作

回传给平台的那些数最典型,多触点归因模型怎么选才不被最后一次点击骗走预算

凡是答案不在页面上、平台读不出来的,都会留着,因为除了问你之外没别的办法。比如你愿意出多少钱、你想优先投给新客还是老客、你把哪一次转化算作成功、你回传的那笔订单值多少钱。

这一批字段的共同特征是:它们描述的是你的意图和你的内部事实,不是页面上的可见事实。平台没有独立获取的渠道,只能采信。

字段类型平台能不能自己看出来会不会被收回
广告语言能,读素材和落地页正在被收回
落地页主题能,读内容早就自己判断了
商品类目大体能,读页面和图片已在自动纠正
预算与出价不能不会
转化价值不能,靠你回传不会
目标客户定义不能不会

这张表可以当成一个预测工具用。看一个设置项能不能被平台从可见事实里推出来,基本就能判断它还有几年寿命。

一个反例:地区定位为什么不会被删

有人可能会问:地区不也一样吗?平台能看到用户的位置,为什么不把地区定位也删了?

能不能做一个市场,先看主体资格,美国、英国与香港三地架构对照

地区这件事在网站侧同样是结构问题,国际站该选国家域名、子目录还是子域名

这个反例很值得想。表面上看地区确实是可观察的——用户在哪个国家,平台知道得比你清楚。但地区定位删不掉,原因在另一头:它描述的不是内容的属性,是你的商业边界。

语言定位说的是“我这条广告是英语的”,这是关于广告本身的事实,平台读一遍就知道。地区定位说的是“我只做德国和奥地利的生意”,这是关于你公司的事实,平台读页面读不出来——你的物流覆盖到哪、有没有当地资质、能不能收那个国家的货币,这些都不写在广告里。

判断一个字段会不会被收回,关键不是“平台能不能观察到相关信息”,而是“答案在不在你交给它的那份材料里”。语言在,地区不在。

为什么被拿走的总是最容易做对的那一栏

这里有个让人不太舒服的悖论,值得摊开说。

把力气花在哪儿更值,排名第一却没人记得你的时候该盯什么

同类的误解还有一个,E-E-A-T到底是不是排名因素也得先分清哪些是可执行项。

可核验的字段,因为反馈及时,大家填得又全又准——本次数据里那97.8% 就是证明。可恰恰是这批填得最好的字段,最先被观察者接管。

而那些填得最差、最容易出错的字段,因为无法核验,反而稳稳地留了下来,继续由你负责。

所以从结果上看,你在自填字段上投入的精力,回报是倒挂的:花力气把可核验的那部分做到完美,收益会随着系统能力提升而归零;而真正长期有效的投入,是在那些没人能替你验证、也没人能替你纠正的地方。

这不是说可核验的字段可以乱填。填错了照样有即时的坏处,只是它的边际价值在下降。合理的做法是把这部分做到及格就停手,把省下的力气投到那些必须由你说了算的地方。

同一条逻辑在自然搜索侧早就跑过一遍

广告这次的变更,在自然搜索那边其实早有先例,只是没有一个明确的公告时点。

索引体系的换血也是这么发生的,那次让索引变实时的改造

信号退役的完整轨迹,PageRank退役之后权威信号怎么演变记录得比较全。

关键词标签是最经典的一例。它曾经是页面告诉搜索引擎“我讲的是什么”的官方途径,后来机器能读懂全文,这一栏就彻底失效了。整个过程没有发布会,也没有下线通知,就是慢慢没人看了。

页面自称的更新频率和抓取优先级也是同一条路。这两个值至今写在站点地图规范里,写了不会报错,但主流搜索引擎已经公开说过基本不参考它们,因为页面到底多久变一次,抓一抓对比一下就知道,不需要问你

广告这边的区别只在于它有个明确的日期。自然搜索侧的字段是慢慢死掉的,广告侧的字段是被公告删掉的,机制完全一样。

大多数人真正想问的是:流量会不会掉

讲机制讲了半天,投放的人真正关心的其实是一句话:这个变更之后我的量会不会变少。

大盘变化时的生存策略,自然搜索流量暴跌之后的实战指南

流量数字变了先别慌,流量下降不等于SEO失败那八个维度可以逐条对。

直接回答:大概率不会少,更可能变多,但结构会变。

不会少的原因是,删掉的是一个限制条件而不是一个准入条件。原来勾选英语等于告诉系统“非英语用户别给我”,现在这条限制没了,可触达的人群只会变宽不会变窄。

结构会变的原因是,多出来的这部分曝光质量参差不齐。系统判断某个用户“能看懂英语”,和这个用户“愿意用英语完成一次购买”,中间还差着一段距离。特别是客单价高、决策链长的品类,语言的舒适度对转化的影响比想象中大。

所以合理的预期是:曝光和点击可能上升,转化率可能小幅下滑,总转化数看具体情况。如果你发现点击涨了转化没涨,别急着怪系统,先看看多出来的那批点击来自哪些地区、用的什么语言搜的,再决定要不要用别的手段收窄。

还能用什么手段收窄

既然语言这个阀门没了,想控制投放范围只剩下几个替代品,各有各的代价。

改之前先想好怎么验证,30个A/B测试方案里有现成的题目。

想知道某个限制到底值不值,增量测试怎么做才不让本来就会买的人冒领功劳

替代手段控制力代价
地区定位强,按国家切切不了同一国家里的不同语言人群
拆分广告系列中,靠结构隔离管理成本上升,预算分散
素材与落地页语言一致化中,靠信号引导需要内容配合
否定关键词弱,只能挡具体词维护量大,挡不干净

其中第三项最值得投入,因为它正好顺着新机制的方向走。既然系统改看素材语言和落地页语言,那把这两样做得纯粹一致,本身就是最有效的引导手段——比任何绕过去的技巧都稳。

网站这边的同一个字段,填得怎么样?

广告那边讲完了,看网站这边。既然平台越来越倾向于自己读内容,那网站上那些关于语言的声明,值得拿数据体检一次。

不同平台的实现差别很大,Magento的分层导航与hreflang实战是一个例子。

这一层的基础做法在国际化SEO与hreflang的避坑清单里有完整版。

样本和量法

用的是一批品牌独立站的首页快照,原始187份,按“字节数超过一万且确实是一份完整HTML文档”筛下来剩136份,下面所有比例的分母都是这个136。

另一类样本来自日志,读懂抓取行为与预算浪费是配套的量法。

抽样怎么取才既省事又有代表性,按页面模板抽样把百天审计压到半天

量三样东西:页面顶部那个语言属性写的是什么;页面里的hreflang声明有哪些;以及页面正文实际是什么语言。第三样靠字符集加常用虚词判定,中日韩和西里尔文用字符范围区分,拉丁文字用虚词频次打分,分数太低的算判不出来,不硬猜。

先看结论:97.8% 的站填了,只有1个填错

136个站里,133个在页面顶部声明了语言,占97.8%。没声明的只有3个。

填得好的字段之外,还有大片空白,关于我们页面怎么写才被认成可信实体

对称标注和默认项的常见错法,hreflang落地时的实操避坑列得比较全。

更值得注意的是准确率。在能判定出正文语言的那部分里,声明与实际一致的有102个,不一致的只有1个。那一个是某个欧洲美妆零售站,页面顶部写的是捷克语,正文实际是英语——大概率是模板默认值没跟着市场切换。

另有32个站因为首页文字太少判不出语言,没有计入。这些站的首页多半是大图加几个按钮,正文都在下一层。

这个数字说明什么

97.8% 的填写率,1个不一致,这是一份相当漂亮的成绩单。放在上一次量过的那批身份字段旁边看,反差非常明显——那批里能被外部核验的字段,填写率掉到了个位数。

模板自动生成的东西多,平台差异就大,谷歌到底偏不偏爱某个建站平台

模板默认值带来的隐性损失不止这一处,建站第一年的12项共有配置坑可以对照排查。

为什么这一栏就填得这么好?因为它填错了会立刻穿帮。语言写错,浏览器的朗读会读错,输入法会切错,搜索引擎会把你归到错误的语言库里,而这些后果都是当场可见的。

更关键的是,这一栏在绝大多数建站系统里是跟着内容模板自动生成的,不需要人去填。你切换到德语站点,模板就把那个值改成德语。人不参与,自然也就不会填错。

这条观察本身就是个结论:一个字段填得准不准,跟人有没有责任心关系不大,跟它能不能被自动生成、会不会当场穿帮关系很大。

那32个判不出语言的站是怎么回事

把判不出来的那32个站单独翻了一遍,成因基本是同一种:首页上根本没有多少可读的文字。

首页没有正文的站不止这一批,132个独立站首页有28个是空壳

字少的页面最容易被认错语言,站上字最少的那几类页面最赚钱也最容易被误判

典型形态是整屏大图加几个按钮,文案总共十几个词,剩下全是导航项和页脚的法务链接。这类页面的正文语言不是判不出来,是压根没有正文。

这件事本身就值得单独说一句。既然平台越来越倾向于从内容里读语言,那么一个首页上没有文字的站,等于没有给出这个信号。它不会因此被判错,但它把判断权完全交给了别的线索——域名后缀、服务器位置、跳转历史,这些都不如正文可靠。

做多语言站的团队可以顺手检查一下:把首页的图片和脚本都拿掉之后,还剩多少可读文字。如果只剩十几个词,那这一页在语言判断上是哑的。

另外两个说明语言的字段,几乎没人用

顺手还量了另外两处也能表达语言的地方。

读取方少的入口容易被忽视,搜索框怎么设计才不浪费这个高转化入口

语言选择器该写本地写法还是英文写法,179门语言里有136门这两个词毫无关系

一处是元信息里的内容语言声明,136个站里只有 3个在用。这个写法很早就被规范建议弃用了,现在还在用的多半是老模板遗留。

另一处是社交分享用的地区标记,有 11个站在用。它的作用是告诉社交平台用哪种语言渲染分享卡片,跟搜索关系不大,但它同样是一个语言声明。

这两个数字加上前面的133和73,正好凑成一张有意思的对照表。

说明语言的位置用的站数比例主要读取方
页面顶部语言属性13397.8%浏览器、辅助技术、抓取器
hreflang声明7353.7%搜索引擎
社交分享地区标记118.1%社交平台
元信息内容语言32.2%已基本无人读取

同一件事,四个地方可以说,实际使用率相差44倍。规律很清楚:读取方越多、后果越即时的位置,填的人越多。

唯一那个填错的站,错法很有代表性

136个站里唯一一个声明与实际对不上的,是一家欧洲的美妆零售平台。页面顶部写的是捷克语,正文实际是英语。

环境变了配置没跟着变,老域名买来怎么用才能保住信任继承也是同类问题。

本地化数据里看着有的多半是借的,看着空的反而是对的

为什么是捷克语?查了一下这家公司的背景就明白了:它的总部和最早的市场在捷克。也就是说,这个值大概率是站点最初搭建时的默认设置,后来业务扩张到整个欧洲、首页换成了英语,而这一栏没人想起来改。

这个错法很有代表性,它揭示了这类字段出错的典型路径:不是填的时候填错了,是环境变了而它没跟着变。第一天填的时候是对的,第一千天还是那个值,但内容早就不是那个语言了。

这也解释了为什么这类错误极难被发现。没有人会去重新检查一个当初填对了的字段,而它出错的方式恰恰是“当初对、现在错”。

从这个案例能推出一条通用做法

防这种错只有一个办法:让这个值从内容里长出来,而不是配置在某个地方。

机器理解内容的能力一路在涨,从关键词匹配到意图理解的演变

改版时这类跟着环境走的配置最容易掉,改版不掉SEO的完整防护清单

具体到实现,就是让模板从当前页面的语言上下文取值,而不是从站点级配置取值。前者跟着内容走,内容换语言它自动跟着换;后者是一个独立的开关,换内容的人不一定知道有这个开关。

这条做法可以推广到所有“描述内容本身属性”的字段。凡是描述内容的,就应该由内容生成;凡是需要人去单独维护的,早晚会和内容脱节。

反过来,那些描述业务事实的字段——公司名称、法定信息、联系方式——则必须由人维护,因为它们本来就不在内容里。两类字段的维护方式应该完全不同,混在一起管必然出问题。

抓取地点暴露了一件声明层管不到的事

这批快照有个特殊之处,正好撞出一个额外发现:请求是从中国境内发出的。

抓取端看到的和你看到的经常不是一回事,抓取速率被调低那几天日志里一条错误都没有

按来源自动跳转的代价有多大,按IP跳转正在让国际站半数页面进不了索引算过一笔。

结果是有12个站给回了中文页面——顶部语言属性写着中文,正文也确实是中文。这些站里有做智能硬件的、做户外装备的、做美妆的,它们在中国有本地站点,于是按访问来源做了分流。

这件事本身很正常,但它引出一个hreflang处理不了的问题:同一个网址,从不同的地方访问,返回的语言是不一样的。

而hreflang描述的是一组固定的对应关系——这个地址是这个语言这个市场的版本。当地址本身会根据来访者变脸时,这份对应关系就失去了确定性。搜索引擎从美国抓到的是英语版,从德国抓到的可能是德语版,而声明里只能写一个答案。

更麻烦的是抓取方通常从固定的少数几个地方发起请求。你为二十个市场做的分流,在它眼里可能只呈现出一两种面貌。它看到的和你声明的对不上,而对不上的原因你甚至没法解释——因为你自己都很难复现它看到的那一版。

这也是为什么按来源自动跳转语言版本一直被建议慎用。它优化的是人的体验,破坏的是机器的确定性,而这两者在多语言站上经常打架。

那hreflang呢,为什么只有一半的站做了?

同样是说明这一页给谁看,hreflang的数据就难看多了。

版本之间的关系可以用别的方式表达,专题页怎么从内链中转站变成被引用的入口

声明写了也未必被当成独立页面,那些语言版本可能只被当成规范页的别名

做了的只有53.7%

136个站里,首页带hreflang声明的只有73个,占53.7%。也就是说,接近一半的品牌独立站,首页上根本没有告诉搜索引擎它还有别的语言版本。

跨语言理解这几年进展很快,多语言跨模态算法怎么影响SEO

生成器给的代码不能直接粘,粘上去就是一份单向标注

这里面当然有一部分是真的只做一个语言版本,不需要声明。但从这批站的规模看——都是在多个国家有站点的品牌——不做的比例还是偏高。

没做的那一半,多半不是不知道

接近一半的站没做这一层,原因值得拆一拆,因为它决定了这件事该由谁推动。

跨团队的对账清单能解决一部分,埋点归因看板的七个动作点

推不动的事常常卡在沟通上,一套让老板秒懂还拨预算的讲法

第一类是真的不需要。只有一个语言版本、一个域名,确实没有对应关系可声明。这一类占了没做的相当一部分,它们的选择是对的。

第二类是做不了。各个市场的站点分属不同团队、跑在不同系统上,甚至域名都不在一个注册商。要在每个站的模板里插入指向其他所有站的声明,需要一次跨团队协调,而这件事没有任何一个团队的绩效指标覆盖得到。

第三类是做过又放弃了。做了一版,之后市场增减、域名调整、改版,声明没跟着维护,最后错得比不写还糟,干脆全删了。这一类在老站上不少见。

三类里,第二类是最普遍也最难解的。它本质上不是技术问题,是组织问题——一份需要所有站点同时正确才生效的声明,天然要求一个跨站点的负责人,而多数公司的国际业务是按市场分权的。

这也是为什么这一层做得好的往往是两类公司:要么整个国际站跑在同一套系统上,要么有一个足够强势的中央技术团队。剩下的公司不是不懂,是推不动。

两处自称的粒度是倒着的

这是本次测量里第一个反直觉的发现。

两处不一致时先把数据本身看清楚,把结构化数据调试这件事讲透

结构化数据里的语言字段有个反着写的规矩,正文越本地化它越要写回国际格式

页面顶部那个语言属性,136个站里有 101个只写了纯语言码,比如只写英语,不带国家;写成语言加地区两段式的只有30个。也就是说,四分之三的站在这一栏只说语言。

而在hreflang里,情况完全反过来:不含默认项的2469条声明中,2355条都带了地区,占95.4%;只写语言不写地区的只有114条,4.6%。

位置只写语言语言加地区面向谁
页面顶部语言属性101个站30个站浏览器与辅助技术
hreflang声明114条2355条搜索引擎

同一个站,给浏览器看的那处只说语言,给搜索引擎看的那处一定要带上国家。这个差别不是技术要求造成的,两处都允许写两段式。差别在于目的:前者是为了正确渲染,后者是为了争取流量。

语言48种,地区248个

把73个站的所有声明拆开数,一共出现了 48种语言248个地区

内容写的是不是本地的事,乌兹别克语4%,英语53%

语言数和实际工作量不是一回事,十一门语言分摊在九套书写系统上得按后一个数算预算。

248这个数字值得盯一会儿。国际标准里正式分配的国家和地区代码总共也就两百四十多个,这批站几乎把全世界都声明了一遍。

按站均算,一个站声明的语言数中位是5种,地区数中位是11个,合计下来地区是语言的4.09倍。你要问这些站到底做了多少个语言版本,答案是五种上下;你要问它们声明了多少个市场,答案是十一个起步。

声明条数的分布,两头差得离谱

73个站的声明条数分布很值得看:最少的只写了1条,中位是15条,最多的一家写了259条,全部加起来2526条。

头部塞太多东西也有上限,抓取体积的2MB上限实测

声明多不等于覆盖广,大量没用的页面怎么拖垮流量是同一种膨胀。

最少和最多之间差了259倍。这不是规模差异能解释的——写1条的和写259条的,都是在多个国家有生意的品牌。差的是对这个标签的理解:有人把它当成版本对照表,有人把它当成市场覆盖清单。

中位数15是个挺健康的数字。15条大致对应“三四个语言版本乘以三四个主要市场”,这个量级的声明通常背后是有真实版本支撑的。真正需要警惕的是超过50条的那一批,几乎必然包含大量兜底型声明。

默认项的覆盖率意外地高

73个有声明的站里,66个用了默认项,占90.4%

空版本怎么处理是同一类问题,集合页没有产品时该怎么办给了三种场景。

同语言多地区的正确写法,同一种英语卖到美英澳怎么不自己跟自己打架讲得最细。

这个比例出乎意料地高。默认项是一个纯粹技术性的东西,没有任何展示价值,能有九成的覆盖率,说明做这一层的团队基本都知道规范该怎么写。

但这个高覆盖率反而让后面那个发现更刺眼:既然九成的站都用了默认项来兜底,为什么还要把两百多个市场逐个再指一遍?默认项存在的全部意义就是承接那些没有专属版本的市场,逐个指向等于把兜底工作重做了一遍,还是用一种更容易出错的方式。

唯一说得通的解释是:很多人并不认为默认项在兜底,而是把它当成一个必填项写上去的。知道要写,不知道它管什么。

怎么判断一条跨语言声明合不合理

既然用英语覆盖非英语市场是普遍做法,那怎么判断某一条这样的声明是合理的还是拍脑袋的?有一个不需要猜的办法。

各语种内容写的外国是谁,30门里21门第一名是美国,份额只有一成五

选语种别先看人口,先看有没有人拿这门语言写价格和退货政策

去查那个国家的实际语言使用数据。国际化标准里维护着一份各地区语言使用情况的公开数据表,能查到某个国家有多少人把某种语言当作第一语言、多少人当作第二语言。拿这个比例当判据,比拍脑袋靠谱得多。

大致可以这么用:某个国家英语作为通用语言的人口比例足够高时,用英语版本覆盖它是合理的,用户体验损失有限;比例低的国家,一条英语声明的实际意义就很可疑,它更像是在填表而不是在服务用户。

按这个尺子看本次数据里那份英语目的地清单,北欧几国、荷兰、新加坡这类属于明显合理;而某些南欧和东欧市场的英语普及度就没那么高,那里的英语声明更可能是兜底而非有意为之。

但真正的判据其实更简单

上面那套查法有点重。日常做决策,有个更土的判据:去看那个市场的转化率。

用结果反推投入值不值,用留存还原回报的五步财务模型

把结果追回到源头这件事,让选词被成交驱动是同一种思路。

如果一个市场的流量不少、转化率明显低于同语言的其他市场,那多半就是语言不匹配造成的摩擦。这个信号比任何人口统计都直接,因为它衡量的是你的用户而不是那个国家的平均水平。

反过来,如果某个非英语国家用英语页面接住的转化率跟英语母语国家差不多,那说明你的客群本来就是那批习惯英文的人,完全不必为它单独做本地化。

先看数据再决定做不做翻译,比先做翻译再看效果,成本低一个数量级。而绝大多数团队的顺序是反的——先立项做多语言,做完才发现某几个语种一年带不来几单。

hreflang里的“语言”,到底是不是语言?

这是本次数据里最锋利的一条,也是让保哥重新理解这个标签的一条。

名字怎么写不由你定,由当地用户的输入法定

名字在不同语言里会碎掉,四个字母写成本地文字之后碎成九片

79.6% 的英语声明,指向的不是英语国家

2469条声明里,语言部分写英语的有1746条,占了七成。把这1746条的地区部分逐个看过去,指向非英语母语地区的有1389条,占79.6%

用小语种写内容有额外风险,读着最顺的那一段恰恰是模型编出来的

答案说你的语言,来源却是英文页,这件事在AI搜索里更普遍

最常见的英语目的地是这些:德国24次、荷兰24次、法国22次、比利时22次、丹麦22次、芬兰21次、瑞典21次、意大利20次、西班牙20次、奥地利19次、阿联酋19次、捷克18次、日本18次、韩国18次、挪威18次、葡萄牙18次、瑞士17次、斯洛伐克17次。

把这份清单读一遍就明白了:这不是在描述内容的语言,这是在描述生意做到了哪里。一个品牌在德国、日本、韩国都开了店,但没有做德语、日语、韩语的内容,于是就用英语版本对着这些市场各声明一条。

标签的名字骗了很多人

hreflang这个词的字面意思是链接的语言,但它的实际用法早就变成了语言和市场的组合。国际标准里那套语言标记规范,允许你在语言码后面接一个地区码,本意是区分同一语言的地区变体,比如英式英语和美式英语的拼写差异。

名字与实体对不上的通用解法,实体消歧的六类信号管控

语言码本身也在变,注销的385个里七成是并进了另一门语言

可在电商实践里,这个地区码承担的是完全不同的任务:它标的不是“这个版本的英语跟别处不一样”,而是“这个页面对应我在那个国家的店”。

如果你想确认某个语言地区组合到底合不合规范,语言标记的正式规范文本是最终依据,而子标签查询工具可以直接查某个码存不存在。真要较真的话,各地区的语言使用数据表能告诉你某个国家到底有多少人讲哪种语言,用来判断一条声明合不合理。

用英语覆盖非英语市场,本身没错

要说清楚,用英语版本去覆盖一个非英语国家,这个做法本身完全正当。北欧几国的英语普及率极高,用英语做站是理性选择;阿联酋、新加坡这类市场英语是通用商业语言;很多品类的目标客群本来就习惯看英文。

同一个意思在不同语言里成本差很多,英语两个后缀就够,德语要写五遍

语言和国家从来不是一一对应,读者没有跟着地缘变化一起消失

问题不在于这么做对不对,而在于这份声明表达的东西和它的名字对不上。当你写下一条英语指向德国的声明时,你想说的是“德国用户请看这一页”,可标签的语义是“这是给讲英语的德国人看的版本”。

这两句话在大多数时候结果一样,但在系统需要做判断的时候会分岔。而分岔的时候,采信哪一句,不由你决定。

反过来看,非英语的声明有多少

把英语之外的语言单独拉出来数一遍,分布是这样的:法语133条、德语105条、西班牙语91条、意大利语49条、荷兰语42条、中文37条、波兰语25条、阿拉伯语22条、日语19条、捷克语19条、韩语18条、瑞典语18条、葡萄牙语15条、斯洛伐克语14条。

翻译出来的词表多半没人搜,那些词是当年拿词典逐词换出来的

一门语言里有多少内容是搬来的,越南语近一半,波兰语只有0.22%

英语1746条,其余所有语言加起来723条。英语一种语言占了全部声明的七成。

这个比例说明了这批品牌的真实做法:主力是一套英语内容打全球,本地语言版本只在几个重点市场做。法语、德语、西班牙语这前三名,恰好对应欧洲最大的三个非英语消费市场。

有意思的是阿拉伯语排到了第八,比日语和韩语都靠前。这跟中东市场这几年在DTC出海里的权重上升是对得上的——阿联酋、沙特的客单价高,值得单独做内容。

地区榜第一名不是美国

地区那一半的分布更有意思。出现次数最多的前几个是:加拿大68次、德国64次、法国63次、美国60次,然后是比利时55、瑞士53、意大利52、英国51、西班牙51、奥地利47、荷兰46。

用搜索量当先行指标要注意口径,搜索份额怎么算才能预测市场份额

统计口径决定榜单长什么样,品牌词与非品牌词的流量结构怎么读是另一个例子。

美国居然排第四,被加拿大、德国、法国压在后面。这不符合直觉,因为美国肯定是这批品牌最大的市场。

原因在于双语国家会被重复计数。加拿大同时有英语和法语两套声明,瑞士甚至可能有德语、法语、意大利语三套,比利时有荷兰语和法语两套。一个国家做几种语言,就在榜上出现几次。

这一条其实反过来印证了地区码的性质:它统计出来的不是市场大小,是声明的密度。一个市场在榜上排得高,可能是因为它重要,也可能只是因为它语言多。拿这种榜单去做市场决策,会得出错误结论。

瑞士这个例子值得单独看

瑞士出现了53次,排第六。这个国家人口八百多万,市场规模远不如美国德国,为什么声明这么多?

翻译报价单和真正被读的字不是一回事,四万字里那几十个词一个都不在

多语言界面的完成度会掉队,208个版本里曾经翻满的四成已经掉队

因为它有四种官方语言,而多数品牌至少会做德语、法语两套,讲究一点的加意大利语,再加一套英语兜底。一个国家四条声明,比大多数国家多三倍。

这就带来一个实际问题:为瑞士单独做四套内容,值不值得?从声明成本看几乎为零,从内容成本看是四倍。而现实是,绝大多数站的这四条声明指向的是同一套或者两套页面——又回到了前面那个问题:声明有四条,页面没有四个。

加拿大那68次也有故事

榜首的加拿大同样值得看一眼。68次里,英语和法语大致对半开——这是加拿大法定双语带来的必然结果。

承诺译过去可能变了强度,那句退货政策在日语里成了不这么做就不行

合规对语言的要求比你以为的硬,用户点同意之前翻译脚本一行都不许跑

但实际做法差别很大。有的站两套内容都是真的,法语版本有独立的商品描述和帮助中心;有的站法语声明指向的其实是英语页面,纯粹为了在声明里显得覆盖完整。

后一种做法的风险比一般的兜底更高,因为加拿大法语是有法规要求的。魁北克对商业场景下的法语使用有明确规定,声明自己提供法语版本却给一个英语页面,这已经不只是SEO问题。

这一条提醒了一件事:声明层的虚假在多数市场只影响效果,在少数市场会影响合规。做欧洲和加拿大市场的团队,值得把这一层单独过一遍,别让一条随手写的声明变成一个法务问题。

236条地区声明,背后有几个真页面?

前面都是铺垫,这一节才是本次测量最想说的。

多一门语言不只是多一套模板,喂给平台的那份数据要多一整份文件

数出来的东西受工具限制,后台数据的三大黑洞怎么补

量大了手写维护不动,用脚本从爬虫结果自动生成对应关系是一条出路。

把声明条数和实际地址数放在一起数

思路很简单:一条hreflang声明由两部分组成,一个语言地区码,一个目标地址。声明条数好数,把目标地址去重之后还剩几个也好数。两个数一比,就知道有多少个“市场版本”是纸面上的。

地址解析方式不同结果就不同,工具报的死链和真实抓取的从来不是同一批

地址去重这件事本身就有坑,同一个页面11种写法都返回200

73个有声明的站里,53个存在多条声明指向同一个地址的情况,占72.6%

最极端的那几个

站点类型声明条数去重后地址数倍率
北欧家居工具品牌236639.3倍
美国旅行箱包品牌3147.8倍
英国快时尚零售商2382.9倍
智能家居配件品牌46202.3倍
消费电子配件品牌531.7倍

分页也会制造大量近似页面,集合页分页的索引判断与规范设置

一个模板生成十种语言,字符层看不出重复,信息层十份一模一样

第一行那个站,声明了236条语言地区组合,而这236条指向的只有6个不同的网址。平均每39条声明共用一个页面。

它想表达的意思大概是:我这6个页面,能服务全世界这两百多个语言地区组合。这个愿望没什么问题,问题是它用一个本来表示“对应关系”的标签,表达了一个“通用兜底”的意思。

重复指向的三种成因

翻了翻明细,这些重复大致分三类,性质完全不同。

配置遗留的后果有更严重的版本,测试站被索引之后的八步清除

信息量不足的页面会被分到哪一层,分层索引把页面丢进哪一层

第一类,兜底型。确实只有几个语言版本,但想让所有市场都能被覆盖,于是把每个市场都指向最接近的那个版本。上面那个236比6就是典型。这类的动机是善意的,但它把本该由默认项承担的任务,摊派给了两百多条具体声明。

第二类,同语言多市场型。比如同一个英语页面同时声明给英国、爱尔兰、澳大利亚、新西兰。这类其实是规范允许的正常用法,重复是合理的,只是数出来会计入统计。

第三类,配置遗留型。历史上做过某个市场的独立版本,后来合并了,声明没跟着改,于是几条声明指向了同一个页面。这类是纯粹的技术债,也最容易修。

三类里只有第二类是正常的。麻烦在于,从声明本身看不出来自己属于哪一类——要判断,得回去问业务上到底有没有那个版本。

这对搜索引擎意味着什么

把两百多条声明指向6个页面,搜索引擎会怎么处理?现实是它不会报错,也不会有任何提示,它只是把这些声明的可信度整体调低

收录、排名、流量是三件事,没流量先分清卡在哪

系统的判断会写在状态里,八种未编入索引状态各自的决策路径

道理不难理解:如果一份对应关系表里,几十个键映射到同一个值,那这份表提供的信息量就很有限。系统更倾向于回到它能自己观察到的东西——页面实际是什么语言、用户来自哪里、哪个版本的表现更好。

这正是广告那边正在发生的事情的翻版。当自填的声明信息量不足时,观察者不会去质问你,它只会绕过你。

对AI搜索这一侧的影响可能更大

前面讲的都是传统搜索引擎怎么处理这份声明。但现在还有一批新的读取方——那些替用户组织答案的系统。

它按块而不是按页检索,内容分块优化该怎么做

跨市场的知识污染挡不住,为什么hreflang在AI时代不够用

它们对这一层的敏感度更高,原因有两个。

一是它们通常只取一个版本。传统搜索可以给不同地区的用户展示不同版本,是一对多的关系;而生成式回答往往只引用一个来源,是一对一的。当你的对应关系模糊时,它挑哪一版就带有随机性。

二是它们更依赖内容本身而不是声明。这类系统读的是页面正文,对元信息的依赖比传统抓取低。这意味着一个内容质量高但声明混乱的页面,可能反而更容易被正确处理;而一个声明工整但内容单薄的页面,讨不到好处。

合起来看,结论跟前面一致:把力气放在让每个版本的内容真的对得起它声称服务的那个市场,比把声明写工整重要得多。在只取一个版本的场景下,被选中的那一版如果内容不行,声明写得再漂亮也救不回来。

一个可以立刻验证的做法

想知道自己的多语言站在这类系统眼里长什么样,有个很直接的试法:用目标市场的语言,问一个你的品类里最典型的问题,看它引用了你的哪一版页面。

换个引擎结论可能就变了,跨引擎规则的保留与改写清单

想批量试,一份内容跑五个引擎看谁愿意引用比手工问快得多。

常见的三种结果各有含义。引用了对应语言的版本,说明这一层是通的;引用了英语版本,说明你的本地版本要么没被识别,要么内容强度不够;根本没提到你,那是另一个问题,跟这一层无关。

这个试法几分钟就能做完,比任何声明校验工具都直观,因为它检验的是最终结果而不是中间过程。做多语言站的团队值得每个季度跑一遍,成本几乎为零。

把这个比值做成一个体检指标

声明条数除以去重地址数,这个比值可以直接当成一个自查指标用,本文姑且叫它虚声明倍率。算法一分钟就能跑:数一遍声明条数,数一遍不重复的目标地址,两个数一除。

另一个不用工具就能看的指标在日志里,AI爬虫到底有没有抓你的站

把单项指标扩成体系,企业网站SEO审计该查什么有一份可裁剪的框架。

倍率区间判读建议动作
1.0到1.2几乎一条声明对一个页面健康,不用动
1.2到2.0存在同语言多市场的正常重复抽查一遍即可
2.0到4.0兜底型声明开始变多核对哪些市场真有版本
4.0以上大量市场共用同一页面删掉多余声明,交给默认项

本次数据里73个站的分布:倍率在1.2以下的属于多数,但落在4.0以上的有好几个,最极端那家是39.3倍。

这个指标的好处是不需要任何外部工具,也不需要爬全站,看一个首页的源码就能算。坏处是它只能发现虚声明,发现不了漏声明——如果你真有德语版本却没声明,这个指标看不出来。

更细的一个切法

如果想再准一点,可以把重复分成两类分别数。

变体页面的对应关系更复杂,变体的标记、规范网址与地址三层治理

多语言加多货币会叠加出更多组合,hreflang、网址与价格标记的三层避坑

同语言不同地区指向同一页,比如英语给英国和爱尔兰指同一个页面,这是规范明确允许的正常写法,不该算作虚声明。

不同语言指向同一页,比如德语和法语都指向同一个英语页面,这个就有问题了。它等于在说“这个页面既是德语版又是法语版”,而页面本身只有一种语言,这两条声明里至少有一条是错的。

本次没有把这两类分开统计,因为要判断需要回去看每个页面的实际语言,成本高。但从抽样看,第二类在倍率高的站里占比不低——那些把两百多个市场指向6个页面的站,必然包含大量不同语言指向同一页的情况。

如果只做一项自查,建议做这一项:把所有声明按目标地址分组,看同一个地址下有没有出现两种以上的语言码。有,就是明确的错误,不是风格问题。

这份数据的局限,得说在前面

上面这些数字有几处边界,读的时候要带着。

让工具替你审计有三个前提,数据、方法与人工复核缺一不可。

没有对照组就会高估,量出74%的差异补上对照之后只剩2.2%

第一,只看了首页。很多站的商品页和分类页有各自的声明,粒度可能比首页细,也可能更粗。首页通常是声明写得最全的一页,所以这里的数字更可能是高估而不是低估。

第二,没有核实目标地址是否可访问。只统计了地址是否重复,没有逐个请求确认它们返回200。按经验,声明里指向已下线市场的死链是常见问题,所以真实的有效声明数只会比统计值更低。

第三,样本偏向欧美消费品牌。这批站以服饰、家居、户外、消费电子为主。做工业品、做单一市场、做本地服务的站,情况会完全不同——单一市场的站根本不需要这一层。

第四,也是最要紧的一条,抓取从一个固定地点发出。前面说过有12个站返回了中文版,这意味着这些站的声明结构可能在别的地方看起来不一样。这个偏差没法消除,只能说明。

如果你要复现

方法本身很简单,不需要爬虫框架。把目标站首页抓下来存成文件,用正则把所有带alternate和hreflang的链接标签取出来,每条记下语言地区码和目标地址,然后数三个数:总条数、去重后的地址数、去重后的语言数。

不写脚本也能查一部分,高级搜索运算符的实战指令够用。

不想自己写脚本,结构化数据审计工具一次能扒清页面里的五种格式。

要注意的是取标签时别只匹配一种属性顺序。有的模板把rel写在前面,有的把hreflang写在前面,只按一种顺序匹配会漏掉一批站。本次第一版脚本就漏过,改成先取出所有链接标签、再逐个判断属性之后才对上。

另外默认项要单独计数,别混进语言统计里。它不是一种语言,把它算进去会让语言种类数虚高,也会让重复率的计算失真。

换个角度:这份声明到底给谁省了事

还有一个角度值得想一想。这套对应关系机制当初被设计出来,解决的是谁的问题?

表面上是解决用户的问题——让德国用户看到德语页面,让美国用户看到美元价格。但仔细想,用户其实不需要这个东西:用户只要打开一个页面,看到自己看得懂的内容和能付的钱就行了,中间怎么实现的他不关心。

真正需要它的是搜索引擎。它面对同一个品牌的十几个近似页面,需要决定给哪个用户看哪一版,而这些页面内容高度相似,光靠内容判断成本很高。于是它请你来说明。

理解了这一点,就知道该怎么写这份声明:它不是你的展示位,是你替系统省下的那部分判断成本。你多提供一条真实的对应关系,它就少做一次猜测;你多提供一条虚的,它就多一次误判,而误判的代价最终落在你身上。

按这个角度重看那个236比6,问题就清楚了。那236条里有230条不但没帮系统省事,还让它多了230次需要排除的干扰。好心办坏事,说的就是这种。

顺带回答一个很常见的疑问

经常有人问:既然搜索引擎自己能判断,那这套东西是不是迟早也会像语言定位一样被删掉?

短期不会,原因和前面那条判据一致:页面之间的对应关系,不完全写在页面上。

机器能读出一个页面是德语的,但读不出“这个德语页面是那个英语页面的德国版本”——除非两个页面内容确实一一对应,可现实中它们经常不是,德国站可能少了几个品类,多了几个本地商品。

所以这份声明提供的是一个真正的增量信息,短期内不可替代。它和语言定位的区别在于:一个描述的是内容属性(可读出),一个描述的是版本关系(读不出)。前者会被收回,后者不会。

但这个结论有个前提:你提供的对应关系得是真的。如果它大部分是虚的,那系统就会退回到自己判断,那时候这份声明确实就跟被删掉没区别了——不是被官方删掉,是被静静地忽略掉。

把国家码当语言码写,会怎么样?

顺着明细还翻出一批写错的码,数量不多但很典型,值得单独说。

这套基础设施靠的人比想象中少,取决于几个志愿者今年还有没有提交代码

语言码这套体系本身怎么运作,187份裁决书里提到政治的只有1份拆得很细。

七个不认识的码

2469条声明里,语言部分不在正式语言列表中的有7种写法。挑几个说明问题的:

差几个字母就是两个意思,无糖和含糖被词干还原并成了一个

谁在替这些语言申请代码,616份申请书里过半出自同一个组织

有一条写成韩国的国家码而不是韩语的语言码。这两个码长得像,含义完全不同——一个是国家,一个是语言。规范要求语言在前,这个位置只能放语言码。

另一条写成日本国家码加日本国家码的组合。写的人大概觉得“日本的日本版”,但规范眼里这是一个不存在的语言。

还有一条用了印尼语的旧代码。那个码在几十年前被正式替换过,现在的解析器多半仍能识别,但它已经是废弃写法了。

为什么写错了没人发现

这才是重点。这些码错了之后会发生什么?什么都不会发生。

静默失败的另一种形态,人机验证屏被当成正文索引

没有反馈的声明还有一批,接口和订阅源拿什么说自己不想被收录

页面照常打开,搜索引擎照常抓取,后台不会亮红灯,也不会有邮件通知。唯一的后果是这条声明被静默忽略,而“被忽略”和“生效了但没效果”从外部看一模一样。

这就是不可核验字段的典型症状:错误不会引发反馈,于是错误会一直留在那里。对比一下页面顶部那个语言属性,写错了浏览器行为立刻变化,所以那一栏136个站只错了1个。

两个字段的准确率差距,根源就在这里——不是人的水平差距,是反馈回路的差距。

还有一类错更隐蔽:码是对的,指向是反的

比语言码写错更难发现的,是码全对但对应关系接反了。

对照两份结果才看得出来,渲染对比器能揪出爬虫和用户看到的差异

语法层的错至少还能校验,一个尾逗号就能让整页结构化数据失效

典型形态是德语声明指向法语页面、法语声明指向德语页面。这种错误在手工维护的站上并不少见,通常发生在批量修改的时候——复制粘贴改了一半。

它的隐蔽之处在于:所有校验工具都会说没问题。码合法,地址可访问,格式正确,唯一的错误是语义层面的,工具查不出来。

要发现这类错,只能做一次交叉验证:逐条打开声明里的目标地址,确认那一页的实际语言和声明的语言码对得上。这个动作没法自动化到完全可靠,因为需要判断页面语言,但抽查十来条就能发现大部分问题。

建议在两个时机做这个抽查:新增语种之后,以及任何一次批量改动之后。这两个时点是接反最容易发生的地方。

顺手能查的两个地方

要自查其实不难。语言码是否合法,用子标签查询工具逐个敲一遍就知道;页面顶部那一栏的写法要求,语言属性的规范说明写得很清楚,包括为什么应该写具体值而不是留空。

要补别的标记,结构化数据生成器的13种类型够覆盖多数页面。

另一类容易写错又没人提示的是日期,从站点地图的更新时间到结构化数据的日期

更省事的办法是把校验做成发布流程的一部分,让不合法的码根本进不了模板。这比事后审计有用得多,因为事后审计需要有人记得去做,而这类问题恰恰是最容易被忘掉的。

还有几个似是而非的写法

除了明确非法的,数据里还有几个属于“规范上说得通、实际很可疑”的写法,值得一并提一句。

合规检测同样会把对的判成错的,执法指南里的例外被标成高风险

合法和合理的差别在词表上更明显,法律早替你定好了这个东西该叫什么

有站写了白俄罗斯语加白俄罗斯地区的组合。这个组合在规范上完全合法,但从生意角度看,一个消费品牌真的做了白俄罗斯语版本吗?更可能的情况是有人在生成脚本里把国家列表和语言列表做了笛卡尔积。

还有加利西亚语加西班牙和巴斯克语加西班牙这两条。这两种语言在西班牙确实是官方地位的地区语言,写法完全正确,属于做得很细的少数派——如果它们背后真有对应版本的话。

还有一个只写了单个字母的码。这个显然是占位符或者测试残留,正式环境里不该出现。

这几个例子放在一起看,能看出一个模式:合法与合理是两回事。校验工具只能告诉你合不合法,合不合理只能靠人回去对业务。而这一步,恰恰是最容易跳过的。

大小写和分隔符的写法

顺便说说格式细节,因为这是被问得最多的问题之一。

写法细节影响解析的还有面包屑,四种类型与结构化数据实操

大小写规则在标题上更麻烦,那个会毁掉品牌名的坑值得看一眼。

规范对大小写不敏感,语言码写小写、地区码写大写只是约定俗成的可读性习惯,全小写完全合法,不会影响解析。本次数据里136个站的顶部语言属性有1个用了大写语言码,也不算错。

分隔符就不一样了。规范要求用连字符,而有些系统里的地区标识用的是下划线写法。下划线在语言标记里是不合法的,写进去这条声明会被丢弃。本次在顶部语言属性那一栏没发现下划线写法,但这个错误在社交分享标记那边比较常见,因为那个规范恰好要求用下划线,两边容易搞混。

结论很简单:页面语言属性和hreflang用连字符,社交分享地区标记用下划线,两套规范不通用,别互相抄。

广告那边删掉之后,你该盯什么?

回到9月那个变更。既然勾选框没了,那要不要做点什么?官方的说法是现有广告系列不需要动,但有几件事值得提前看。

不投广告也有入口,怎么让商品免费上购物结果

付费数据本来就该反哺自然搜索,6类付费数据怎么反哺SEO决策

三个监控点

第一,搜索词的语言构成。变更之后触发你广告的搜索词,语言分布会不会变。如果原来锁死英语,现在放开,很可能会出现一批非英语搜索词。这不一定是坏事,但你得知道它发生了。

搜索词的构成还能挖出更多东西,用正则挖AI搜索提示词的五步

要盯就得先把数据凑齐,把多平台花费拉进来算统一回报

第二,地理流量的分布。语言判断放宽之后,某些市场的曝光量可能明显变化。特别是那些双语或多语国家,比如比利时、瑞士、加拿大,变化会更明显。

第三,落地页的语言和素材的语言对不对得上。这一条最实际。既然平台改看这两样,那它们就从“无所谓”变成了“判断依据”。素材写英语落地页是德语,这种历史遗留的错配以前靠语言定位兜住了,现在兜不住。

有一类账户要提前动手

报道里提到一个容易被忽略的问题:受监管行业的合规记录

合规架构别毁掉数据,同意横幅怎么配才不影响SEO数据

合规这类事得提前跟法务对齐,法务与SEO协作的七个动作点

金融、医疗、博彩这类行业,有时需要证明某条广告只投给了特定语言的用户,这是合规要求而不是投放偏好。以前语言定位这个设置本身就是证据——设置里写着只投英语,导出来就是一份记录。

现在这个设置没了,而平台没有提供替代的报表来说明某条广告实际投给了哪些语言的用户。这就出现了一个空档:要求还在,证据没了。

做这几个行业的团队,最好在9月之前把现有的账户结构和设置导出存档,同时想清楚之后拿什么当证据。能想到的替代品只有一个:把语言差异做进账户结构里——不同语言用不同广告系列、不同素材、不同落地页,用结构本身来承担原来那个勾选框的说明责任。

广告和自然搜索的语言口径要对齐

还有一件很少被提的事:同一个站,广告落地页和自然搜索的着陆页,语言版本经常不是同一套。

付费与免费混排的另一处,图片搜索开始混入购物广告

付费和自然在新场景里也不是一条通道,5万商业词说三条通道各走各的

常见形态是投放团队为了转化率单独做了一批落地页,这些页面往往不进站点导航、不在站点地图里、也没有hreflang声明。它们在广告体系里活得好好的,在自然搜索体系里几乎不存在。

过去这没什么问题,两套体系各管各的。但这次变更之后,广告投放的语言判断开始依赖落地页语言——而落地页恰恰是这个站里语言标注最不规范的一批页面。

建议做一次对齐检查:把在投的落地页列出来,逐个确认三件事。页面顶部的语言属性有没有写、写得对不对;页面上的文案是不是纯粹一种语言,有没有中英混排的残留;以及广告素材的语言和落地页是不是一致。

这三项都是几分钟能查完的事,但它们从9月起会直接影响投放范围。一个语言标注混乱的落地页,以前只是不好看,之后会变成投错人。

顺带说一句反向的机会

这次变更对一类广告主是明确利好:做多语言但只有一套素材的团队。以前语言定位设置不当会人为切掉一部分流量,现在这个人为限制没了,覆盖会自然变宽。

接得住流量还得靠页面细节,被低估的九个反直觉设计杠杆

接住多出来的流量靠的是页面,高转化电商页面的8模块90天实战

要接住这部分流量,前提是落地页得撑得住。一个用英语接住了德国用户的广告,如果落地页也是英语,转化不会太差;但如果落地页跳到了一个半成品的德语版本,那就是在浪费点击。

9月之前值得跑一遍的清单

把要做的事收成一份清单,按优先级排。做多语言投放的团队,这几项在变更生效前跑完比较稳妥。

有时间窗的事都该提前排期,大促SEO从T减8到T加4的路线图

留基线这件事最好做成固定动作,月报季报的模板与数据管线可以借结构。

动作为什么现在做大概耗时
导出现有语言定位设置存档变更后这个设置就没了,合规留痕只能靠现在半小时
核对素材语言与落地页语言是否一致这两样从无所谓变成判断依据看素材量
记录变更前四周的搜索词语言构成没有基线就看不出变化一小时
记录变更前四周的地区流量分布同上一小时
检查接口自动化脚本有没有写语言条件变更后会直接报错,不是静默忽略看脚本量
确认多语言落地页都能正常打开覆盖变宽之后,冷门版本会开始有流量半天

这里面最容易被跳过、后果又最实在的是第三和第四项。变更之后如果没有变更前的基线,你就没法判断流量的变化是这次调整造成的,还是别的原因。而这类基线一旦错过时间窗就补不回来了。

一个容易踩的坑

还有一件事值得提醒:别在这个节骨眼上同时改别的东西。

同时改多项还会毁掉统计功效,样本量怎么算才能避免假胜利

想保住归因能力,怎么设计实验才知道哪条外链真撬动了排名那六步同样适用。

9月下旬这个变更是全账户生效的,如果你恰好在同一时间调了出价策略、换了落地页、或者改了受众设置,之后数据一旦波动,你分不清是哪一项造成的。

比较稳的做法是在变更前后各留两周的静默期,什么都不动,让这一项变更的影响单独跑出来。这不是保守,是为了保住归因能力。做投放最贵的成本从来不是预算,是搞不清楚哪个动作起了作用。

网站这边现在该改什么?

回到hreflang。看完上面的数据,动作其实很清楚。

改之前先看主体内容占比,模板与广告的七大稀释陷阱

这一层属于技术侧的常规体检,AI时代电商技术SEO的五个新层有完整清单。

先把可核验的那一半做对

页面顶部那个语言属性,如果你的站在97.8% 之外的那2.2% 里,先补上。这一栏成本几乎为零,收益是让所有读取方——浏览器、辅助阅读工具、搜索引擎、AI抓取器——第一时间知道这一页是什么语言。

内容分层怎么搭,一层SEO一层GEO的五板块落地手册

批量生成的页面更要保证语义正确,从模板化转向语义化的八步

补的时候注意一点:这一栏应该写具体值,不要写通用占位。写成表示“未知”的值,等于什么都没说。

另外,如果你的站有多语言版本,确认这一栏是跟着内容模板动态生成的,不是硬编码在头部的一个固定值。这次唯一那个填错的站,八成就是这个原因。

地区声明要有对应的东西

这是本篇最想强调的一条:声明一个地区之前,先确认那个地区真的有一个属于它的页面。

无对应内容的地址怎么处理,筛选网址的三类判别法可以借判据。

无中生有的地址是另一个大坑,筛选过滤产生的海量网址怎么治理

如果没有,正确做法不是给它硬指一个最接近的版本,而是用默认项。默认项存在的意义就是承接所有没有专门版本的市场,它是为兜底设计的,而具体的语言地区声明不是。

本次数据里,73个有声明的站中有66个用了默认项,比例不低,说明大家知道有这个东西。问题是用了默认项之后,仍然又把两百多个市场逐个指了一遍,等于同一件事说了两遍,还是用不同的语气说的。

模板层怎么改才不会反复出问题

手工维护这一层是不可能长期正确的,站一大必然出错。要让它稳定,得从模板层解决,有三个原则。

插件层的逐项取舍,一个出海独立站的设置清单可以对着抄。

模板和插件各写一份是通病,两套结构化数据怎么归一

第一,声明由版本清单生成,不由市场清单生成。这是最关键的一条。很多站的模板逻辑是遍历“我们要卖的国家”,给每个国家生成一条声明——这样必然产出大量虚声明。正确的逻辑是遍历“我们实际拥有的内容版本”,有几个版本生成几条。

第二,地址由路由算出来,不写死。声明里的目标地址应该由同一套路由规则生成,跟页面本身的地址算法保持一致。写死的地址在改版、换域名、调整路径结构时必然失效,而且失效了没有任何提示。

第三,页面不存在就不生成声明。模板里要有一道判断:这个版本的这个页面到底存不存在。很多重复指向就是因为某个语种缺了某个页面,模板兜底指向了默认版本,于是产生了一条错误的对应关系。缺页面的正确处理是不声明,不是指向别处。

顺手提一句自动翻译版本

还有一种常见情况:用机器翻译批量生成了几十个语种的版本,然后给每个都写了声明。

母语者说读着自然不能当验收,小语种内容的审校验收清单

省下的审校最后是拿收录和排名分期还的,机器翻译直接上线的代价

这种做法在技术上没错,声明和页面是一一对应的,倍率也很健康。问题出在内容质量上——如果那些自动翻译的版本读起来不通顺、术语混乱、甚至有事实错误,那么声明得越工整,被抓取和评估的量就越大,暴露的问题也越多。

这是少数几个“做得越规范越吃亏”的场景。合理的做法是先确认翻译质量到了能见人的程度,再把声明补上;而不是先把架子搭全,指望内容以后慢慢改。

三件不值得做的事

不要为了覆盖更多市场而穷举地区码。把两百多个国家全声明一遍,不会带来两百多个市场的排名,只会稀释这份声明的可信度。

对抗式做法为什么注定失败,七大合作型优化策略是反面。

穷举式的做法在别处也一样不灵,关键词堆砌和对抗攻击为何注定失败

不要在语言位置上写国家码。看起来是小错,实际是整条声明被丢弃。

不要指望它能替你解决内容问题。这个标签只负责说明版本之间的对应关系,它不能让一个英语页面在德国排得更好。真正决定的还是页面本身对那个市场的用户有没有用。

动作成本能不能被核验值不值得做
补齐页面语言属性接近零值得,优先
校验语言码合法性值得
清掉没有对应页面的地区声明值得
穷举地区码不能不值得
为每个市场做真实的本地版本看生意规模

怎么说服团队去做这件删减

技术上怎么改都好说,难的是让人同意删。声明这东西看着像资产,删掉需要理由。

最有效的说法不是讲原理,是把数字摆出来:我们声明了40个市场,实际有内容的是2个。这一句话通常比任何解释都管用,因为它把一个抽象的技术问题变成了一个谁都能判断的常识问题。

第二有效的说法是算风险:如果某个市场有语言方面的法规要求,我们声明提供了那个语言的服务,实际给的是英文页面,这个口径对不上。这条对合规意识强的公司特别有用。

最不该用的说法是“这样对SEO好”。这句话在多数公司里已经贬值了,说了也推不动,因为它无法被验证也无法被追责。

删完之后记得留一份改动前的清单存档。不是为了回滚,是为了三个月后有人问“我们德国的声明怎么没了”的时候,你拿得出当时的判断依据。这个动作看着多余,但在跨团队协作里能省掉一整轮争论。

改的优先级怎么排

如果手上是一个已经跑了几年的多语言站,上面这些要一次全改完不现实。给个排序。

改完多久见效要有合理预期,收录、爬坡到起量的真实时间线

排查顺序比排查手段重要,从症状分诊到动手修复的急救手册

第一优先,把明确错误的删掉。非法语言码、指向不存在页面的声明、指向404的地址。这三类是纯粹的减分项,删掉零风险。

第二优先,把虚声明降下来。算一遍前面那个倍率,超过4的部分先处理。处理办法通常不是新增页面,而是删掉那些没有真实版本对应的市场声明,交给默认项。

第三优先,补齐真实存在但没声明的版本。这一类是加分项,但优先级排在后面,因为漏声明的损失通常小于虚声明的损失——漏了顶多不被识别,虚了会拉低整份声明的可信度。

第四优先,才是做新的本地化版本。这属于内容投入,跟声明层没关系,该按生意规模决策,别因为声明写得好看就去做。

一个真实的取舍

去年帮一个做婴童用品的独立站梳理这一层,他们的情况很典型:声明了40多条,实际只有英语和德语两套内容,德语那套还只翻译了商品页,博客和帮助中心全是英语。

语种投入不只是内容成本,多语种客服的四层SLA与工单分流也要一起算。

小语种要不要上、上到什么程度,从插件选型到内容本地化的四步可以对着算。

当时团队的第一反应是补翻译,把德语版本做全。但算下来那是几十万字的工作量,而德国市场当时只占营收的一成出头。

最后的做法是反着来:把40多条声明砍到6条,德语只声明那些真有德语内容的页面类型,其余全部交给默认项指向英语版本。翻译一个字没加,三个月后德语页面的收录反而变好了。

这件事给保哥的印象很深。声明层的优化,减法往往比加法有效,因为它降低的是系统的困惑度,而困惑度一降,剩下那些真实的对应关系反而更容易被采信。

这条规律还会在哪些字段上重演?

把广告那边和网站这边放在一起看,能提炼出一条相当稳的判据。

响应头那一层也有一批同类声明,X-Robots、缓存与Vary的实战机制

少数仍被照办的自填指令是这个,加上noindex之后多久从结果里消失实测过六种场景。

判据只有一句话

一个自填字段能活多久,取决于观察者独立获得同一信息的成本什么时候降到足够低。

系统怎么决定顺序,从召回到重排的四阶段决定了哪些信号还有用。

旧公式失效的完整过程,为什么该转向主题权威那篇有脉络。

语言这件事,二十年前机器判断一段文字是什么语言还不那么可靠,那时候你的声明是有价值的;今天判断语言是件极其廉价的事,于是你的声明就从判据降级成了参考,再降级成了噪音。

页面主题也走过同样的路。早年靠关键词标签告诉搜索引擎这一页讲什么,后来机器能读懂全文了,那一栏就废了。

下一批候选

按这条判据往前看,有几个字段处在不同的阶段。

页面类型声明的用法在变,论坛和问答结构化数据对AI搜索有什么用

哪些类型真有人用,官方第一次公开的全网使用数据给了底表。

已经废掉的:页面自称的关键词、自称的更新频率与优先级。

正在降级的:页面自称的正式地址——搜索引擎会参考你的声明,但它有自己选定的一版;页面自称的语言与地区,就是本篇讲的这一栏。

下一批可能轮到的:结构化数据里的页面类型声明。你说这一页是商品页还是文章页,机器读一遍页面结构其实也判断得出来,只是目前成本还没降到可以完全不看你的程度。

短期内不会动的:那些答案不在页面上的字段——你回传的转化价值、你的内部成本、你对客户的分层。这些平台读不出来,只能问你。

怎么提前认出下一个要被收回的字段

与其等公告,不如自己判断。有三个信号出现时,一个自填字段基本进入倒计时。

官方给工具划的信任边界值得逐字读,这份指引该怎么读

官方叫停过的动作值得逐条看,AEO和GEO到底还是不是SEO整理过一份。

信号一,平台开始展示它自己的判断结果。比如后台某处开始显示“系统检测到的类目”“系统识别的语言”,同时还留着你手填的那一栏。这是典型的过渡期形态——两个值并排放着,本身就说明它已经不需要你了,只是还没好意思删。

信号二,官方文档的措辞从“设置”变成“提示”。用词从“指定”“选择”变成“建议”“参考”,说明权重已经降了。这个变化通常发生在正式删除的一到两年前。

信号三,帮助文档开始强调别的东西。比如这次,官方在讲变更时反复强调素材语言和落地页语言的重要性——这是在提前告诉你新的判断依据是什么。平台在拿走一样东西之前,通常会先花很长时间宣传替代品。

这三个信号在自然搜索侧同样适用。哪个元素的官方说法从“指令”变成了“强烈提示”,哪个元素就在同一条路上。

对做国际站的人的一个提醒

这条规律有个不太舒服的推论:你在声明层做的功夫,长期价值是递减的;在内容层做的功夫,长期价值是递增的。

内容层要做的还有作者这一块,本地媒体里早有另一种拼法

内容层的功夫具体做在哪,那几个最像装饰的信任元素恰恰是搜索量最高的购买词

把hreflang写得再完美,也不如真的做一个像样的德语版本。前者是在告诉系统你有什么,后者是让系统能自己看到你有什么。当系统看得越来越清楚时,告诉它的那一步就越来越不重要。

这条判据在别的平台上一样成立

不只是搜索和广告。把这条判据拿去看其他平台,能省下不少无用功。

商品标识是另一类必须由你提供的事实,商品编码怎么设置才利于SEO

商品数据流那边正在做同一件事,页面标记和数据源的分类终于对上了

商品数据流里,你填的类目正在被平台自动纠正——因为图片和标题足够判断这是什么品类。而你填的成本价它永远不会改,因为它不知道。

社交平台上,你给内容打的话题标签权重在持续下降,因为内容识别能力上来了。而你设置的目标受众仍然有效,因为那是你的意图。

应用商店里,你填的应用分类在被行为数据修正;你填的年龄分级则一直有效,因为那涉及合规责任,平台不愿意替你判断。

规律一致得有点无聊:凡是能从你交上来的材料里读出来的,迟早不再问你;凡是读不出来的,永远问你,而且要你负责。

顺带一个反向的用法

这条判据还能反过来用,用来判断该在哪里花力气做优化

技术侧该做到什么程度,抓得到、读得懂、引得出这三关

该在哪儿花力气,AI搜索可见性的五维深层策略给过一份排序。

如果一个字段属于“平台能自己读出来”那一类,那么优化它的正确方式不是把字段填得更漂亮,而是把它要描述的那个事实本身做扎实。语言声明写得再规范,也不如页面真的用那种语言写得地道。

如果一个字段属于“平台读不出来”那一类,那么它就是你为数不多能主动影响系统的地方,值得认真填、填准、并且保持一致。这一类字段填错的代价,比前一类高得多,因为没有任何人会替你纠正。

两类字段的优化策略完全相反,而多数团队用的是同一套方法——把所有能填的都填满。填满不是策略,分清哪些该填、哪些该做,才是。

只做一个语言版本的站,反而最容易做对

最后说一种很常见的情况:整个站就一个语言版本,卖到几十个国家。这种站要不要做hreflang?

要不要扩市场本身是个决策,七步决策与十二周落地可以照着走。

单站还是多站本身就是一次取舍,建一个大站还是多个品牌小站

三种情形,三种做法

第一种,一个版本、一个域名、卖全球。不需要hreflang。没有别的版本,就没有对应关系要声明。这时候写任何声明都是在无中生有。

多开一个市场的真实成本,从月租、交易费到隐藏开销的成本账

平台层的架构选择会决定这一层怎么写,多市场还是多店铺,先算清SEO架构这笔账

第二种,一个语言、多个地区站点。比如同样是英语,但分了英国站、美国站、澳洲站,价格和物流不同。这时候需要声明,而且这正是同语言多地区的标准用法,重复指向不同地址是完全正确的。

第三种,多语言但覆盖不全。做了英语、德语、法语三个版本,但生意做到二十个国家。正确做法是给三个版本各自声明,然后用默认项承接其余市场,而不是把二十个国家逐个指向最接近的那个版本。

只有一个版本时,别做的三件事

单版本站最容易犯的错,是觉得“别人都在做,我也得做点什么”,于是做出一堆帮倒忙的配置。

从零规划时就把这些想清楚,六个决策加十二周路线图

无谓的层级同样有害,架构搭错了爬虫根本找不到你的产品页

别给同一个页面写一堆地区声明。只有一个英语页面,却给英美加澳各写一条指向它,看起来是覆盖了四个市场,实际上是在说“这四个市场各有一个专属版本”,而它们是同一个。这属于典型的无中生有。

别按访问来源自动跳转。没有别的版本可跳,跳来跳去只会制造重定向链,还会让抓取方看到不确定的结果。

别为了看起来国际化而加语言切换器。切换器背后如果没有真的版本,点开是同一页,用户会觉得被耍了,而这个入口还会占掉导航里一个宝贵的位置。

单版本站真正该做的只有一件事:把顶部那个语言属性写对。就这一件,成本接近零,收益是所有读取方都能正确理解你的内容。

默认项到底该指哪

默认项应该指向那个不针对任何特定市场的通用版本,通常是你的主语言版本,或者一个语言选择页。

兜底机制出错的另一种形态,自动字幕把品牌名听成了另一个词

兜底页面这件事有个更极端的情形,用户撞上404那一刻本地化就管不到了

本次数据里,66个站用了默认项。没细查每个指向哪里,但从抽样看,多数指向的是英语版本或者根域名,这个做法是对的。

要避免的是把默认项指向某个具体国家的站点,比如指向美国站。这在技术上不报错,但语义上是自相矛盾的:你说这是给所有没被覆盖到的人看的通用版本,同时它又是美国专属版本。

一个可以立刻做的自查

不用工具,打开你的首页源码,数两个数:hreflang声明有几条,这些声明指向的不同地址有几个。

最土的自查工具仍然管用,site命令的使用场景与误判

想一次查完更多项,可索引性一键体检能把挡在索引外的原因列清。

如果第一个数远大于第二个数,比如超过三倍,那就值得回去问一句:多出来的那些声明,对应的版本真的存在吗?

这个自查一分钟就能做完,而它问的其实是本文从头到尾的那个问题——你写下的这一栏,背后有没有一个真的东西。

几个常被问到的边界情况

整理这一层时,有几个情况总会被问到,一并说清楚。

服务器放哪也会影响这一层,国内主机还是国外主机要算备案、速度与合规。

价格按市场变化这件事本身也有讲究,把多市场价格排得像本地店

货币不同算不算不同版本?算。同样是英语,一个页面标英镑一个标美元,那就是两个针对不同市场的版本,声明成英国和美国两条是对的。这类是最典型的正当重复。

只是价格不同、其余完全一样呢?还是算。判断标准不是内容差异有多大,而是这两个页面是不是各自服务一个特定市场。价格、税费、物流时效、可售商品范围,任何一项按市场变化,都构成一个真实版本。

子域名和子目录的选择影响这一层吗?不影响声明的写法,但影响维护成本。多语言用子目录的站,声明通常更容易保持同步,因为它们在同一套模板里;用不同域名的站更容易出现某个站改版之后声明没跟着改的情况。

移动端和桌面端要不要分别声明?不要。这个标签处理的是语言和地区的对应关系,不处理设备。两者混在一起写会让声明变得更难维护,而且没有任何收益。

最后回到那个236比6

写到这里,再看那个写了236条声明、背后只有6个页面的站,感受和刚看到数据时不太一样了。

最难的从来不是标签,国际化SEO实操对不上的五大根因

覆盖广不等于做得深,红海类目怎么靠微创新和人群细分突围是同一个道理。

它不是在作弊,也不是不懂。它做的事情很朴素:把生意做到的每一个地方,都在页面上说了一遍。这个动作背后的想法完全可以理解——多说一句总不吃亏,万一有用呢。

问题在于,这个标签的语义不是“我在哪些地方做生意”,而是“我的哪个页面对应哪个市场”。用一个表示对应关系的东西去表达覆盖范围,说得越多,对应关系就越模糊。

而模糊的对应关系,在一个越来越倾向于自己观察的系统面前,价值只会越来越低。广告那边已经给出答案了:当你说的和它看到的不一致时,它不会问你,它会改成自己看。网站这边的答案迟早也是同一个。

把这套方法搬去检查别的声明

本文用的量法其实很通用,核心只有一句:数一遍你声明了多少,再数一遍背后真实存在多少,两个数一比。

这个方法可以直接搬去检查别的东西。站点地图里列了多少个地址,其中多少个真能打开、真被收录;导航里挂了多少个入口,多少个背后有实质内容;结构化数据里声明了多少个属性,多少个填的是真值而不是占位符。

每一次这么数,得到的都是同一种信息:你对外宣称的规模,和你实际拥有的规模,差多少。而这个差值恰恰是系统评估你时最在意的东西之一——它衡量的不是能力,是可信度。

做这类检查有个心理障碍要跨过去:结果往往难看。第一次数完通常会发现自己声明的东西有一大半是空的。但这个难看是好事,因为它是可以靠删除来改善的,而删除是所有优化手段里成本最低的一种。

最后一句

9月那个变更值得所有做多语言的人认真读一遍,不是因为它影响多大——对多数账户影响有限——而是因为它把一件平时不明说的事说破了:平台问你,是因为它还不知道;等它知道了,就不问了。

你填在各种表单和标签里的那些值,都处在这条时间线的某个位置上。有的已经没人看了,有的正在被验证,有的还必须靠你。分得清自己在哪一段,才知道力气该往哪儿使。

常见问题解答

Google Ads删掉语言定位,我需要重建广告系列吗?

不需要。官方明确说现有广告系列不用动,按语言拆分的账户结构可以原样保留。要做的是三件监控上的事:留意变更后搜索词的语言构成、地理流量分布的变化,以及确认广告素材的语言和落地页的语言是一致的。因为判断依据从你填的那个值换成了这两样可被直接读取的东西。

页面顶部那个语言属性和hreflang是一回事吗?

不是。前者说明当前这一页是什么语言,主要给浏览器、辅助阅读工具和内容解析用;后者说明这一页和其他版本之间的对应关系,主要给搜索引擎用。实测数据里两者的填写情况差别很大:前者97.8% 的站填了且几乎不出错,后者只有53.7% 的站做了,而且写法混乱得多。

把两百多个国家都声明一遍,会不会有好处?

不会,反而有害。实测的73个站里有53个存在多条声明指向同一个地址的情况,最极端的一家写了236条声明,背后只有6个不同地址。当一份对应关系表里几十个键映射到同一个值时,它提供的信息量很低,系统会整体调低这份声明的可信度,转而依赖它自己能观察到的东西。

用英语版本覆盖德国、日本这些非英语市场,算不算错?

做法本身完全正当,很多市场的英语普及率足够高。数据显示所有英语声明里有79.6% 指向非英语母语地区,说明这是普遍做法。要注意的是这份声明表达的东西和标签名字对不上:你想说的是那个国家的用户看这一页,标签的语义却是给讲英语的那国人看的版本。多数时候结果一样,需要系统做判断时会分岔。

语言码写错了,会有提示吗?

不会。页面照常打开,抓取照常进行,后台不亮灯,也没有通知。唯一后果是这条声明被静默忽略,而被忽略和生效了但没效果从外部看完全一样。实测发现有站把韩国的国家码当成韩语的语言码写,也有写成日本国家码加日本国家码这种不存在的组合。建议把码的合法性校验做进发布流程,别指望事后审计。

只有一个语言版本的站需要做hreflang吗?

如果只有一个版本、一个域名,不需要,没有对应关系可声明。如果同一个语言分了多个地区站点,比如英国站和美国站价格物流不同,那需要声明,这正是标准用法。如果做了几个语言版本但生意覆盖更多国家,正确做法是给各版本分别声明,其余市场交给默认项承接。

默认项应该指向哪个页面?

指向那个不针对任何特定市场的通用版本,通常是主语言版本或者一个语言选择页。要避免指向某个具体国家的站点,比如指向美国站,这在技术上不报错但语义自相矛盾:既说它是给所有未覆盖用户看的通用版本,又说它是美国专属版本。实测73个有声明的站里有66个用了默认项。

权威参考资料

分享到
标签
版权声明

本文标题:《hreflang里236条地区声明,背后只有6个真页面》

本文链接:https://zhangwenbao.com/hreflang-region-code-declared-vs-real-pages.html

版权声明:本文原创,转载与引用请注明作者与原文链接。许可协议: CC BY 4.0

继续阅读
发表评论
分享到微信 或在下方手动填写
支持 Ctrl + Enter 提交