多语言外贸站的爬虫准入为什么更复杂?语言版本和抓取路径的关系

浏览进度条

多语言外贸站最容易把“语言切换”做成“搜索和爬虫看不懂的跳转迷宫”。真正稳的做法,是让每个语言版本都有明确 URL、自我声明、互相指认和可抓取路径,而不是把所有流量都丢给一个首页语言按钮。

外贸站一旦做多语言,爬虫准入就不再只是“能不能抓到页面”这么简单了。

因为你面对的是几种同时存在的情况:

  • 同一产品有多个语言版本;
  • 同一语言有多个地区版本;
  • 模板翻译了,正文没翻译;
  • 语言切换器只对人有效,对 crawler 不稳定;
  • canonical、hreflang、sitemap、地区跳转同时存在,却彼此打架。

这就是为什么多语言站的爬虫准入比单语言站更复杂。

为什么多语言站容易出问题

Google 官方已经明确说过:如果你有不同语言或地区的页面版本,应该告诉 Google。这样做有助于 Google Search 把用户送到更合适的版本。

另一个前提也很重要:Google 建议不同语言版本使用不同 URL,而不是只靠 Cookie、浏览器语言或同一个 URL 动态切换内容。对爬虫来说,稳定 URL 比“猜用户语言”更可靠。

但现实里很多外贸站会做成这样:

  • 用户在美国打开首页,自动跳到英文页;
  • 用户在德国打开首页,自动跳到德文页;
  • crawler 不带地区偏好,先被跳到某个默认页;
  • 这个默认页又把 canonical 指向另一个语言页;
  • sitemap 里只放了首页,没放各语言产品页;
  • hreflang 只写了一个方向,没互相指认。

结果就是:人能看懂,机器看不懂。

自动跳转不是绝对不能用,但不要让它变成唯一入口。更稳的做法是:每个语言版本都可以直接访问,页面上有真实语言切换链接,并用 hreflang 或 sitemap 把版本关系说清楚。

多语言站要先区分三件事

1. 语言版本

同一内容翻译成不同语言,比如英文、德文、西语。
这种情况下,应该让 Google 明确知道这些是同一内容的语言版本。

2. 地区版本

同一种语言面向不同地区,比如:

  • 英文-US
  • 英文-GB
  • 英文-IE

Google 官方建议,如果你有同一种语言但不同地区的多个版本,最好也提供一个通用版本,给语言相同但地区不明确的用户使用。

3. 规范版本

同一内容可能还有重复 URL,比如参数、路径、协议、设备版本等。
这个时候才需要 canonical 来告诉 Google 首选哪一个 URL。

把这三件事混在一起,就是多语言站最常见的事故源。

Google建议你怎么告诉它

Google 说,标注多语言 / 多地区版本有三种方式,而且从 Google 的角度看,这三种方式是等价的:

  • HTML
  • HTTP Header
  • Sitemap

这意味着什么?

不需要三套都上。
选一套你能长期维护的就够了。

最稳的多语言URL思路

常见外贸站 URL 结构有三种:

结构 例子 特点
子目录 /en//de//es/ 最常见,维护方便
子域名 en.example.com 清晰,但配置稍复杂
独立域名 example.deexample.com 地区感强,但维护成本高

不管哪种结构,关键都不是“长得像不像”,而是:

  1. 每个语言版本能被稳定访问;
  2. 每个版本都能自我声明;
  3. 每个版本都指向其它语言版本;
  4. 不同语言之间不要乱 canonical;
  5. 站内导航和 sitemap 也要同步。

一个多语言页面的Hreflang示例

下面是一个简单的 HTML 写法。重点是每个版本都要互相列出来,而且 URL 必须是完整的。

<link rel="alternate" hreflang="en" href="https://www.example.com/en/products/industrial-pump/" />
<link rel="alternate" hreflang="de" href="https://www.example.com/de/produkte/industriepumpe/" />
<link rel="alternate" hreflang="es" href="https://www.example.com/es/productos/bomba-industrial/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/en/products/industrial-pump/" />

如果你在英文页上写这段,也要在德文页、西语页上写对应的互相指认。少一边,Google 可能会忽略。

Google 也明确说,它不是靠 hreflanglang 属性来判断页面语言,而是主要靠算法。hreflang 的作用是告诉 Google 这些页面是同一内容的本地化版本。

所以,hreflang 不是排名加分项,也不是翻译质量证明。它解决的是“这些版本彼此对应,应按语言 / 地区给用户更合适的版本”。

什么情况下会被当成重复页

Google 说,只有当主要内容还是同一种语言时,本地化版本才会被看作重复页。比如:

  • 只是导航和页脚翻译了,正文还是同一种语言;
  • 页面主体没翻译,只是换了地区标签;
  • 同一内容被复制到多个 URL,但正文几乎没变化。

这对外贸站很关键。因为很多站以为“换个头部语言按钮”就算多语言了,但正文没翻译,机器还是会把它当重复或弱变化页面。

canonical和多语言的关系

这部分特别容易写错。

不同语言版本,通常不应该互相 canonical 到同一个语言页。
正确做法是:

  • 同语言重复页,使用 canonical 归一;
  • 不同语言版本,使用 hreflang 说明关系;
  • 页面内容真的相同,才考虑 canonical;
  • 页面内容是翻译版,就别拿 canonical 去压成一个 URL。
英文页 -> 英文 canonical
德文页 -> 德文 canonical
西语页 -> 西语 canonical
三者互相通过 hreflang 指认

