Aujourd’hui, c’est le début des soldes, notamment en ligne, et qui dit solde dit gros trafic ! Vos serveurs sont déjà passés au bord de la mort pendant les fêtes, et bien heureusement malheureusement ce n’est pas terminé !
Comme on est sympa chez 202, nous vous proposons aujourd’hui une technique pour améliorer drastiquement vos performances, si vous modifiez le schéma d’URL de Prestashop !
Pourquoi réécrire les URL de Prestashop ?
Prestashop est relativement bien conçu pour le référencement (en tout cas, mieux que d’autres semble-t-il !), mais il y a tout de même plusieurs points qui nécessitent des améliorations, on attend d’ailleurs beaucoup de Prestashop 1.5 !
Bref, un des points que tous les gourous du référencement vous recommandent, est de modifier le schéma d’URL des fiches produits.
En standard l’URL d’une fiche produit est la suivante :
mon-site.com/dernier-niveau-de-categorie-par-defaut/ID-mon-produit.html
L’objectif est d’obtenir :
mon-site.com/ID-mon-produit.html
Simplifier l’URL de la fiche produit en supprimant la catégorie permet une plus grande flexibilité sur la gestion des catégories.
Module de réécriture d’URL
Il existe des modules pour modifier les URLs Prestashop, notamment URL Rewriting +, mais attention aux performances : à chaque URL réécrite, il y a (au moins) un accès base. Sur la page d’accueil d’un client qui référençait certes beaucoup de produit, ce module était responsable à lui seul de + de 100 requêtes SQL !!!
Supprimer la catégorie dans l’URL de la fiche produit Prestashop avec un override
1 – Si il s’agit de ne pas afficher une info, pas besoin de requêtes SQL supplémentaire,
2 – Les URLs simplifiées sont justement construites par Prestashop, modifier la construction de l’URL de la fiche produit revient à modifier la construction de l’URL simplifiée dans le coeur de Prestashop.
Depuis Prestashop 1.4, il est ainsi possible de modifier le fonctionnement du coeur de Prestashop sans modifier le code directement, on appelle ça l’override (article de Julien Breux à lire sur le blog Prestashop). Cette solution permet de maintenir la possibilité de mise à jour de votre Prestashop, indépendamment de vos modifications au coeur.
Il faut donc modifier la fonction responsable de la construction des URLs des fiches produits (getProductLink) pour supprimer l’ajout de la catégorie. Le résultat est en PJ, à déposer dans votre dossier override/classes.
Ce fichier a été testé avec Prestashop 1.4. Nécessite de vider le cache Smarty.
Attention
1 – L’optimisation d’URL est efficace et recommandée, mais pas indispensable : si vous avez un site qui fonctionne bien et qui est bien référencé, ne modifiez pas votre site uniquement pour améliorer les URLs. En revanche si êtes amenés à modifier votre site, et que les URLs vont changer pour des raisons techniques (contrainte CMS, etc…) , profitez-en pour faire des URLs SEO friendly.
2 – Si vous modifiez vos URLs, attention à les maintenir : c’est à dire renvoyer les anciennes URLs vers les nouvelles. Ne vous lancez pas seul dans ce chantier si vous ne savez pas ce que vous faites.
3 – Le fichier override vous est livré gratuitement sans aucune garantie de la part de 202 ecommerce. Merci de ne pas le redistribuer, mais de faire un lien vers cette page.

Excellent billet pour optimiser son SEO sous PrestaShop !
Comme graphiste (joli prénom ?!!), je vous remercie pour l’astuce qui va me servir de ce pas !
Bonjour,
la duplication d’url n’existe plus « normalement » puisque la notion de catégorie par défaut est en place. Si votre produit fait partie de 2 catégories, la catégorie par défaut, sera la structure de l’url de votre produit et cela que vous cliquiez sur le produit au départ d’une catégorie ou d’une autre.
C’est un peu l’équivalent de l’url canonique.
Maintenant la suppresion de la catégorie peut-être effectivement intéressante, dans le cas ou le nom des produits parlent d’eux même : exemple http://www.monsite.com/idprod-jean-diesel.htlm ou http://www.monsite.com/idprodmarque-page-mariage.htlm
Dans le cas d’un catalogue construit sur des urls à nom de produit exotique : par exemple : cristal motif libellule, le fait de garder dans l’url la catégorie peut-être un plus pour le référence
http://www.monsite.com/flute-chamapagne/idprod-cristal-motif-libellule.html
L’url rewriting est un vrai projet au coeur du projet web.
Et si votre site existant est en cours de migration ou de refonte, il convient d’être extrêment vigilant sur les redirections à préparer, vous devez isoler toutes les urls indéxées et de faire des redirections 301 sur toutes vos positions stratégiques vers la nouvelle url
Bonjour Corinne,
Effectivement avec Prestashop 1.4 et suivants, il n’y a pas le problème de Duplicate Content initialement évoqué dans cet article (avec les anciennes version de Prestashop, une fiche produit pouvait avoir plusieurs URLs). J’ai corrigé mon article, merci de votre remarque !
Matthieu
Et avec une URL Canonique dans une page avec la catégorie dans l’URL et mieux l’URL sans catégorie, cela n’irait pas ?
@Corinne : « Graphiste » pour associer le mot graphiste au nom de domaine, principe de base de SEO.
Sauf que les liens de ce blog sont en « nofollow », donc cela n’a aucun impact et le lien ne bénéficie pas de la notoriété de 202
Bonjour Frédéric,
En cas de fiche produit accessible par 2 URLs, on pourrait effectivement ajouter un rel canonical dans la fiche produit qui pointerait vers l’une des URLs.
Cela dit, je pense que rien ne vaut un schéma d’URL « naturel » parfait, la balise rel canonical n’étant dans ce cas précis qu’une réparation de fortune pour corriger un schéma d’URL imparfait à cause de contraintes techniques, contraintes que l’on pourrait justement abolir facilement. Même remarque que ci-dessus : j’ai mis à jour l’article suite à la précision de Corinne : pas de duplicate possible en Prestashop 1.4 car les fiches produit n’ont qu’une URL.
Sur ta seconde remarque : … « de l’énorme notoriété de 202″