Urls pour Prestashop

Prestashop 1.7 – SEO – Améliorer ses urls (ép.6)

Le référencement c’est simple d’apparence, mais ça repose sur un tas de critères différents… Ce qui est important c’est de faire une étape après l’autre, en optimisant petit à petit on augmente les chances de mieux se positionner.

Des liens optimisés pour Google

Bien souvent quand on déploie une boutique Prestashop on a tendance à laisser la configuration par défaut et à ne rien changer… pourtant c’est là qu’on peut déjà provoquer une différence. Si votre configuration pour le référencement est plus optimisée qu’un site marchand similaire au vôtre… Google peut donner priorité à votre site e-commerce.

Il faut toujours tout contrôler ce que fait Prestashop, le cas le plus « grave » c’est surtout au niveau des urls produits… je suis presque certain que dans votre shop, des urls ne sont pas optimisée ou ne contiennent pas le nom du produit dans l’url. Et si vous faites du multilingue… je parie à 99% que vous avez des urls qui contiennent du français (et oui c’est pas bien).

Dans le système de routage de Prestashop on peut s’amuser à modifier le comportement des urls, mais ne faites pas « les fous », enlevez vraiment que les paramètres superflus. Evitez de toucher le système de routage des modules, il y’a trop de risques à créer des perturbations.

Le référencement c’est vraiment un truc passionnant, parce qu’on peut faire plein de choses pour optimiser la visibilité de son site, il n’a pas de science exacte… c’est un peu comme la cuisine, chacun essaie de trouver la recette qui réveille les papilles.

C’est aussi pour cela qu’il faut rester humble face au référencement, la tâche est longue… il y’a beaucoup de paramètres qui entrent en jeu et cela ressemble plus à un marathon qu’à un sprint. Profitez donc d’optimiser vos urls Prestashop au plus vite avec mes quelques conseils !

Ressources

Pour ce tutoriel vous aurez à disposition :

  • 1 x fichier de script pour renommer vos urls

Télécharger

Résumé de la vidéo : des urls Prestashop pour un bon référencement

  • Pourquoi les urls c’est important ? Cela aide Google à comprendre son contenu, sans télécharger la page.
  • Vérifiez si l’url-rewriting est bien activé sur votre shop.
  • Est-ce que l’url canonique est bien en mode 301 ?
  • Modifiez les routes de Prestashop afin de raccourcir les urls et les rendre plus pertinentes aux yeux de Google.
  • Profitez de l’occasion pour générer le robots.txt.
  • Les urls des produits dans votre Prestashop sont certainement mal réécrites, mais vous n’avez pas fait attention. Installez le script que je vous propose qui va optimiser automatiquement les liens de votre shop (des heures de travail économisées).
  • Bonus : Pensez à optimiser les liens, titres et balises métas de vos pages principales sous : Paramètres de la boutique -> SEO & URL.

