建议在 先做一次完整站点备份 + 在暂存/测试环境(staging)演练一次 后再在正式站点执行。

一、总体迁移策略(先读这一段,再选策略)

  • 目标:英文做主语言(/),中文放到子目录(/zh/),其他语言类似(/es/ 等)。
  • 原则:不要直接删除或覆盖现有中文页面;保留原中文内容并让它们以 /zh/ 形式存在,避免直接丢流量。
  • 推荐方案(安全且推荐):在 staging 测试完毕 → 在线上启用 Polylang → 配置 URL 为 “语言子目录” → 把已有页面标记为中文并生成英文版本(先做高流量页面)→ 若旧中文 URL 改变则用 301 跳转到新 /zh/ URL。
  • 保守方案(如果不想改任何现有 URL):先把英文做成 /en/(或 /en/ 不隐藏),保留中文 URL 不变;逐步把英文做成熟再把英文设为默认(复杂且更易出错)。我仍建议用推荐方案。

二、上线前准备(必须做)

  1. 完整备份(文件 + 数据库)
    • 插件:UpdraftPlus / All-in-One WP Migration,或主机自带快照。
  2. 建立 Staging(临时测试站)
    • 在主机面板建一份克隆(或用 WP Staging 插件)。把整个过程先在 staging 演练。
  3. 记录高流量页面
    • 在 Google Search Console / Analytics 里导出流量前 50/100 个页面,优先迁移这些页面(翻译与测试)。
  4. 安装 Redirection(或计划如何做 301)
    • 方便把旧 URL 映射到新 /zh/

三、在 WordPress 上的详细操作步骤(一步步来)

1) 把站点后台语言改为英文(可选)

路径:后台 → Settings(设置) → General(常规) → Site Language(站点语言)

  • 设为 English (United States)(这只是后台显示语言,不会删除前台内容)。

注:若你想后台也用英语便于长期维护,改这个;不影响前台已有页面内容。


2) 安装 Polylang 插件

路径:后台 → Plugins(插件) → Add New(安装插件),搜索 Polylang

  • 安装并 Activate(激活)。(免费版 Polylang 功能对大多数多语言站够用)

3) 在 Polylang 里添加语言并设置默认语言

路径:后台 → Languages(语言)(Polylang 新增菜单)

  • Add new language(添加语言):选择 English(United States)并把它设为 默认(界面中通常有一个星形或“make default”)。
  • 添加 Chinese(Chinese — Simplified / zh_CN)作为第二语言。
  • 如果未来要加西班牙语也在这里添加 /es/。

4) 配置 URL 结构(把英文放根目录、中文放 /zh/

路径:后台 → Languages → Settings(语言设置)(Polylang 的设置页)

  • URL modifications(URL 修改/语言在 URL 中):选择 “The language is set from the directory name in pretty permalinks”(即使用目录/子目录表示语言)。
  • 勾选 “Hide URL language information for default language”(隐藏默认语言前缀)—— 这样英文(默认)在根目录 /,中文会是 /zh/
  • 保存更改。

备注:此处非常关键——选错会导致语言前缀配置不符合预期。建议先在 staging 做一次确认。


5) 为现有页面/文章标记语言(重要)

目的:告诉 Polylang 这些已经存在的页面属于“中文”版本,从而把它们放到 /zh/
操作(页面举例):

  • 进入 Pages(页面)Posts(文章),打开一个页面编辑。
  • 在右侧或页面底部会出现 Language(语言) 面板(Polylang 添加的)。
    • 把页面语言设置为 中文 (zh)。保存/更新。
  • Polylang 会把该页面自动关联到中文语言版本,并把 URL 变更为 /zh/your-slug(在 staging 上先观察结果)。

注意:如果你的中文页面当前 URL 为 /xxx(没有 /zh/),Polylang 在启用并标记为中文后页面的 URL 可能会变成 /zh/xxx —— 这会改变公开 URL,需要 301 跳转到新位置(见后面跳转步骤)。


6) 为每个中文页面创建英文翻译(先做关键页面)

仍在页面编辑界面:

  • 在 Language 面板中,点击对应 英文(+)新建图标,会自动创建一个“未翻译”的英文页面草稿并与中文页面互相关联。
  • 在英文页面编辑器中填写英文内容(不要直接用机器翻译未经校对)。
  • Slug(固定链接):可按英文习惯改写 slug(例如 /us-civics-test)。
  • 发布英文页面(English)。

优先级建议:先做首页、题库目录页、最能带流量的 50 页;其余逐步补上。


7) 菜单与语言切换器

  • 路径:Appearance → Menus
  • Polylang 要求为每种语言建立单独菜单:
    • 选择语言(Polylang 在菜单页面会显示一个语言选择项),创建对应语言的菜单并分配位置(如主导航、底部导航)。
  • 语言切换器(Language Switcher):Polylang 支持把切换器放到菜单里或作为小工具(widget)。建议放在顶栏或页眉显眼位置,并用文字(English / 中文)而非只有国旗(国旗有争议)。

8) 翻译站点文字(site title / tagline / 主题字符串)

  • 站点标题/描述Settings → General(Polylang 通常会在 Languages → Strings translation 或类似处让你填不同语言的站点标题)。
  • 主题/插件里的硬编码文字
    • 方案 A:使用 Polylang Pro 的字符串翻译(付费)。
    • 方案 B:使用 Loco Translate 来翻译主题或插件的语言包(适用于 PHP 文本)。
    • 方案 C:若是 widget 文本或自定义 HTML,则手动为每种语言创建对应 widget 或区块。

