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,自动翻译;独立内容需外部工具。
不推荐;用子目录结构 + 手动页面创建,但无插件支持。
快速但质量需校对。

通用建议

  1. SEO 优化:无论插件,确保启用 hreflang 标签(WPML/Polylang 自动支持),让 Google 正确索引每个语言版本。
  2. 测试流程:在 staging 站点创建样例帖子,切换语言检查独立性。使用工具如 Google Search Console 验证多语言索引。
  3. 高级场景:如果内容差异极大(如不同域名),WPML 支持“不同域名 per 语言”设置(WPML > Languages > Language URL format)。
  4. 性能考虑:独立内容会增加数据库负载,选择缓存插件如 WP Rocket