Optimiser les urls de Magento pour lutter contre le contenu dupliqué

Les urls de votre site sont la première chose que les visiteurs voient après avoir tapé une requête dans un moteur de recherche, il est donc très important de les optimiser. Voici un exemple de résultat sur le moteur de recherche Google :

urls_magento

Ici le mot-clé est « mobilier de jardin », on voit que Google met en gras le mot-clé recherché dans le titre et dans l’url, une url optimisée nous donne donc d’avantage de visibilité.

Cette fonctionnalité est activée « de base » après avoir installé votre boutique Magento, vous aurez donc des liens propres que vous pouvez éditer depuis les produits (dans l’onglet « Autres options » -> « Clé d’URL »), dans les catégories & pages CMS (« Clé d’URL ») et dans les blocs statiques (« Identifiant »).

Que faut-il mettre dans l’url ?

Il faut tout simplement mettre les mots-clés principaux de l’article. Par exemple si le titre de votre article est « Création d’un site web dans la région d’Annecy », une possibilité d’url optimisée serait /creation-site-annecy.html

On enlève tous les « stop words » (a, de, pour, avec…) et on ne garde que les mots ayant du sens pour l’article, ce n’est pas plus compliqué que cela.

Et avec Magento, on ne rencontre pas de problèmes ?

En effet, dans un e-commerce, on peut accéder à plusieurs pages depuis une même url, via les paramètres de recherche par exemple (dès qu’il y a un « ? » dans l’url) ou alors via les multiples catégories :
Un exemple ? Imaginons un t-shirt : Le t-shirt est dans une catégorie « Homme », « Promo » et « Petit prix ».

Il sera donc accessible depuis les urls :

http://example.org/homme/t-shirt.html

http://example.org/promo/t-shirt.html

http://example.org/petit-prix/t-shirt.html

http://example.org/t-shirt.html

Et dans certaines configurations de Magento, on peut accéder à un produit via une url de catégorie où le produit n’est même pas présent…

Là, vous avez 4 urls qui contiennent exactement le même contenu, vous avez surement entendu qu’il faut avoir un contenu unique pour recevoir du trafic des moteurs de recherche, et c’est vrai, vous rentrez donc en concurrence avec vous-même et vous avez donc moins de chance d’apparaitre dans de bonnes positions. C’est balo hein ?

J’espère que tu as une solution ?

Hé oui, heureusement Magento, nous propose, de base, des options pour contourner ce problème.

