在 WPML 中添加 hreflang 而不创建额外的语言

Posted

技术标签:

【中文标题】在 WPML 中添加 hreflang 而不创建额外的语言【英文标题】:Adding hreflang to my head without creating extra languages in WPML 【发布时间】:2021-08-04 14:26:21 【问题描述】:

我用 4 种语言构建了一个网站:

荷兰语 法语 德语 英语

我用 WPML 做到了这一点。 我想使用区域,例如 en-US、en-GB、en-IE。 WPML 说我需要添加 2 种额外的语言,这意味着仅对于 hreflang,我需要每个页面或产品 3 次,并且当需要修改时,每个页面或产品必须完成 3 次。

所以我写了一个小脚本,它会动态地将 hreflang 添加到我的脑海中:

add_action('wp_head', 'add_link_in_head');
function add_link_in_head()


    $url = get_the_permalink();
    $wpml_permalink = apply_filters( 'wpml_permalink', $url , 'en' );

        ?>
                <link rel="alternate" href="<?php echo $wpml_permalink; ?>" hreflang="en-gb" />
                <link rel="alternate" href="<?php echo $wpml_permalink; ?>" hreflang="en-us" />
                <link rel="alternate" href="<?php echo $wpml_permalink; ?>" hreflang="en-ie" />
        <?php

因为我只有一种 WPML 语言 en 我是说这是 en-gb、en-us 和 en-ie 的页面。

这是一个可行的解决方法,而不是在 WPML 中添加额外的语言?

【问题讨论】:

【参考方案1】:

我怀疑这是否可行,因为您为所有 3 个 hreflang 标记提供了相同的 URL。

由于每个 URL 的内容没有变化(它是同一个 URL),我怀疑这可能会混淆爬虫并可能影响您网页的排名。 rel="alternate" 部分旨在告诉爬虫每个标签中的 URL 是页面的替代版本 - 您对所有标签都有相同的 URL。

我建议您使用以下测试工具测试您的 hreflang 标签:https://technicalseo.com/tools/hreflang/

【讨论】:

以上是关于在 WPML 中添加 hreflang 而不创建额外的语言的主要内容,如果未能解决你的问题,请参考以下文章

我的hreflang标签有什么问题?

如何从 hreflang 中删除 TYPO3 9 SEO 扩展中的区域

sql WordPress + WPML:这将两个缺少的列添加到wp_icl_strings(导致WPML字符串翻译表为EMPTY)

text 通过短代码手动添加WPML字符串

php 将当前的WPML语言添加到body类

我应该使用哪种 WPML 字符串翻译方法?