WPML 多语言插件
覆盖最全的多语言方案,开销也要提前算
WPML 功能覆盖较全:文章、页面、自定义类型、分类、菜单、字段、商品、字符串都能翻,切换器与 hreflang 自动输出。代价是数据库里会铺开几十张表,后台翻译页偏重。这页讲清 URL 结构、语言切换、翻译流程与性能开销。
URL 结构与语言判定
上线后再改代价很大
多语言站第一件要定的事不是翻译,是 URL 长什么样。它决定收录、缓存键、统计口径,改一次要全站重定向。
子目录
主站是默认语言,其他语言挂 /en/、/de/。权重集中在一个域名,运维最简单,是外贸站的主流做法。
子域名
每种语言独立子域,可以做地域化运营与独立统计,但要分别配证书、分别做收录,运维成本翻倍。
参数形式
用查询参数切语言,实现最省事,但对收录与缓存都不友好,不建议作为长期方案。
语言标识建议用「语言 + 地区」的完整写法,如 en-US、de-DE,而不是只写 en,这样搜索引擎能区分同一语言在不同市场的差异。语言判定顺序是:先看 URL,再看访客上次的选择,最后参考浏览器语言。顺序不能反,否则点开英文链接会被浏览器语言强行跳到中文。
语言切换器
别让它把客户送回首页
切换器做错的地方很集中:切完回首页、没有译文时强行跳转、用脚本跳转导致爬虫抓不到。
正确做法
- 切换后停留在当前页面的对应译文,而不是首页
- 用真实链接输出,每个语言一个可抓取的 URL
- 当前语言高亮,语言名用该语言自身写法,别用中文写「英文」
- 移动端收进折叠菜单,但不要藏在二级菜单里
常见错误
- 用脚本拼接参数跳转,爬虫无法发现其他语言版本
- 该页没有译文时直接 404,应回退到该语言首页并给出提示
- 切换后缓存仍返回上一个语言的页面
切换器位置:主导航右侧放语言缩写,页脚放完整列表。外贸站还有个细节——某个市场只有零星几个产品有译文时,宁可先不做那个语言,也别用机器翻译铺整站,收录上去反而拉低质量。
翻译管理工作流
先定优先级,再谈工具
多语言项目失败往往不是插件不行,是没排优先级:一上来翻三百个产品,翻到第五十个就停,站上留下半套语言。
先翻骨架
导航、页脚、关于我们、联系我们、询盘表单。这五处决定客户能不能看懂你的公司做什么、怎么联系你。
再翻分类与首页
产品分类名、分类描述、首页各模块文案。分类页承载关键词,是自然流量入口,优先级高于单个产品。
然后翻重点产品
按询盘贡献排前二十个产品先翻,其余保持原文并标注语言,比整站机翻更可控。
最后扫字符串
扫描主题与插件里的固定文案,包括按钮、提示、分页、表单校验语。这一步最容易漏,漏了就是中英混排。
翻译模式要分清:独立翻译、显示为已翻译(共用原文但挂不同语言 URL)、复制(新建时复制再改)。参数这类共用内容用复制,营销文案用独立翻译。字段级还有翻译偏好,漏设会让英文页显示中文参数。
hreflang 怎么才算配对
三个条件缺一不可
语言与地区
用 en-US、en-GB、de-DE 这样的组合,别只写 en。地区不对,英美客户会看到同一版本,价格与单位也可能出错。
互指闭环
A 页指向 B 页,B 页也必须指回 A 页。只做单向等于没做,搜索引擎会忽略整组标注。
默认版本
用 x-default 指向语言选择页或主语言版本,给无法匹配语言的访客一个落点。
插件会自动在页面头部输出这组标注,但要注意两点:如果 SEO 插件也在输出 hreflang,会重复甚至冲突,必须关掉其中一个;每种语言要有独立的站点地图,否则新语言的内容提交不上去。另外,机器翻译的页面不要和人工翻译页面混在同一批提交里,质量差异会摊薄整站评价。
canonical 要指向当前语言自身,不要全指向主语言——那等于告诉搜索引擎「其他语言都是重复内容」,翻译白做。配置思路见WordPress SEO 优化。
性能开销
慢在哪,能压到什么程度
多语言插件的开销集中在数据库和后台,不在前端渲染。这一点和缓存插件相反,所以要分开优化。
会变慢的地方
- 库里新增数十张表,字符串表在内容多时可达百万行
- 每个请求都要做一次语言判定与若干次字符串查询
- 后台翻译管理页加载明显慢,列表越长越慢
- 内容体积翻倍,页面构建器保存时写入时间变长
怎么压回去
- 部署对象缓存,把重复的语言与字符串查询挡在内存里
- 页面缓存必须按语言分键,否则会串语言
- 字符串翻译只扫需要的域,别全量扫描后长期挂着
- 定期清理未使用的翻译与孤立字符串记录
实测经验:中小站开对象缓存后,前端响应增加通常在 50 到 150 毫秒,可以接受;后台翻译页慢是常态,靠分批处理而不是加内存。更该警惕的是缓存没按语言区分,英文访客看到中文内容,排查起来比性能问题费时。
档位与价格
按功能包买,不按语言数买
它不限制语言数量,限制的是功能范围:能不能翻商品、能不能接翻译服务、能不能多站复用。
| 档位 | 适合谁 | 大致范围 | 价格区间 |
|---|---|---|---|
| 基础包 | 博客或纯内容站,单一语言扩展 | 文章、页面、分类、菜单 | 约 39 美元/年 |
| 完整包 | 外贸企业站、需要翻自定义类型与字段 | 加上自定义类型、字段、字符串管理 | 约 99 美元/年 |
| 机构包 | 多站点、代运营多个客户站 | 多站授权与团队协作 | 约 199 美元/年 |
| 翻译服务 | 没有译者资源的团队 | 按字数计费,人工与机器两档 | 单独计费 |
价格以官方报价为准,续费才含更新与支持。商城场景通常还要配套的商品多语言组件,按 WooCommerce 规模另算,思路见多币种与多语言商城。
冲突与卸载
数据库里的东西不会自己走
它和另一款主流多语言插件不能共存:两者都改写 URL 规则、注册语言判定,同装会语言乱跳、后台报错。换方案要先停用一个、清它的表与重写规则。
其他冲突点
- 页面缓存未按语言分键,切换语言后仍返回旧语言页面
- 表单插件多语言版本要各建一份,短代码 ID 不通用
- 构建器模板跨语言复用会带错字段值
- 域名迁移后表里残留旧域名的绝对地址
卸载残留
- 语言、翻译、字符串相关表不会随插件删除,需手工清
- 选项表里的语言配置与默认语言设置仍在
- 各语言的页面副本会作为独立内容留下来
- 旧语言 URL 需要统一 301 到主语言,否则大量 404
迁移或停用前,先导出翻译对照表,再决定是否保留双语内容。如果只是换插件,宁可手工重建几十条关键译文,也不要指望自动迁移——结构差异会导致大量错位。方案取舍可以对照Polylang 多语言插件与WordPress 多语言站两页。
常见问题
五个高频疑问
授权按年订阅,停止续费后插件仍能跑,但拿不到更新与支持。WordPress 与 PHP 都在升级,多语言插件钩子极多,长期不更新出兼容问题的概率不低。以官方报价为准。
前端通常增加几十到一百多毫秒,来自语言判定与字符串查询,配对象缓存后基本感知不到。真正慢的是后台翻译页,内容越多越明显,办法是分批翻译。
不建议整站直接用。型号、认证名称这类术语翻错会误导客户;标题描述也要人工润色。可行做法是机器打底、重点页人工校对,其余标注来源并持续替换。
两个都在输出就会重复。进 SEO 插件的多语言设置关掉它自己的 hreflang 输出,只保留一方。改完用浏览器查看源代码,确认每组标注都在、且互相指回,别只看首页,产品页与分类页也要抽查。
先备份。插件删除一般不清理自己的表,要手工删语言、翻译、字符串相关的表,再清选项表里的配置项。清完把旧语言 URL 统一 301,避免死链。
多语言先定结构,再谈翻译
信科网络在山东淄博做 WordPress 建站与外贸出海 11 年,服务过 3000 多家出口企业。语种怎么选、URL 怎么定、先翻哪些内容、缓存怎么分语言,这些前期决定影响后面几年的维护成本。