Optimiser les liens pour le référencement dans PrestaShop simplement !

Publié le 10 avril 2014 par Amerigeau @arnaudmerigeau
10 avril 2014

Aujourd’hui, nous allons nous pencher sur un sujet qui concerne tout utilisateur de PrestaShop qui administre une boutique ou intègre avec le CMS. L’idée c’est d’en finir avec les liens en durs, les liens non réécrits ou les liens sans variables. C’est parti !

Intégration des liens dans PrestaShop

Avec la solution e-commerce PrestaShop, les intégrations peuvent être réalisées de différentes manières, plus ou moins pertinentes les unes par rapport aux autres. Plus précisément, l’insertion de liens est au centre des attentions car un bon maillage interne favorise le référencement et donc les ventes !

Si je veux insérer un lien vers une page CMS dans PrestaShop, je peux écrire ne dois pas faire mon lien différemment dans mon fichier .tpl :

http://www.monsite.com/index.php?id_cms=1&controller=cms&id_lang=1

{$base_dir}index.php?id_cms=1&controller=cms&id_lang=1

/index.php?id_cms=1&controller=cms&id_lang=1

http://www.monsite.com/content/1-pagecms

{$base_dir}content/1-pagecms

/content/1-pagecms

Ces exemples fonctionnent – quoique certains pas si navigue sur des pages profondes – mais ne sont pas pertinents lorsque l’on veut intégrer proprement sous PrestaShop car certains liens sont en durs donc obsolètes après une migration de nom de domaine, et certains ne prennent pas en compte la langue notamment si on a une boutique multilingue.

Des liens optimisés dans PrestaShop

On vient de voir comment ne pas intégrer des liens dans PrestaShop. Il convient à présent de se pencher sur la solution pour obtenir des liens propres, optimisés SEO et aptes pour le multilingue. Sans plus attente, tout intégrateur qui se respecte devrait utiliser les variables PrestaShop suivantes pour les différents types de pages :

Lien vers une page catégorie :

{$link->getCategoryLink('12')}

Lien vers une page produit :

{$link->getProductLink('115')}

Lien vers une page cms :

{$link->getCMSLink('1', 'page-cms')}

Lien vers une page catégorie cms :

{$link->getCMSCategoryLink('12', 'page-categorie-cms')}

Lien vers une page fournisseur :

{$link->getSupplierLink('12', 'page-fournisseur')}

Lien vers une page fabricant (marque) :

{$link->getManufacturerLink('12', 'page-fabricant')}

Lien vers une page standard (contact, sitemap, order…) :

{$link->getPageLink('contact-form')}
{$link->getPageLink('sitemap')}
{$link->getPageLink('order')}
...

Les variables indiquées dans cet article sont à insérer comme un lien classique sous la forme :

class="hiddenSpellError">href="{$link->getCMSLink('1', 'page-cms')}">Mon lien

Bon et bien évidemment, je n’ai sorti tout ça de mon chapeau magique – je n’en ai pas – mais simplement de la classe /www/classes/Link.php qui renferme les informations sur la construction des liens dans PrestaShop.

A vous de jouer