RSW | Référencement site-web et optimisation SEO  Audit et optimisation SEO  Référencement naturel  Référencement local  Campagne ADWORDS  Réseaux sociaux

c’est le principe de la gestion de templates <{SMARTY}>
c’est ce qui permet de compresser le code, et la gestion du cache des templates.

http://www.smarty.net/

Tu peux tout à fait utiliser du php dans tes templates tpl.
http://www.smarty.net/docsv2/fr/language.function.php.tpl

Avec effectivement l’utilisation de smarty.

{php}
// inclusion directe d’un script PHP depuis le template.
include(‘/chemin/vers/display_weather.php’);
{/php}

Et tu peu créer toute sorte de conditions avec les smarty:

{if $status == ‘ok’}

{else}

{/if}

Pas tout les cms utilisent ce type de gestionnaire de templates.

Je peux juste vous dire, que « c’est très puissant » et accessible, pas aussi compliquer que ça.
Le language Smarty, c’est beaucoup plus simple que le Php.

Avec juste ça :
{if $variable}

{else}

{/if}

Tu peut déjà faire plein de choses pour le SEO dans les templates.

 

Une autre astuce pour éviter le DC avec Prestashop,
c’est d’utiliser la balise canonical.
<link rel= »canonical » href= »… »>

Vous pouvez aussi faire un truc comme ceci dans le header de votre thème :

Exemple pour avoir la/les pages du Panier et la page contact en noindex,NoFollow :

Ajoutez ce bout de code dans le header de votre thème:

Code: Tout sélectionner
{if $page_name == panier && $page_name == contact}
<meta name="robots" content="noindex,follow">
{else}
<meta name="robots" content="{if isset($nobots)}no{/if}index,follow">
{/if}

Lorsque la page est : « panier » ou « contact,
la balise robots est en nonindex,nofollow.

Une autre astuce très simple est d’ajouter ce bout de code dans la page ( templates ) que l’on souhaite en noindex, nofollow :

Code: Tout sélectionner
{php}$nobots = '1'; {/php}

Pour activer le noindex des pages « order by » des categories de prestashop:

On va vérifier dans l’url si certaines variables existent.

Toujours dans votre fichier header.tpl de votre thème Prestashop.

Vous copier/coller ce code :

ATTENTION: le code doit être juste « avant » la balise : <meta name= »robots » content= »…

Code: Tout sélectionner

{php}
// Detection d'un eventuel numero de page
if (isset($_GET['p'])) {
$varpagenumber=$_GET['p'];
if($varpagenumber>1) {
$paramurl="?p=$varpagenumber";
$smarty->assign('nobots', 1);
};
};
if (isset($_GET['n'])) {
$varpagenumber=$_GET['n'];
if($varpagenumber>1) {
$paramurl.=(empty($paramurl)?"?":"&")."n=$varpagenumber";
$smarty->assign('nobots', 1);
};
};
// Detection des variables eventuelles de tri de produits
if (isset($_GET[‘orderby’])) {
$varorderby=$_GET[‘orderby’];
$paramurl.=(empty($paramurl)? »? »: »& »). »orderby=$varorderby »;
$smarty->assign(‘nobots’, 1);
};
if (isset($_GET[‘orderway’])) {
$varorderway=$_GET[‘orderway’];
$paramurl.=(empty($paramurl)? »? »: »& »). »orderway=$varorderway »;
$smarty->assign(‘nobots’, 1);
};{/php}

Astuce: pour garder propre le code de fichier header.tpl.
Vous pouvais créer un fichier : include_head.tpl que vous ajouter dans le dossier de votre thème.
Dans ce fichier vous copier le code php ci-dessus.

Et ensuite dans votre header.tpl
vous remplacer le code, par :

Code: Tout sélectionner
{include file='include_head.tpl'}

Pour inclure la balise <meta canonical dans votre thème Prestashop :

Toujours dans le fichier header.tpl

–> Copier /coller ce bout de code, entre les balises <head> et </head>

Code: Tout sélectionner
{if $page_name == index}
<link rel="canonical" href="{$base_dir}" />
{elseif $page_name == product}
<link rel="canonical" href="{$base_dir}{$request_uri}" />
{else}
<link rel="canonical" href="{$base_dir}{$request_uri|substr:1|regex_replace:'/\/(.*)/':''|regex_replace:'/\?(.*)/':''}" />
{/if}

Voilà, avec tout cela, vous devriez ne plus avoir de Duplicat Content dans votre boutique Prestashop.

Luc

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *