Prestashop noindex

Prestashop 1.7 – SEO – Technique Noindex (ép.4)

Et voilà un nouveau tutoriel pour optimiser votre référencement Prestashop, on va voir ensemble pourquoi il est important de limiter l’indexation de vos pages dans Google, afin d’être plus visible.

Indexer moins, mais mieux…

Il y’a des fausses croyances en référencement, comme par exemple le fait de penser que si on a beaucoup de page dans Google, on va forcément drainer un trafic énorme (ce qui est totalement faux). D’ailleurs vous pouvez regarder ma vidéo sur le sujet : Est-ce que vous avez trop de pages dans Google ?.

Ce qu’il faut comprendre, c’est que chaque page indexée dans Google c’est très précieux… et il faut donc donner à Google uniquement ce qui est bon pour lui (un peu comme à un enfant, vous n’allez pas le bourrer de burgers toute la journée). Il est donc important de privilégier la qualité plutôt que la quantité… par défaut Prestashop laisse indexer une bonne partie de ses pages types.

L’idée, c’est de désindexer toutes les pages qui ne sont pas intéressantes pour l’internaute et qu’il n’a pas besoin de voir dans les résultats de Google (la page de login, la page panier, celle du processus de commande etc…). Je propose donc une première ébauche pour les pages types, mais vous pourrez ensuite creuser plus loin en mettant même vos propres règles basées sur sur les urls.

Plus votre catalogue est petit… plus cette optimisation aura de l’impact (si vous avez 1000 pages indexées et que ça en retire 20… on ne verra peut-être pas trop la différence). Par contre, cette optimisation reste recommandée dans tous les cas, car chaque micro boost pour votre référencement est bon à prendre.

Et si vraiment vous trouvez que le code c’est trop galère à le modifier à la main… et que vous avez trop peur de faire crasher votre boutique, alors vous avez aussi une autre alternative chez mon pote Olivier Clémence le module Prestashop Noindex qui peut se gérer directement depuis votre back-office.

Bon référencement à tous !

Ressources

Pour ce tutoriel vous aurez à disposition :

  • Le fichier head.tpl avec les règles pour désindexer facilement du contenu.
  • Le fichier de localisation de l’emplacement du head.tpl

Télécharger

Résumé de la vidéo : désindexez une partie de votre Prestashop

  • C’est quoi exactement le Noindex ?
  • Quel est l’intérêt d’indexer moins de page dans Google ?
  • Il faut se poser la question pour savoir quelles sont les pages qui sont vraiment importantes pour vous et que vous voulez montrer à Google.
  • Activation du mode {debug} et compréhension des différentes règles présentes dans le fichier pour le déclenchement du Noindex.
  • Il est possible de définir des règles globales basées sur l’url, mais pensez toujours à tester, pour éviter de désindexer involontairement d’autres pages.
  • Dans les pages CMS, Prestashop propose automatiquement une option pour ne pas indexer le contenu.
  • L’avantage de cette méthode c’est qu’elle est rapide d’intégration et efficace.