Pour cela, vous avez besoin d’aller dans votre back-office (-http://example.org/admin en général) puis dans le menu « Système » « Configuration » « Catalogue » « Catalogue » « Optimisations pour les moteurs de recherche ». (c’est long!)

urls_magento_1

Ici vous trouverez toutes les options intéressantes (pour le référencement) dans le catalogue de Magento.

Je vais détailler à quoi servent les options qui nous intéressent aujourd’hui :

– « Utiliser le chemin des catégories pour l’URL des produits »

En passant cette option à « Non », vous n’aurez plus que « la vrai » url du produit dans la catalogue (http://example.org/t-shirt.html dans notre exemple). Attention par contre les autres urls seront toujours accessible mais le linking interne de Magento ne les utilisera plus. Pas de problèmes ? Je ne suis pas si sur, vous avez surement fais (ou vos visiteurs) des liens vers la « mauvaise » url donc ce n’est pas finis malheureusement, je vous réserve la solution pour la fin de l’article.

– « Utiliser un lien canonique de meta tag pour les produits »

Cette option nous permet de rajouter des balises canoniques à vos produits, je vous renvoie à la documentation de Google pour plus d’informations (https://support.google.com/webmasters/answer/139394?hl=fr).

Pour résumer ce que dit très bien la doc de Google, avec cette option activée, quand Google arrivera sur la page http://example.org/homme/t-shirt.html, il comprendra qu’il doit en fait aller sur la page http://example.org/t-shirt.html et vous n’aurez donc plus de problèmes de contenu dupliqué sur votre site.

Encore une fois, attention, les balises canoniques sont seulement un conseil, le moteur de recherche peut choisir de vous écouter ou alors de choisir une autre url (et c’est ce qui se passe régulièrement).

L’utilisation des liens canoniques vous fait perdre un peu de jus (comme les redirections), ce n’est donc une bonne solution mais on devrait surement en trouver une meilleure. On va voir comment éviter tout ça.

Bref, à partir de maintenant, on est censé avoir des urls optimisés pour les moteurs de recherche et aucun contenu dupliqué sur le site (j’en serais pas si sûr mais 90 % du boulot est fait), maintenant on va voir ce que nos bots adorés en pensent avec les outils qu’ils nous mettent à disposition.

Et webmaster tools dans tout ça ?

Même avec les précédentes options configuré comme il faut, vous avez surement des problèmes de balise title ou (vous voyez comme je suis optimiste, je ne mets pas un « et ») méta description en double dans les webmaster tools. Et oui, Google ne prends pas en compte les balises canoniques dans ses outils, ça fait un peu peur… Je vais donc vous montrer comment faire des redirections, au lieu de faire ces simples balises. Les moteurs n’auront pas d’autres choix que d’écouter vos conseils.

Le bonus : l’extension de redirection au lieu de la balise canonical

Voici l’url de l’extension : https://www.dropbox.com/sh/sr237c15gxej9lz/ZeEXC2jgqT

Cette extension surcharge le coeur de Magento pour transférer transformer la balise canonique en redirection 301, plus aucune moyen de se tromper maintenant. L’extension est compatible sur les versions 1.7.x. Si vous voulez la tester ailleurs, n’hésitez pas à me contacter si vous voulez l’installer sur une version plus ancienne.

Une dernière astuce pour la route ?

Vu que c’est demandé si gentillement, en général la page principale de votre est une page CMS, c’est cool vous allez me dire mais ça change quoi ?

Tout simplement, chaque page CMS dispose de sa propre url, votre page est donc accessible depuis deux urls. La seule solution est de faire une redirection en dur dans le htaccess, la faire depuis le module de gestion de redirection de Magento ne fonctionnera pas.

J’espère que cet article vous a plu, n’hésitez pas à commenter si vous avez des questions ou des compléments, j’essayerais de répondre rapidement.

19 commentaires

  1. Bons conseils, mais sont-ce là les seuls cas dans lesquels Magento crée des duplicates ?
    Un prospect (dont je n’ai pas encore examiné le site en détail) m’indiquait avoir eu 450000 pages indexables avec un catalogue de 2000 produits. Je ne pense pas que ce soit seulement dû aux chemins vers les catégories.

    Par ailleurs, si les concepteurs de Magento avaient pensé à cela en amont, il serait simplement impossible d’utiliser les chemins de catégories et on éviterait quelques millions de duplicates à ses utilisateurs.

  2. Bonjour Kilroy,

    Alors non effectivement, de base les pages de recherches sont indexés, vous pouvez tenter un site:example.com -inurl:catalog dans Google afin de voir le nombre de « vrais » pages qui sont indexés.

    Personnellement, je n’indexe pas les pages de recherche, je ne trouve pas les pages pertinentes vu la qualité du moteur de recherche de base.

    En même temps c’est pertinent d’avoir la catégorie dans l’url, ça permets de faire un trie plus rapide. Imaginons un site qui vends des chaussettes. Avoir un /homme dans l’url est pertinent, une femme ne s’arrêtera pas sur ce résultat.

    Et il y a de base les métas canonical afin de lutter contre ce problème de DC.

  3. Bonjour,

    @kilroy, en fait il n’y a pas que le moteur de recherche qui créé des duplicates, dans le cas que vous soulevez, il y a sûrement les filtres de catégories, appellé « navigation à facette », qui vont créer autant d’url que de combinaison de paramètres pour un produit.

    @Aurélien dis moi si je me trompe, mais les options sur la canonical catégories sont présentes dans les options, mais pas tous les thèmes de base ne les font remonter (il doit manquer des bouts de code)

    En tout cas bien joué pour l’extension 301, a tester.

  4. Bonjour Kilroy,

    j’ai lu ton post avec attention et je me suis jeté sur mon BO, et j’ai plusieurs questions :

    > Si tu peux regarder sur http://www.Apesanteur.com, les options en BO ne sont pas du tout comme indiquées dans l’article et il me semble ne pas avoir de multiplication d’url ou je me trompe ? (Accès via Catégorie, Marque ou autre comme promotion, etc…)

    > Il a t il un outil pour connaitre l’état du site face au contenu dupliqué ?

    > Et enfin la dernière, Quid sur le INDEX/FOLLOW sachant que Google se base sur la sitemap du site pour son indexation ?

    Merci d’avance pour tes retours ! 🙂

  5. @jessyseonoob Oui il y a aussi l’option pour les catégories et c’est important avec les p, dir & co.

    Si les wmt te spam c’est une bonne idée de tester. Bien entendu, comme pour chaque extension, il faut tester cela dans un espace de développement et avoir de quoi revenir en arrière. Ici il suffit d’éditer le fichier app/etc/modules/Aurel_***.xml et de passer la valeur à « false » en cas de pépin.

    Il faut bien sur que le core de Magento ne soit pas éditer à la main pour que ça fonctionne correctement mais bon c’est très rare à l’endroit ou j’ai surchargé les fichiers.

    @Samuel 1) Alors les screens que j’ai fait sont sur Magento 1.7, ça peut être différent si tu est dans une version différente. Sinon c’est que tu utilise un thème spécial pour l’admin ou que tu n’est pas au bon endroit.

    Pour les options de configuration, c’est, depuis la page d’admin, dans le menu « Système », celui tout à droite. Ensuite, dans le menu déroulant, c’est dans « Configuration ». Après il te suffis de reprendre le chemin qui est indiqué, tu devrais trouver les options.

    2) Pour savoir si ton contenu est dupliqué, il te suffit de taper une partie de ton texte dans un moteur de recherche, s’il y a plusieurs résultats c’est qu’il y a un soucis. En l’occurrence sur ton site, les descriptions ne sont pas tout réécrite apparemment.

    Tu as également cet outil : -http://www.positeo.com/check-duplicate-content/ qui est sympa pour trouver le contenu dupliqué.

    3) C’est une question assez compliqué, on a plusieurs moyens d’indiquer à Google que l’on ne veut pas indexé la page mais aucun n’est « sur ». On peut, via le robots.txt, la méta noindex, la canonical ou encore via les headers htmls mais Google fait ce qu’il veut à la fin.

    Je peux regarder plus en détail la conf de ton site si tu veux, je te fais un petit mail.

  6. Bonjour,
    Pourriez-vous me dire si votre extension pour transformer la balise canonique en redirection 301 fonctionne sur une version 1.6.2.0 de magento. Merci

  7. Hello,

    Pour vérifier si ça marche sur une autre version que la 1.7, il suffit de m’envoyer par mail (aurelien@lavorel.be) les fichiers :
    -app/code/core/Mage/Catalog/Block/Product/View.php
    -app/code/core/Mage/Catalog/Block/Product/View.php

    Et je vous dirais si c’est bon.

    Le module réécris uniquement les urls des produits et des catégories en s’assurant que ça corresponde à la configuration. Si tu as la configuration de l’article pour Magento, ça sera appliqué partout oui.

  8. Bonjour,
    A premiere vue l’astuce est geniale !! par contre celle-ci n’est pas compatible avec le systeme de filtre Magento.
    En effet, en installant « l’extension de redirection a la place de la balise canonical » comme il fait une redirection, l’url …/?manufacturer=84 est redirigé vers …/
    et donc le filtre ne fonctionne plus.

  9. Hello,

    Tu peux rajouter tes filtres dans « app/code/local/Aurel/Cano301products/Catalog/Block/Category/View.php » ligne 30.

    Je n’utilise pas les filtres, je n’avais donc jamais eu ce soucis. J’ai rajouté le paramètre dans le code, tu peux l’actualiser.

    Je vais voir pour récupérer la liste automatiquement.

Laisser un commentaire

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

Merci de taper les caractères de l'image Captcha dans le champ

Merci de saisir ces caractères dans le champ
ci-dessous afin de valider votre commentaire.

Aurélien Lavorel

Article de : Aurélien Lavorel

Aurélien Lavorel, développeur php orienté SEO est un développeur Magento passionné par tous les aspects du web. Il travaille tous les jours pour des e-commerces de toutes tailles, du petit artisan aux grands e-commerces de luxe.