9) Sitemap 与 SEO(Yoast/RankMath)

  • 如果你使用 Yoast 或 RankMath:它们会生成 sitemap;Polylang 会让 sitemap 涵盖多语言页面(检查 sitemap 是否包含 /zh//)。
  • 提交 sitemap 到 Google Search Console(域名属性或 URL-prefix)。
  • 确认每个页面在前端均含有正确的 rel="alternate" hreflang="..." 标签(Polylang 会自动生成)。
  • SEO 小技巧:英文页面应写更有竞争力的内容(FAQ、官方 USCIS 链接、示例题解)。

10) 处理旧 URL(301 重定向 —— 非常关键)

若启用 Polylang 后旧中文 URL 从 /old 变为 /zh/old,需要把旧 URL 301 到新 URL,避免流量与外链价值流失。
推荐做法: 使用 Redirection 插件(简单易操作)。
操作示例:

  • 安装并启用 Redirection:Tools → Redirection → Add new redirection:
    • Source URL: /old-page-slug/
    • Target URL: /zh/old-page-slug/
    • Type: 301 Permanent Redirect
  • 如果页面很多可以通过 CSV 批量导入(Redirection 支持)或写正则规则(谨慎使用)。

.htaccess 例子(仅限 Apache 熟悉者)

Redirect 301 /old-page-slug/ https://usacivicstest.com/zh/old-page-slug/

(建议使用插件操作,风险小,便于追踪)


11) 缓存 / CDN / 清理

  • 修改上线后清空缓存(WP Super Cache / WP Rocket / FastCGI 缓存)并清理 CDN(Cloudflare 等),确保用户看到最新语言切换与跳转。

四、上线后(监控与校正)

  1. 提交 sitemap 给 Google Search Console,并使用 URL Inspection 请求抓取关键页面(首页、题库重要页)。
  2. 监控 Search Console 的 Coverage / Performance(按语言查看流量变化)
    • 观察首页与高流量页面在 1–12 周内的 impressions / clicks / avg position。
  3. 在 GA4 (或 Universal Analytics) 中查看 language (语言) 维度,比较中/英流量与转化。
  4. 检查 hreflang 报错(Search Console 里如果有 hreflang 错误会提示)并修正。
  5. 检查外部反链指向:若有大量外链指向旧中文 URL,优先对这些 URL 做 301。
  6. 保留旧站快照:保留访问日志和排名数据用于回滚分析。

五、常见问题与解答(FAQ)

Q1:Polylang 会自动翻译内容吗?
A:不会。Polylang 管理语言与页面关联、URL、hreflang 等。内容翻译需人工或使用自动翻译插件(TranslatePress、DeepL/Google API 插件),但建议人工校对。

Q2:英文设为默认后中文页面会丢流量吗?
A:如果按上面方法(保留中文并放到 /zh/,做好 301),短期可能有波动,但长期不会丢失已收录的中文流量。关键是正确做 301 和 sitemap/hreflang。

Q3:是否一定要买 Polylang Pro 或 WPML?
A:免费版 Polylang 足够多数网站。若需要专业翻译管理、字符串翻译界面或翻译服务集成,可考虑 Polylang Pro 或 WPML(付费)。

Q4:站内搜索/题库如何处理?
A:题库建议为每个题目做语言映射(中文题 → 对应英文题页面)。搜索插件需要支持多语言索引(如 Relevanssi 支持多语言),注意配置。


六、实用插件清单(推荐)

  • Polylang(多语言)
  • Redirection(301 管理)
  • UpdraftPlus(备份)
  • Yoast SEO / RankMath(SEO + sitemap)
  • WP Staging(创建测试站)
  • Loco Translate(主题/插件字符串翻译) — 若需要翻译主题文本
  • Google Site Kit(快速接入 Search Console / Analytics)

七、一个可执行的 2 周简化迁移计划(示例)

第 0 步(马上):完整备份并在主机建立 staging。
第 1 天:在 staging 安装 Polylang,添加语言,配置 URL(目录方式 + 隐藏默认前缀)并测试。
第 2–3 天:在 staging 上把关键 20 个中文页面标记为中文并创建英文草稿(首页、题库目录、最热门 20 页)。
第 4–6 天:完善英文内容、翻译校对,同时在 staging 测试菜单、语言切换器、字符串显示。
第 7 天:整理需要 301 的旧 URL 列表并在 Redirection 里做好规则。
第 8 天:在 staging 清理缓存测试 sitemap/hreflang 是否正确(用浏览器查看源码确认 <link rel="alternate"...>)。
第 9–10 天:把所有改动部署到线上(或直接在正式站重复操作),同时启用 Redirection 规则并清缓存。
第 11–14 天:提交 sitemap 到 GSC,持续监控 Performance & Coverage,修复问题。


八、我可以帮你做的事情(你需要时告诉我)

  • 我可以根据你网站最重要的 10 个页面,帮你写 / 优化英文首页与题库页面 的英文文案(SEO 友好)。
  • 我可以把上面步骤整理成一个**可打印的检查表(Checklist)**发给你。
  • 若你愿意,把你站点的高流量 page 列给我(从 Search Console 导出),我可以帮你排优先级并写出每页的英文草稿大纲。

By W

发表回复