如果你把德文页 canonical 到英文页,通常是在告诉搜索引擎:德文页只是英文页的重复版本。对真正的翻译页,这通常不是你想要的。

多语言站最常见的入口层问题

多语言站不只是“标签问题”,还是“路径问题”。

问题 会发生什么 更稳的做法
自动地区跳转 crawler 进站后看不到真实版本 保留可直接访问的语言 URL
语言按钮只靠 JS crawler 可能拿不到切换入口 用真实链接 + HTML href
首页跳转到默认语言 其他语言页发现更慢 每种语言都可直达
语言页之间互相 canonical 语言版本被压成一个 用 hreflang,不要乱 canonical
sitemap 只放默认语言 其它版本发现慢 各语言页都进入 sitemap
robots 误挡语言目录 语言页无法抓取 放行公开语言目录
页面正文没翻译完整 语言版本被看成重复页 确保正文翻译到位
同一 URL 按 IP 或 Accept-Language 换内容 crawler 可能抓不全所有版本 使用独立 URL + hreflang
语言页误加 noindex 该语言版本不应期待参与搜索展示 移除误伤的 noindex,或确认它确实不该展示

noindex在多语言站里更要小心

多语言站经常出现一个隐蔽问题:英文页允许索引,德文页、西语页却被模板或插件误加了 noindex

如果某个语言版本被 noindex,那它即使写了 hreflang,也不应期待参与 Google Search 展示或 Google AI features 候选。hreflang、sitemap、语言切换链接都不能把一个明确 noindex 的页面变成可展示页面。

排查时可以先抽查各语言核心产品页:

curl -L https://www.example.com/de/produkte/industriepumpe/ | grep -i "robots"
curl -I https://www.example.com/de/produkte/industriepumpe/

如果 HTML 里有 noindex,或者 HTTP Header 里有 X-Robots-Tag: noindex,就要判断这是不是误伤。

sitemap在多语言站里的角色

在多语言站里,sitemap 不是主角,但它很重要。

Google 官方说,标注语言 / 地区版本可以通过 HTML、HTTP Header 或 Sitemap 三种方式。也就是说,sitemap 可以帮你把语言版本列出来,但它不应该和 canonical 混成一件事。

如果你有成套的产品页、多语言案例页、多语言 FAQ,sitemap 可以帮助搜索系统更快发现这些版本。

<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.example.com/en/products/industrial-pump/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/products/industrial-pump/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/produkte/industriepumpe/" />
    <xhtml:link rel="alternate" hreflang="es" href="https://www.example.com/es/productos/bomba-industrial/" />
  </url>
  <url>
    <loc>https://www.example.com/de/produkte/industriepumpe/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/products/industrial-pump/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/produkte/industriepumpe/" />
    <xhtml:link rel="alternate" hreflang="es" href="https://www.example.com/es/productos/bomba-industrial/" />
  </url>
  <url>
    <loc>https://www.example.com/es/productos/bomba-industrial/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/products/industrial-pump/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/produkte/industriepumpe/" />
    <xhtml:link rel="alternate" hreflang="es" href="https://www.example.com/es/productos/bomba-industrial/" />
  </url>
</urlset>

这只是示意。你不一定要把所有东西都塞进 sitemap,但多语言站至少要让搜索系统知道:这些版本彼此对应。

不要把这句话外推成“所有 AI crawler 都会读取 sitemap 里的 hreflang”。目前能稳写的是:Google 支持用 sitemap 提供多语言 / 多地区版本信号;其它平台是否使用这类信号,要看各自官方说明。

外贸站该怎么选页面结构

如果你刚起多语言站,优先顺序可以这样排:

  1. 先把核心产品页翻译完整;
  2. 再做分类页;
  3. 再做 FAQ;
  4. 再做案例页;
  5. 最后补 About、Contact、RFQ。

不要一上来把所有博客都翻译了,却让产品页还停留在默认语言。

多语言爬虫准入清单

检查项 合格标准
每个语言版本都有独立 URL
每个版本可直接访问
所有版本互相指认
不同语言不乱 canonical
同语言多地区有 catchall 版本
sitemap 包含核心语言页
语言切换不是纯 JS 独占
页面正文真的翻译了
不靠地区跳转把 crawler 挡住
robots 没误封语言目录
不用一个 URL 动态切换所有语言
不把所有语言 canonical 到英文页
核心语言页没有误加 noindex

先别把多语言做成迷宫

多语言站的正确目标,不是让爬虫记住一堆复杂规则,而是让它清楚知道:

  • 哪些页面是同一内容的不同语言版;
  • 哪些页面是不同地区版本;
  • 哪些 URL 是规范版;
  • 哪些内容应该被公开抓取;
  • 哪些内容只是路径变体。

这就是多语言外贸站爬虫准入真正复杂的地方。不是语言多了,而是信号多了。信号不统一,搜索系统就容易乱。

如果你使用 Schema.org 的 inLanguage,可以把它当作结构化数据里的语义补充,但不要把它当作 hreflang 的替代品。hreflang 解决的是搜索中的语言 / 地区替代版本关系。

参考资料

内卷越来越激烈,再不做好独立站,就真的晚了!

添加微信咨询

扫描二维码添加微信客服

联系我们

  • 微信同号: 13077312120
  • Email: service@wphuo.com
  • 地址: 工业设计城智点汇7楼701 佛山市顺德区工业大道32号