首页 > 解决方案 > 如何在 Prestashop 的 TPL 格式中添加 hreflang

问题描述

我有一个多语言网站,为了优化 SEO,我想在标题中添加“hreflang”元标记。

这些语言被组织在子文件夹中,例如:

等等......所以我想将语言子文件夹信息检索到标签中:

**<link rel="alternate" hreflang="$insert_language_of_current_page" href="www.example.com/en">**

但我对 Prestashop 的 TPL 格式不是很熟悉。是否已经有一个参数可以做到这一点?

感谢帮助。

标签: urlparametersmeta-tagsprestashop-1.7lang

解决方案


您可以使用此模块,它会自动将 href langs rel 添加到您的商店: https ://addons.prestashop.com/en/seo-natural-search-engine-optimization/40888-seo-smo-as​​sistant.html

如果你想自己做,对于 PrestaShop 1.7 找到这个文件:

主题/[你的主题]/templates/_partials/head.tpl

将此代码添加到文件末尾:

{foreach from=$urls.alternative_langs item=pageUrl key=code}
   <link rel="alternate" href="{$pageUrl}" hreflang="{$code}">
{/foreach}

对于 PS1.6,您需要找到此文件:

主题/[你的主题]/header.tpl

在此文件中,将以下代码放在</head>标记之前:

{if isset($language_code) && $language_code}
{foreach from=$languages key=k item=language name="languages"}
    {if $language.iso_code == $lang_iso}
        <!-- Current lang -->
        <link rel="alternate" hreflang="{$language_code|escape:'html':'UTF-8'}" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl|escape:'html':'UTF-8'}{else}{$base_dir|escape:'html':'UTF-8'}{/if}">
    {/if}
{/foreach}
<!-- Other langs (if exist) -->
{foreach from=$languages key=k item=language name="languages"}
    {if $language.iso_code != $lang_iso}
        <link rel="alternate" hreflang="{$language.iso_code|escape:'html':'UTF-8'}" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl|escape:'html':'UTF-8'}{else}{$base_dir|escape:'html':'UTF-8'}{/if}{$language.iso_code|escape:'html':'UTF-8'}/">
    {/if}
{/foreach}
{/if}

推荐阅读