你刚打开百度统计,发现法国IP的访问量一夜之间掉了大半——服务器没报警,内容没删,外链也都在。直到你点开一个法语页面的源代码,一眼看见 <link rel="alternate" hreflang="zh-cn" ...>,而页面正文全是法语单词。那一刻你心里一沉:不是流量跑了,是谷歌压根没让你的页面进法国用户的搜索结果。

为什么一个标签错误,能让谷歌直接忽略整个网站?

hreflang 的作用很简单:告诉搜索引擎,“这个页面是给谁看的”。
比如法语页就标 fr,德语页标 de,别让德国人点进来发现满屏法语。

可一旦标错,谷歌就懵了。
它以为你是中文站,就把你的法语页塞给搜“北京烤鸭”的中国用户;反过来,法国人搜“chaussures”,你的页面根本不出现在结果里。
更麻烦的是,如果多个页面互相指错、自相矛盾,谷歌可能干脆不收你的页面——索引都懒得建。

我之前帮一个做工业设备出口的网站诊断,他们同时上线了英、德、法三版,但所有页面的 hreflang 都写着 en-us。结果呢?德国客户搜“Industriemaschinen”,首页排在第37页;法国客户搜“machine industrielle”,连影子都找不到。
后来把语言代码全换成对应版本(de-defr-fr),再补上各自正确的回链,不到三周,两个市场的自然流量就开始稳步回升。

最常见的5个错误,你踩过几个?

  1. 自引用标签缺失
    每个语言页面,都得有一条指向自己的 hreflang 标签。
    比如法语首页必须有:
    <link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
    没有这句,谷歌会默认:“这页没主语”,直接跳过匹配。

  2. 语言代码写错
    zh-cnzh-hanszh
    前者专指中国大陆简体中文,后者是全球简体通用码,zh-hans 是技术标准写法。
    如果你面向新加坡、马来西亚华人,用 zh-cn 反而会漏掉他们——人家浏览器语言设的是 zh-sgzh-my,根本对不上。

  3. 乱用 x-default
    x-default 不是“默认中文”,它是兜底开关:当用户浏览器语言不在你任何已声明版本中时,才触发。
    很多人把它当成“中文主页入口”,结果西班牙用户、阿拉伯用户、日语用户全被导到中文页,跳出率直接拉满。

  4. URL 不一致
    hreflang 里的链接,必须和页面真实地址一模一样:协议(https)、域名(www要不要)、路径末尾斜杠(/),全都得严丝合缝。
    少一个 s,多一个空格,这个标签就算废了。

  5. <head> 和 HTTP 头重复声明且冲突
    有些 CMS 会自动在响应头里加 hreflang,又在 HTML <head> 里手动写一遍。
    两边内容稍有出入(比如一个写 en-gb,一个写 en-uk),谷歌就会犯嘀咕:到底听谁的?最后可能两个都不信。

如何用3步法,快速定位并修复标记错误?

别一页页翻源码。真要靠肉眼,等你看到第200个页面,咖啡都凉透了。

第一步:抓出你所有的多语言页面地址
打开 Screaming Frog(你网站SEO日常就在用它),输入根域名,勾选“Follow Canonicals”和“Crawl JavaScript”,跑完后导出所有带 /fr//de//ja/ 这类路径的URL。
重点确认:每个语言版本是否都有对应入口页,有没有漏掉某国子站。

第二步:扔进 Google Search Console 验证
进 GSC → 左侧菜单点「国际定位」→「语言」标签页。
这里会直接列出:哪些页面缺自引用?哪些语言组没闭环(比如法语页指向了德语页,但德语页没回指)?有没有 URL 拼错?
不用装新工具,GSC 本身就能干这事——而且数据来自谷歌真实爬虫。

第三步:按类型批量修,别手敲

  • 缺自引用?用正则在模板里统一加一行;
  • URL 协议写成 http?全局替换为 https;
  • zh-cn 写成 cn?全站搜索替换,注意别误伤其他 cn 字段;
  • 修完立刻在 GSC 提交更新后的 Sitemap,并对主语言页点「请求索引」。

为什么你的多语言网站,流量反而比单语言版更差?

很多人上线多语言站,就是找翻译公司扫一遍英文文案,生成几个新目录,然后扔上去。
结果呢?谷歌判定你是在复制粘贴,不是服务不同人群。

关键不在“有没有翻译”,而在“有没有本地化意图”。
比如英语里搜 “running shoes”,法国人习惯搜 “chaussures de course”,而不是直译的 “chaussures de running”。
如果你的法语页 hreflang 标的是 fr-fr,但内容用的是加拿大法语词(比如 “magasin en ligne” 而非法国常用 “boutique en ligne”),那法国用户永远找不到你。

真实例子:一个卖户外装备的品牌,法语站上线半年零流量。我们查源码发现,他们用机器翻译生成页面,hreflang 全标 fr-fr,但产品描述里混着瑞士、比利时用语,连“帐篷”都用了法语区三个不同叫法。改成纯巴黎本地团队润色+统一术语后,法国站自然搜索曝光两周内翻了两倍多。

当你修复了所有标记错误,流量会立刻回来吗?

不会。
谷歌需要时间重新抓取、解析、打标签、重新排序。这个过程通常要2–4周,中间还可能出现波动:某天流量涨了,第二天又跌,甚至比修之前还低一点。

这不是失败信号,而是“系统重置中”。
就像你重装微信,聊天记录不会秒恢复,但只要账号在线,消息迟早同步回来。

我见过最典型的案例是一个日语B2B站点:修复前靠错误标记蹭了些泛流量,修复后第一周自然搜索量掉了近两成——那是谷歌在清理“无效索引”。但从第10天起,来自日本企业采购关键词的精准点击开始明显增多,第三周起稳定爬升,一个月后,日本本土关键词排名前十的数量从3个涨到19个。

盯住 GSC 的「国际定位」报告就行。只要错误数归零,绿色对勾变多,你就只管等——别反复改,别临时加新标签,让谷歌安静跑完这一轮。

今天就能执行的1个操作:检查你的首页源代码

打开你的网站根域名(比如 https://example.com),右键 → 查看网页源代码 → 搜 hreflang
看看有没有这一行:
<link rel="alternate" hreflang="x" href="https://example.com/" />

其中 x 应该是你主站的语言代码(比如英文站填 en,中文站填 zh-cn)。
如果没有,或者写成了 zh / cn / default 这种不规范写法,立刻去你网站后台的HTML头部设置里加上正确的一行。
加完保存,马上进 Google Search Console,找到这个首页URL,点「请求索引」。
不用等明天,现在就能做完。