如何以Prestashop的TPL格式添加hreflang

时间:2018-07-31 23:04:56

标签: url parameters meta-tags prestashop-1.7 lang

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

这些语言按子文件夹进行组织,例如:

  • www.example.com/zh_CN
  • www.example.com/fr
  • www.example.com/de

,依此类推... 所以我想在标签中检索语言子文件夹信息:

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

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

感谢帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用此模块,它会自动将href lang rel添加到您的商店: https://addons.prestashop.com/en/seo-natural-search-engine-optimization/40888-seo-smo-assistant.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}