内容站什么时候做双语:Search Console 信号 + 30 篇门槛

用 Search Console 国家信号、hreflang layout 模板、30 篇复盘门,决定是否上第二语言。

加第二种语言听起来像白送流量。实际上维护翻倍、权重被分散,只有特定条件下才值得。下面就是那些条件、Search Console 上的市场信号、以及发第一篇第二语言文章前必须就绪的 hreflang layout 模板。

问题背景

单语言站刚跑通的那一刻,最容易动加第二语言的念头——但这往往是最坏的时机。第一种语言才刚开始有效果,你就要把稀缺注意力分出去。加第二种语言的合适时机是有明确可量化信号的。

判断标准

  • 主语言站点至少 100 篇、有 6 个月以上的稳定流量。
  • 没发任何第二语言内容时,Search Console 里就已经能看到来自第二语言国家的流量。
  • 主题能干净翻译——不是本地段子、不是某地特有的法规或文化绑定的话题。
  • 能扩到 1.5 倍的产出预算,或者愿意放慢主语言。
  • 能分清看两个语言各自的分析数据,不会混淆。

快速结论

只在主语言有稳定流量、主题能干净翻译、产能能撑 1.5 倍的时候上第二语言。否则继续等。

开始前准备

  • Search Console 已接入,≥ 90 天数据。
  • hub / 分类名翻译词表草拟好(保证命名一致)。
  • layout 能从数据渲染 hreflang,不要每个文件手写。

实操步骤

  1. Search Console 检查”国家”信号。 Performance → 按 Country 筛 → 按 clicks/impressions 排序:
curl -X POST "https://www.googleapis.com/webmasters/v3/sites/$SITE/searchAnalytics/query" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  --data '{
    "startDate":"2026-02-22","endDate":"2026-05-22",
    "dimensions":["country"],"rowLimit":20
  }' \
  | jq -r '.rows[] | [.keys[0],.clicks,.impressions] | @tsv'
# 仅英文站 CHN 或 TWN 季度 >1000 impressions → ZH 需求是真实的
  1. 审视前 30 篇文章的翻译可行性,把高度本地化的剔除。

  2. 决定 URL 结构。 默认 /en/.../zh/... 子目录。framework 里:

src/content/articles/en/<hub>/<slug>.mdx
src/content/articles/zh/<hub>/<slug>.mdx
src/pages/[lang]/articles/[...slug].astro
  1. 发第一篇第二语言文章前,layout 必须先有 hreflang。 Astro 示例:
---
const { lang, translationKey } = Astro.props.article.data;
const site = Astro.site.toString().replace(/\/$/, '');
const path = Astro.url.pathname;
const otherLang = lang === 'en' ? 'zh' : 'en';
const otherPath = path.replace(`/${lang}/`, `/${otherLang}/`);
---
<link rel="canonical" href={`${site}${path}`} />
<link rel="alternate" hreflang={lang} href={`${site}${path}`} />
<link rel="alternate" hreflang={otherLang} href={`${site}${otherPath}`} />
<link rel="alternate" hreflang="x-default" href={`${site}${path.replace(`/${lang}/`, '/en/')}`} />
  1. 先翻(更好是重写)最强的 10 篇。 这 10 篇定格式、做种子。重写胜过直译——能把本地语境编进去。

  2. 加语言切换——切到对应同篇文章,不是切到首页:

---
const { lang, translationKey, urlSlug } = Astro.props.article.data;
const altLang = lang === 'en' ? 'zh' : 'en';
const altPath = `/${altLang}/articles/${urlSlug}/`;
---
<a href={altPath} rel="alternate" hreflang={altLang}>
  {altLang === 'zh' ? '中文' : 'English'}
</a>
  1. 第二语言独立 Search Console property,曝光 / 点击数据要分得开。Domain property + 按语言路径的 URL-prefix property。

  2. 写到 30 篇第二语言时复盘。 曝光为零或平 → 暂停,标 noindex,follow

{frontmatter.lang === 'zh' && pauseZh && (
  <meta name="robots" content="noindex,follow" />
)}

执行检查清单

  • 上线前 Search Console 已观察到国家级需求信号。
  • URL 第一天就带语言前缀。
  • hreflang 由 layout 发,不手写。
  • 切换器同文章 ↔ 同文章,不是回首页。
  • 两种语言各自独立 Search Console property。

上线后验证

  • EN 文章 URL Inspection 显示 ZH 是 “alternate page with proper canonical tag”,反之亦然。
  • 两种语言的 coverage 独立增长。
  • 跨语言对没有 “Duplicate, Google chose different canonical”。

容易踩的坑

  • 主语言才 30 篇就上双语,两边都还没扎根就一起放弃。
  • 用模型自动翻译直接发——质量太差 Google 也认得出。
  • 语言切换器只跳首页,读者期待对应文章却跳走了,跳出率飙升。
  • 忘了 hub 和分类名也要两边一致翻译。
  • 把第二语言当翻译项目而不是写作项目,文化层面的重写通常更有效。

FAQ

  • 第二语言会不会抢主语言流量: 只有 hreflang 配错才会。配对了,两种语言面对不同 SERP,不互相抢。
  • 该用翻译服务还是自己写第二语言: 能自己写就自己写或重写。翻译稿读起来都很平,排名也差。
  • 为了 AdSense 收入值得做双语吗: 只为 AdSense 通常不值。要么为总触达、品牌,要么是另一市场的产品或联盟变现更高。
  • 之后还能切回单语言吗: 可以——把放弃的那一侧 noindex,能映射的 URL 做 301,避免硬删。
  • 第二语言 30 篇后流量不增长怎么办?: 要么主题不可翻译,要么再等几个月。再观察 60 天,若仍平就暂停。

相关阅读

标签: #独立开发 #建站策划 #双语 #hreflang #SEO #内容运营