25 commentaires sur “Prestashop 1.7 – SEO – Technique Noindex (ép.4)”

  1. Merci pour cet article Webbax!
    Ok tout cela est fait et je suis d’accord avec cela mais une chose, si on parlait des urls canoniques aussi.J’ai travaillé très fort au référencement de la boutique en ligne https://www.cinq-etoiles.ca/ et si j’installe les urls canoniques ( parce que c’est évident qu’il y a du contenu dupliqué) est-ce que cela va impacter le référencement actuel ?Vais-je tomber dans les moteurs de recherche ou au contraire augmenter d’avantage ? C’est seulement pour cette raison que je n’ose emboîter le pas. Avez-vous votre avis sur cette question ?
    Merci!

    1. Bonjour,

      Trop de liens similaires dans Google n’est pas forcément bon, mieux vaut avoir moins de lien avec un contenu unique. Je conseille donc en principe de mettre en place un module pour gérer les urls canoniques lors qu’on a beaucoup de produits qui se ressemblent. A voir aussi ma vidéo « Avez-vous trop de pages dans Google ? » https://www.youtube.com/watch?v=NI17-mCZryM.

      A bientôt !

  2. Bonjour,

    Je plussoie votre articles sur les pages parasites et dont la présence est inutile dans les SERP.

    J’apporte ma petite pierre à l’édifice :

    Beware !!! Aussi au duplicate content interne des pages produits car c’est peut être encore pire selon le cas…

    Exemple type que j’ai rencontré.

    300 produits génériques avec beaucoup de stock.
    Chaque produit possèdent 5 déclinaisons en produits uniques avec leur propre url.
    1 seul produit unique est donc en stock est bien entendu la page est désactivée dès que le produit est vendu.

    Biensûr, descriptif identique à 99% au produit générique donc 6 pages dupliquées, outch…

    Cela représente 1500 pages dont 1200 inutiles.

    Eh bien il est judicieux de n’ouvrir l’indexation qu’au seuls produits génériques et de mettre en no-index les 1200 autres qui n’apportent rien à google, au contraire.

    Il ne saura pas trop quelle page faire monter, tout le site est dupliqué et ça rempli son index de page inutile et goog, ba il aime bien manger 4 étoiles et pas à la cantine et il veut manger varié.

    Là on peut se concentre sur l’optimisation d’une page phare, la plus pérenne, ce qui n’empêche pas de linker de celle-ci les produits uniques en no-index…

    Je pense avoir la bonne démarche, c’est un cas particulier mais il peut s’extrapoler pour les personnes qui ont des produits dont le descriptif est identique à 90%.

    Sur presta 1.6 j’utilise le module de johan corbel ultimate no-index :
    https://www.johanncorbelconsulting.fr/17-ultimate-noindex.html

    Pour ma part j’ai juste activé la fonction no-index sur les
    meta descriptions. Si inférieur à 5 caractères la balise passe en no-index automatiquement. Super pratique.

    Je suppose que la fonction no-index n’est toujours pas proposée sur les pages produits de presta 1.7. afin de palier à ce genre de problème.

    Dans la 1.6 un simple bouton radio permet de mettre les pages CMS en no-index, cette fonction et ce bouton sont peut-être exportables sur une page produit ?

    Qu’en pensez-vous ? Ça serait un module utile à développer utile à de nombreux SEO.

    N’hésitez pas à réagir.

    Merci pour cet article de rappel.

    1. Bonjour,

      Effectivement trop souvent on s’inquiète de donner du contenu à Google… mais on oublie de se demander parfois si on lui en donne trop. Je pense que beaucoup de e-commerce devraient utiliser les urls canoniques, car bien souvent ils ont des séries de produits qui se ressemblent à 95%… Il y’a donc deux choix… « cultiver la différence entre les produits au niveau du texte » (beaucoup de travail) ou alors « utiliser les urls canoniques » et n’indexer qu’une seule page (le produit le plus pertinent).

      En ce qui concerne un module pour le faire, cela doit déjà exister pour la désactivation par produit… il semble que le module suivant le fait déjà : https://addons.prestashop.com/fr/seo-referencement-naturel/21485-seo-noindexfollow-handles-duplicate-content.html

      Pour la problématique d’avoir trop de liens dans Google j’ai essayé d’apporter quelques éléments de réponse en vidéo :
      https://www.youtube.com/watch?v=NI17-mCZryM

      A bientôt et merci pour votre partage d’expérience !

  3. Bonjour et merci pour cet article !
    Je voudrais signaler que, en Mode Debug, le code provoque cette erreur.
    « 1/1ContextErrorException in smarty_internal_templatebase.php(157) : eval()’d code line 329:Notice: Undefined index: n »
    Avez-vous des suggestions ?
    Merci.
    Imed (Tunisie)

    1. Hello,

      Le mode debug Prestashop en version 1.7 est vraiment strict, une variable « non définie » fait planter l’affichage du site, une des méthodes c’est d’aller dans le thème sur la zone concernée et ajuster / retirer la variable. Ou sinon encore de modifier l’error_reporting de PHP : http://php.net/manual/fr/function.error-reporting.php (mais l’erreur reste quand même présente c’est juste masqué).

      A bientôt !

  4. Bonjour à toi Germain,

    j’ai bien appliqué les modifications de ton tuto4 dans l’interface de la Search Console, mais je rencontre une erreur dans la Search Console me disant qu’une URL est bloquée par le fichier robot.txt.

    Il s’agit de la page URL Guest Tracking, qui par défaut en français s’appelle « suivi-commande-invité ».

    J’ai été modifier manuellement le fichier robot.txt en supprimant le blocage, mais les erreurs subsistent au sein de la Search Console (peut-être dois-je patienter plusieurs jours le temps que cela prennent en compte les modification apportée dans le fichier robot.txt…).

    J’ai également régénéré le robot.txt depuis le BO de Prestashop, et là, il remet le bloquage des URL dans le robot.txt.

    Pour ma part, je préfère éviter d’indexer ces URL car leurs présences sur les moteurs de recherche ne sert pas à grand chose.

    Mais je voudrais également aussi enlever cette erreur car je n’ai pas envie d’être pénalisé par Google.

    Aurais-tu des suggestions à m’apporter / me préciser?

    J’ai entendu parler de la balise no-follow, je ne sais pas si elle pourrait résoudre ce soucis.

    Je suis sous Prestashop 1.7

    Un grand merci

    1. Hello,

      En fait je pense que le plus simple est de mettre une règle dans le head du thème du genre « si url courante == suivi-commande-invité » alors afficher la balise « noindex ». C’est toujours un petit plus de ne pas donner des pages « inutiles » à Google, mais je pense que l’impact reste minime dans le cas d’une exception pour une url.

      A bientôt !

  5. Bonjour Germain, je reviens vers toi suite à ton commentaire.

    je viens donc de remplacer dans le head.tpl

    Par :

    {assign var=myURI value=$smarty.server.REQUEST_URI}
    {if $myURI|strstr: »/recherche » ||
    $myURI|strstr: »mentions-legales » ||
    $myURI|strstr: »guest-tracking » ||
    $myURI|strstr: »suivi-commande-invite » ||
    $myURI|strstr: »products-comparison.php » ||
    $myURI|strstr: »orderby » ||
    $myURI|strstr: »orderway » ||
    $myURI|strstr: »fabricants » ||
    $myURI|strstr: »fournisseurs » ||
    $myURI|strstr: »magasins » ||
    $myURI|strstr: »commande » ||
    $myURI|strstr: »promotions » ||
    $myURI|strstr: »id_cms » ||
    $myURI|strstr: »id_manufacturer » ||
    $myURI|strstr: »id_category » ||
    $myURI|strstr: »back= » ||
    $myURI|strstr: »back%3D » ||
    $myURI|strstr: »sendtoafriend-form.php » ||
    $myURI|strstr: »attachment.php » ||
    $myURI|strstr: »/content/category » ||
    $myURI|strstr: »n= » ||
    $myURI|strstr: »n%3D » ||
    $myURI|strstr: »p= » ||
    $myURI|strstr: »p%3D » ||
    $myURI|strstr: »qty » ||
    $myURI|strstr: »noredirect= » ||
    $myURI|strstr: »add= » ||
    $myURI|strstr: »add%3D » ||
    $myURI|strstr: »selected_filters » ||
    $myURI|strstr: »bPost= » ||
    $myURI|strstr: »search_query= » ||
    $myURI|strstr: »token »}

    {else}

    {/if}

    Il semblerait malgré tout que l’erreur persiste au sein de la Search Console. Aurais-tu une idée? Ais-je tout bien indiqué où dois-je apporter d’autres modifications?

    Merci!

  6. Bonjour
    Pouvez vous me dire ce qu’il faut mettre dans les  »  » pour mettre en noindex
    les pages produits ou categories ?
    J’ai essayé product et category ça ne marche pas
    Merci

    1. Bonjour,

      Difficile avec ces éléments de vous répondre précisément sur ce point, vous pouvez aussi essayer de passer directement par un module qui vous permet de désindexer ou non la page.

      A bientôt !

  7. Tout d’abord bravo pour votre travail! Une question me taraude: j’ai actuellement sur mon site (Prestashop 1.7.3) plus de 160 fiches produit sans stock « en ligne » qui ne seront pas réassortis mais qui sont référencés par Google, donc lorsque les internautes cliquent sur les photos ils se retrouvent sur un produit « hors stock » que dois-je faire? Nofollow, noindex…?
    Si je les mets « hors ligne » je risque d »être pénalisé par Google.
    Quelle est la meilleur solution pour un bon référencement?

    1. Bonjour,

      Idéalement ce qu’il faudrait faire c’est dans la configuration de ces produits… sous l’onglet « Référencement – SEO » (rubrique Page de redirection) de chaque fiche, mettre une redirection vers un produit plus ou moins similaire puis ensuite désactiver le produit.

      A bientôt !

  8. Merci Germain,
    Hier j’ai même demandé au prof/conférencier lors d’un atelier digital chez Google (carrément), et il n’a pas su me répondre.
    Félicitations pour ton travail!

    1. Hello,

      Le référencement/SEO… est un sujet assez vaste il faut dire (on en apprend chaque jour)… Mais comme quoi travailler pour Google ne veut pas toujours dire être un expert SEO 😉

      Avec plaisir merci !

  9. Bonjour Germain,

    Un petit commentaire juste pour vous remercier car vous m’avez apporté la solution que je cherchai et que je ne trouvai nulle part!

    Merci encore à vous pour tous les tutos que vous faites.

    1. Bonjour Mickaël,

      Merci pour le retour positif, je vous souhaite bonne continuation dans l’optimisation de votre boutique Prestashop.

      A bientôt !

  10. Bonjour Germain,

    tout d’abords un grand merci pour tous vos contenus de qualité que vous produisez depuis des année. J’ai bien suivi à la lettre votre tuto pour le noindex de certaine pages inutiles pour le SEO. Tout fonctionne mise à part 1 ligne d’erreur qui s’affiche en haut des pages sur le site.

    Notice: Trying to get property 'value' of non-object in /home/monsiteweb/www/var/cache/prod/smarty/compile/layouts_layout_full_width_tpl/4b/e2/87/4be28777ae496b759b991edaa52e2ca0ab85893c_2.pile.head line 293
    

    Quand je vais voir ce fichier ligne 293, je retrouve, en quelques sorte, les règles que je viens d’écrire :

    tpl_vars['page']->value['page_name'] == 'new-products' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'authentication' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'manufacturer' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'order' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'search' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'best-sales' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'cart' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'pagenotfound' || $_smarty_tpl->tpl_vars['page']->value['page_name'] == 'order-opc' || $_GET['n'] || $_GET['orderby'] || $_GET['orderway'] || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/promotions') || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/nouveaux-produits') || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/Sitemap') || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/nous-contacter') || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/2-accueil') || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/magasins') || strstr($_smarty_tpl->tpl_vars['myURI']->value,'/plan%20du%20site') || $_smarty_tpl->tpl_vars['search_query']->value) {?>
    

    As-tu déja eu ce type d’erreur ?
    J’ai bien désactiver tous les caches, refresh ma page, et disable cache sur inspecter l’élément.

    1. Salut Jonathan,

      C’est normal, désactive le mode debug est tu n’aura normalement plus l’erreur à l’écran, la version 1.7 ne laisse vraiment rien passer. Je cherche actuellement une alternative, peut-être un module si pas le choix.

      A plus

  11. Hello Webbax.
    Merci pour toutes ces informations très clairs et très utiles!
    Je voulais faire un petit update car la syntaxe de Smarty semble avoir changé à partir de Prestashop 1.7.6.
    Au lieu de :

    $smarty.get.n || 
    $smarty.get.orderby || 
    $smarty.get.orderway ||
    

    Il faut mettre plutôt :

    isset($smarty.get.page) ||
    isset($smarty.get.order)  ||
    

    pour que ça fonctionne

  12. Bonjour Germain,
    tout d’abord bravo et merci pour le contenu!
    Je suis sous prestashop 1.7.8 et la modification du fichier head.tpl avec le fichier fourni fonctionne parfaitement bien sauf lorsque je veux mettre une url en particulier où ça me fait une erreur 500.
    J’ai juste rajouter $myURI|strstr: »/nous-contacter »
    La syntaxe smarty a peut-être changé comme l’indique Harun YILDIZ?
    merci d’avance

  13. Un énorme merci !!

    Sur presta 1.7.3, ça marche impeccable.
    Moi qui préfère coder en dur plutôt que de rajouter des modules qui alourdissent, c’est top !

    C’est pile ce qu’il me fallait, ni plus ni moins.

    Merci beaucoup !

Laisser un commentaire

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