为解决类似的问题挣扎了几天。尝试了Polylang、WPML和各种自定义代码。对域名和语言进行了一些研究。
我从子域开始。myfancysite。com,然后添加de.myfancysite。com,it。myfancysite。然后我意识到我正在失去一些潜力。
得出了一些结论:
在CCTLD上传播多语言项目的成本更高,但比使用子域/文件夹要好得多,因为我可以在各自的国家托管每个网站,而且我不必与Cloudflare等CDN提供商捆绑在一起。然而,它不仅昂贵,而且复杂。大多数可用于多语言项目的插件(免费或付费)都处理子域设置,关于不同TLD上分布的不同域的信息很少。尝试了一些自定义插件,付费了一些。缺少了一些东西。总是
这就是我所做的。
生成了自定义命名下划线。me主题。前一个Wordpress主题由Wordpress背后的商业公司Automatic维护。可信赖的我不必支付定制开发费用,我将与众所周知的公司合作。我也不会使用付费主题。从多个角度来看,它们(再次)不可靠。下划线不应该不可靠。我不必处理儿童主题,我也有自己的品牌。
在本地安装了第一个项目。开始设置它。我使用了一些插件,但不多,而且安装最多(维护良好)-一个SEO插件,从URL中删除类别,非常简单的ssl,联系表单7以及非常简单的captcha、easy updates manager和ACF。
后者对我的搜索引擎优化至关重要。它渲染字段。就像我的农场。
在ACF中添加了一个名为“it语言”的组。组可用于帖子和页面。为我对应的每种语言添加了一个字段。将字段命名为德语、西班牙语、意大利语等。
回显标题中的字段。php,在<head>
地区
<link rel="alternate" hreflang="de" href="<?php echo the_field(\'german_language\'); ?>">
ACF为我创建变量并将其保存在DB中。
我使用相同的变量创建了一个带有标志的小部件。
如果有其他域上不存在的页面或帖子,我只会在我的hrelang代码echo中添加一个条件(isset可以工作,应该不难)。
然后到处安装生成的网站。使用WPRESS(付费插件导入,但我从其他项目中获得了它)备份和导出。您可以使用任何其他方法导出/导入同一项目。更改了语言,更新了翻译。
清洗,漂洗,重复。
如果你正确使用hreflang,Google不会看到重复的内容。这是关键——hreflang。
未来是光明的。