做外贸或服务境外客户的企业站,常遇到一个现象:中文页和英文页都上了线,搜索结果里却只出现一个版本,另一个像被藏起来。多数时候不是内容问题,而是 hreflang 没配对,两个语言版本被当成重复页面互相稀释。
先判断:你的站需不需要 hreflang
满足两条才需要配:
- 同一批产品或服务,存在两种以上语言的独立 URL;
- 每个语言版本是为当地用户写的,不是同一段文字的机器翻译。
只有中文站,或者英文站仅几页公司介绍、没有对应中文页,就不用配。配错的代价比不配更高:标签指向 404、互指不成闭环,搜索引擎会直接放弃这一组关系。
第一步:先定 URL 结构
三种常见做法,选一种并在全站统一:
| 方案 | 形式 | 适合 | 代价 |
|---|---|---|---|
| 子目录 | example.com/en/ | 中小企业首选,权重集中 | 模板需支持多语言路由 |
| 子域名 | en.example.com | 不同团队分开运维 | 权重分散,各自做收录 |
| 独立域名 | example.en | 当地品牌独立运营 | 成本最高,跨站关系难维护 |
结构定完,再写两条硬规则:语言切换必须落在可被抓取的 a 链接上;不要用 JS 判断浏览器语言后自动跳转,也不要用 Cookie 让同一个 URL 返回不同语言——爬虫看到的那一份,才是被收录的那一份。
第二步:把三行标签写对
在每个语言版本的 head 里,列出这一组页面的全部语言版本,包括自己。英文页 /en/about 的 head 应当是:
<link rel="alternate" hreflang="en" href="https://example.com/en/about" />
<link rel="alternate" hreflang="zh-Hans" href="https://example.com/about" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/about" />
四个要点:
- 自引用不能省。英文页里必须有一条 hreflang="en" 指向自己,缺这行,整组关系常被判无效。
- href 写绝对地址,且必须是 200 可访问的最终地址,不要写会 301 的旧地址。
- 语言码优先用 zh-Hans、zh-Hant、en;只有确实要区分地区(比如 en-US 与 en-GB 的价格不同)时才加地区码。
- x-default 指向语言选择页;没有选择页就指向默认版本,全组保持一致。
第三步:上线前过六项检查
- 互指闭环:中→英、英→中两个方向都在,语言码一一对应。
- canonical 指向自己:英文页的 canonical 是英文页地址,不要全站都指中文首页。
- 页面没有被 noindex、robots.txt 或登录墙挡住。
- 每个语言版本都在 sitemap 里,最好带 xhtml:link 声明。
- 导航和页脚的语言切换链接可点、可抓。
- 抽查 5 组核心页面(首页、产品列表、两个产品详情、联系页)逐条对照。
配完怎么验证
上线 3–7 天后,在 Search Console 的「国际定向」报告看语言与地区分布,出现「未找到返回标签」就说明有一侧漏写;用浏览器查看源代码,确认标签是服务端输出,而不是 JS 插入的。三个高频错误:只在一个语言版本里写标签、canonical 全部指向默认语言、机翻页面直接照抄中文页的 title 和 description。
新加页面最容易漏配,建议按固定周期复查一遍。
多语言和 SEO 基础检查这类重复活,飞钉 AI 建站放在后台做:发布后自动巡检 canonical、hreflang、标题与描述缺失,问题清单直接给到人;站内 7×24 智能客服接住访客提问,留资线索自动进 CRM,不用再靠人盯后台翻记录。