57 commentaires sur “Prestashop 1.7 – SEO – Améliorer ses urls (ép.6)”

  1. bonjour

    Merci pour ce tuto, je viens d’exécuter le script et cela valait le coup de le faire.
    Est-il possible de le mettre en automatique via la crontab svp ?
    A bientôt

  2. Merci webbax ce tutoriel me simplifie la vie.
    mais sous prestashop 1 .7.3
    la ligne : Route vers les produits : {categories:/}{rewrite}
    transforme la en : {rewrite} uniquement ton exemple m’a été refusé en le validant .
    Et je revient au même.
    A bientôt !

    1. Bonjour,

      Il faudrait bien vérifier à nouveau qu’il n’y a pas d’espacements (avant ou après) ou de caractères spéciaux… en essayant de retirer le minimum possible (j’ai pas fait le test sous cette version, mais ça devrait fonctionner). Vous pouvez toujours ouvrir un topic sur Prestashop et demander confirmation à la communauté avec votre exemple. Par contre, c’est important de laisser le « ID » il ne faut pas le retirer.

      A bientôt !

  3. Bonjour, je suis sous prestashop 1.6.1.15
    Je voudrai savoir si il est possible de modifier la route vers les produits : {categories:/}{rewrite} en la transformant : {rewrite}
    Si c’est le cas faut-il faire des redirections 301 ? Sachant que l’url canonique est bien en mode 301
    Merci pour vos tutos !

    1. Bonjour,

      A ma connaissance on ne peut pas retirer l’ID de la route et d’ailleurs je déconseille vivement de retirer l’ID, car celui-ci est nécessaire pour que Prestashop continue à traiter correctement les informations. Vous pouvez laisser les variables ID et REWRITE, c’est déjà une belle optimisation et le lien normalement reste valide avoir à faire de redirection.

      A bientôt !

  4. Bonjour,
    super tuto, sans l’avoir regardé j’avais déjà appliqué cette notion depuis pas mal de temps car effectivement c’est ce qu’il y a de plus logique à faire.

    Pour y ajouter une petite pierre il existe un module réalisé par Milosz Myszczuk qui supprime les id dans les urls et que j’utilise personnellement avec succès, le module s’appelle « Pretty / Clean URLs », grâce à lui j’ai des urls toutes propres et très courtes.

    A bientôt

      1. Hello,
        effectivement je ne pense pas non plus que le fait de retirer les ids dans les urls soit d’une importance capitale mais on fini par devenir seo-parano à force de lire ce que Google attend d’un site et de son optimisation….

        Pour l’instant et j’insiste bien sur « pour l’instant » je n’ai rencontré aucun bug lié à ce module, je touche du bois.

        A bientôt

  5. sur ma boutique d’aujourd’hui presta 1.6 j’ai cela en route produit=
    {id}-{rewrite}{-:ean13}.html
    cela me convenait très bien avec des adresses courtes.

    et en faisant des tests sur presta 1.7,
    {id}{-:id_product_attribute}-{rewrite}{-:ean13}.html

    presta 1.7 impose ce parametre {-:id_product_attribute} que je ne veut pas garder car si je migres ma boutique cela va changer mes liens de produits

    comme indiqué ils imposent ces 3 attributs maintenant !Mots-clés : id*, id_product_attribute*, rewrite*

    que conseillez vous ?

    merci d’avance !

    1. Bonjour,

      A mon avis certainement que cela est rétro-compatible, je pense que même si le « id_product_attribute » est ajouté en tant que 2ème paramètre, cela ne devrait pas conduire à une page 404… Le lien vers la page produit devrait toujours fonctionner (mais je n’ai pas assez de recul pour vous garantir ce point).

      A bientôt !

      1. Bon apparement c’est bon car l’adresse canonical sans le productid et toutes les déclinaisons est mise dans le source code de la page produit.

  6. Bonjour,
    Mon site est sous presta 1.6.1.18,

    voici la configuration « Route vers les produits » : {category:/}{id}-{rewrite}{-:ean13}.html

    Alors quel’URL s’affiche de cette forme : http://www.accessoiretelephone.fr/67-iphone-x

    Alors que je veux plus avoir « l’ID » avant le nom de la page et je veux affiche le sous catégorie « Coque personnalisée »
    Accueil > IPHONE>Coque personnalisée >IPHONE X
    Comment faire SVP ?!

        1. Bonjour,

          C’est une bonne remarque effectivement je n’avais pas vu ce point… à première vue on dirait que par exemple pour les produits il faut modifier la configuration de routage dans SEO & URLS en indiquant le paramètre suivant {categories:/}.

          A bientôt !

  7. Bonjour,

    Merci pour votre retour, la configuration est bien indiqué dans :
    Route vers les produits :{category:/}{id}-{rewrite}{-:ean13}.html
    Route vers la catégorie : {id}-{rewrite}

    il est ou le problème donc ?

  8. Bonjour Germain,

    Un grand merci pour tes vidéos qui sont d’une aide précieuse.

    Pour aller plus loin au niveau de la route des fiches produits que nous modifions ensemble, pourrais-tu nous donner la commande à indiquer dans le fichier .htaccess qui nous permettrait de rediriger les anciennes URL vers les nouvelles, et ce, afin d’éviter les erreurs 404?

    Pour information, je suis sous Prestashop 1.7 et je possédais auparavant la « route native ». Bien à toi,

    1. Bonjour,

      Cela dépend parfois aussi de l’hébergeur au niveau des règles…

      Est-ce que vous avez vérifié si réellement cela renvoie une erreur 404 ? Dans une partie des cas de figure Prestashop fait la redirection 301 automatiquement.

      Mais comme ça de tête… sans tester je ne pourrais pas donner une règle à intégrer dans le .htaccess.

      A bientôt !

      1. Bonjour Germain, j’ai entretemps trouvé la solution.

        Cela peut peut-être intéresser du monde ici,

        donc voici ce qu’il faut indiquer dans le HtAccess

        (avant les com #Prestashop)

        #redirection suite suppression categorie dans url produit
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.tondomaine.com$
        RewriteRule . - [E=REWRITEBASE:/]
        RewriteCond %{HTTP_HOST} ^www.tondomaine.com$
        RewriteRule ^.*/([0-9]+)-[_a-zA-Z0-9-]*\.html$ %{ENV:REWRITEBASE}index.php?controller=product&id_product=$1 [NC,QSA,L]
        

        Bien sûr, remplacez http://www.tondomaine.com par le domaine de ta boutique

          1. Bonjour,
            Tout d’abord, félicitation pour cet excellent tutoriel vidéo !
            J’ai tout suivi à la lettre et tout fonctionne sauf le routage vers les produits où je souhaite appliquer le rewrite suivant : {rewrite}-{id}{id_product_attribute}/
            et je tombe sur les URL de pages produit 404 (…/index.php?controller=404)
            et l’ajout proposé par Marine au fichier .htaccess ne fonctionne pas.
            Je suis un peu perdu, d’autant que lorsque vous faites des essais de changement d’URL produits dans votre vidéo, tous les changements s’appliquent sans avoir à toucher au .htaccess.
            (je précise que je suis assez nouveau avec Prestahop. J’ai beaucoup bossé avant avec WordPress pour des blogs et je n’ai jamais eu ce genre de souci en proposant des réécritures d’URL)
            Comment cela se fait il ?
            Bien cordialement,
            Emmanuel

          2. Bonjour,

            Il faudrait vérifier que le fichier « .htaccess » existe bien à la racine de votre boutique Prestashop et que les urls simplifiées sont bien activées.

            A bientôt !

        1. Bonjour

          Il y a un : amp; de trop. Cette redirection fonctionne sous presta 1.6 :

          #redirection suite suppression categorie dans url produit
          RewriteEngine On
          RewriteCond %{HTTP_HOST} ^www.plastifieuses.fr$
          RewriteRule . – [E=REWRITEBASE:/]
          RewriteCond %{HTTP_HOST} ^www.plastifieuses.fr$
          RewriteRule ^.*/([0-9]+)-[_a-zA-Z0-9-]*\.html$ %{ENV:REWRITEBASE}index.php?controller=product&id_product=$1 [NC,QSA,L]

          Anne-Sophie

  9. Super tuto ! pensez vous qu’il soit judicieux de créer une planification automatique du script ? Si oui, a quelle fréquence ?

    merci d’avance

    1. Bonjour

      Oui c’est possible, si votre catalogue n’est pas trop lourd et que le script s’exécute en quelques minutes (vous pouvez mettre une tâche planifiée 1 x par jour à minuit).

      A bientôt !

  10. Salut Mr Webbax ! 😉
    Super tuto encore une fois !
    J’ai presque fini ma boutique, tu me diras ce que tu en penses 🙂
    Ton script est il compatible avec la version 1.6.1.20 ? car j’aimerais l’essayer.
    Je voudrais pas crasher mon site.
    Merci encore pour ta contribution!
    A+ Fred

    1. Hello,

      Alors oui cela devrait être compatible PS 1.6 (je viens de jeter un oeil au code). Tu peux faire une sauvegarde de la base de données Prestashop juste avant (pour mesure de sécurité).

      A bientôt !

  11. Bonjour,
    merci pour ce top tuto,
    j’ai bien appliquer l’ensemble des étapes et mes url simplifiées sont correctes.
    Je précise que la plateforme que j’ai construite est une marketplace (plusieurs vendeurs).
    Pb avec Facebook, je vous explique =
    je cherche une solution pour les url, car si on télécharge le catalogue sur facebook (grace au pixel) il répond que les url ne doivent pas contenir des chiffres et caractères spéciaux. De ce fait, facebook indique des codes erreurs et je ne peux pas faire du retargeting auxprès des visiteurs. A moins que ma compréhension de la manipulation prestashop =>facebook m’échappe. merci pour votre aide

    1. Hello,

      Alors, il faut voir déjà le caractère qui lui cause problème (avec un exemple d’url) ensuite idéalement dans le script il faudrait faire un « str_replace » sur le nom du produit (quand on fait le SET `link_rewrite`)… afin de remplacer le caractère spécial par un caractère sain.

      A bientôt !

  12. Bonjour,

    Merci pour tes précieux tutos.

    J’ai vu que les urls produits dans ta vidéo finissaient par …. /1-tshirt-delave-manches-courtes.html#/……
    J’ai le même souci sur mes urls sais tu comment supprimer le # ?
    merci d’avance
    à bientot

    1. Bonjour,

      Je n’ai jamais essayé de corriger cela… il me semble que c’est pour assurer une url unique pour les déclinaisons (à confirmer).

      A bientôt !

  13. Bonjour Germain,

    Déjà un grand merci pour tout tes conseils qui sont plus qu’utile pour un novice comme moi.
    lorsque j’active url simplifiée sur mon shop, toutes mes images ne s’affiche plus comment faire pour palier à ce problème.
    D’avance merci

    1. Hello,

      C’est toujours amusant de constater que d’autres personnes ont besoin du même genre de scripts Prestashop 😉

      Merci pour le retour positif !

  14. Bonjour,
    merci pour cette excellente vidéo.
    Vous indiquez que normalement prestashop fait des redirections 301 automatiquement si on change une route d’URL. Mais n’est-ce pas gênant de se retrouver avec des redirections? Par ex, le temps de chargement de la page est légèrement augmenté avec une redirection.
    Et concernant les 2 réglages suivants, ils sont censés être sur oui ou non (presta 1.6.1.23)?:
    Désactiver l’option MultiViews d’Apache
    Désactiver le module mod_security d’Apache
    Merci pour l’ensemble de vos partages et d’avance pour vos réponses!

    1. Bonjour,

      Il est important de mettre la redirection « 301 » dans la configuration pour l’url canonique (et ça ira très bien)… le pire c’est d’avoir la redirection « 302 ». Pour ces 2 options (MultiViews d’Apache / mod_security d’Apache) cela doit être à « Non ».

      A bientôt !

  15. Salut,

    Boutique 1.7.6.5, install toute fraîche, docker, nginx php-fpm.
    Comme Emmanuel dans un précédent commentaire, je cherche simplement à inverser le pattern de route vers le produits, pour avoir {rewrite}-{id}{-:id_product_attribute}.html plutôt que {id}{-:id_product_attribute}-{rewrite}.html, ce qui est plus pertinent d’un point de vue SEO. En faisant cela, erreur 404 vers les produits (…/index.php?controller=404). Dans mon cas, j’ai l’impression que le problème se situe au niveau de la config Nginx (config de base dispo sur le repo PrestaShop) qui ne semble pas gérer ce cas particulier mais je coince. Certains gros sites 1.7 (le slip par ex) ont réussi à appliquer cette structure d’urls. Une idée ? Merci par avance !

    1. Hello,

      Pour dire vrai je n’ai pas vraiment approfondi toutes les combinaisons possibles sur la partie routage de Prestashop… Peut-être qu’un module « SEO » Prestashop qui fait un rewrite optimisé du routage serait plus simple à mettre en oeuvre.

      A bientôt !

  16. Bonjour
    Merci pour tous ces conseils et qui en plus fonctionnent!! pour un débutant c’est vraiment le top
    Ca fait 4 ans que nous essayons de mettre un site en route et n’ayant pas de connaissance en informatique vos différents tuto sont providentiels
    je me sert de gmetrix pour essaye d’avoir un site performant et rapide mais j’ai un problème de redirection de page que je ne sais pas comment résoudre si vous pouviez me donné la procédure a suivre voila l’alerte gmetrix
    « Évitez les redirections sur la page de destination pour la chaîne d’URL redirigée suivante.
    http://www.desirsintimes.fr/
    http://desirsintimes.fr/
    https://desirsintimes.fr/  »
    site réservé aux adultes attention si vous avez des enfants autour de vous quand vous l’ouvrez
    Merci par avance

  17. J’allais travailler sur ce point, prêt à me décarcasser comme pas possible ! Mais là, je constate que j’ai bien fait de chercher sur Google avant, merci mille fois Webbax pour la rédaction de cet article !

  18. Il y a un vrai problème avec la gestions des URLS Canonique lorsqu’il y a des déclinaisons. Pourquoi l’url de la fiche produit pointe directement sur la déclinaison ce qui fait par exemple

     » https://intimithe.com/the-noir-parfume/290-635-the-noir-earl-grey.html#/40-choix_du_conditionnement-100g_sachet_hermetique  »

    alors que la canonical est

    Le problème ne se pose pas sur les fiches produits sans déclinaisons, la canonical est bonne et correspond à la fiche produit parent.

    Pourquoi Prestashop met en place se type de développement qui va à l’encontre du SEO ?

Laisser un commentaire

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