WordPress 多语言站点中实现每种语言独立内容的方法在 WordPress 多语言插件中,如果每个语言的内容不是简单翻译,而是完全独立(如不同文章、页面或设计),这称为“独立内容”或“无翻译链接内容”。大多数插件(如 WPML 和 Polylang)支持这种模式,你可以创建每个语言的独立帖子/页面,而不强制链接翻译。TranslatePress 更适合翻译同一内容,对于独立内容需用条件短代码 workaround。以下是针对我之前推荐的主要插件的实现方式。我用表格总结比较,便于查看。步骤基于官方文档和用户实践,确保 SEO 友好(使用 hreflang 标签)。
|
插件名称
|
是否支持独立内容
|
实现方式概述
|
详细步骤
|
注意事项
|
|---|---|---|---|---|
|
WPML
|
是(最佳选择)
|
通过复制帖子/页面并“断开翻译链接”,每个语言创建独立版本,支持自定义类型和设计差异。
|
1. 安装 WPML,设置语言(WPML > Languages)。 2. 创建原语言帖子。 3. 在 WPML > Translation Management 中,选择帖子 > Duplicate(复制)。 4. 编辑复制版本,分配目标语言。 5. 在 Advanced Translation Editor 中,选择“Blank slate”模式从零开始编辑(不继承原内容)。 6. 保存并发布,确保不链接翻译。
|
企业级,兼容 WooCommerce;免费版不支持完整功能,需 Pro 版。适合复杂站点。
|
|
Polylang
|
是(免费灵活)
|
每个帖子独立分配语言,不强制同步翻译;可创建完全独立的帖子库。
|
1. 安装 Polylang,添加语言(Languages > Languages)。 2. 创建帖子时,在侧边栏选择“Language”下拉菜单分配特定语言。 3. 为每个语言重复创建帖子(不链接翻译)。 4. 若需同步部分内容,用 Pro 版“Synchronized Posts”功能,但可关闭以保持独立。 5. 在 Languages > Settings 中启用自定义帖子类型支持。
|
轻量级,免费版够用;Pro 版加高级同步。适合博客。
|
|
TranslatePress
|
部分支持(需 workaround)
|
主要翻译同一内容,但可用条件短代码显示语言特定内容;不直接创建独立帖子。
|
1. 安装 TranslatePress,设置语言(Settings > TranslatePress)。 2. 在页面中使用短代码如 [trp_language language=”en”]English content[/trp_language] 显示特定语言内容。 3. 或用 CSS/JS 隐藏/显示块(基于语言类如 .trp-en)。 4. 对于整页差异,创建独立页面并用重定向插件辅助。
|
不如前两者直观,适合简单差异;免费版限 2 语言。
|
|
Weglot
|
否(自动翻译)
|
云端实时翻译同一内容,不支持独立编辑;需手动覆盖但复杂。
|
不推荐;若坚持,用自定义 JS 注入语言特定 HTML,但易出错。
|
适合快速翻译,不宜独特内容。
|
|
GTranslate
|
否(AI 翻译)
|
类似 Weglot,自动翻译;独立内容需外部工具。
|
不推荐;用子目录结构 + 手动页面创建,但无插件支持。
|
快速但质量需校对。
|
通用建议
- SEO 优化:无论插件,确保启用 hreflang 标签(WPML/Polylang 自动支持),让 Google 正确索引每个语言版本。
- 测试流程:在 staging 站点创建样例帖子,切换语言检查独立性。使用工具如 Google Search Console 验证多语言索引。
- 高级场景:如果内容差异极大(如不同域名),WPML 支持“不同域名 per 语言”设置(WPML > Languages > Language URL format)。
- 性能考虑:独立内容会增加数据库负载,选择缓存插件如 WP Rocket