Nous allons voir dans ce tutoriel comment éviter le duplicate content sur shopify

Légende: url = adresse internet.

Une des problématique majeure sur shopify reste la génération d’un contenu dés que vous allez associer un produit à une collection.

En effet lorsque vous créez un produit, Shopify crée une url de type « /products/nomduproduit ». Dés lors que vous allez associer ce produit à une collection cela va créer automatiquement une autre url de type « /collections/nomdelacollection/nomduproduit ». Cela a pour conséquence de vous créer 2 pages avec le même contenu donc pénalisé par les moteurs de recherche ! C’est ce qu’on appelle du duplicate content interne.

Avant de vous lancer !

Attention ! dans quelques thèmes une balise canonical est présente dans vos fichiers (Layout – theme.liquid).

ce genre la : <link rel= »canonical » href= »{{ canonical_url }} »>

En haut dans les balises head regardez si vous trouvez cette balise:

Si vous l’avez c’est que le thème part du principe logique que les urls de type « /products/nomduproduit » sont les urls principales et que les autres sont des copies de celles-ci à ne pas indexer.

Si vous voulez faire ce tuto je vous conseille de supprimer cette balise 😉

Je vous invite Fortement à tester votre couverture d’indexation à l’aide de  Google Search Console – Index – couverture afin de ne pas faire de bêtises 😉

Comment éviter ce problème ?

Il suffit à l’aide des codes que je vais vous donner de dire aux moteurs de recherche que tel ou tel type d’url ne sera pas indexée !

2 solutions s’offre à vous:

  • Désindexer les urls des produits avec collections.
  • Désindexer l’url  principale du produit (sans collections).

Quelle solution choisir ?

Alors là c’est à vous de voir 🙂

Si vous décidez de désindexer des urls de type collections lors d’une recherche les internautes vont tomber uniquement sur la page de type « /products/nomduproduit », l’url originelle. Il faut savoir que vos produits recommandés présent sur certains thèmes comme Speedfly ne s’affichent que sur les urls de type collection. C’est important de le savoir 😉

Si vous faite le choix de la désindexation de l’url de type products « /collections/nomdelacollection/nomduproduit » vous allez devoir éviter de faire votre pub Facebook ou Adwords sur l’url originelle ! De plus il faudra impérativement que votre produit ne soit associé qu’à une seule collection sinon le duplicate content sera présent sur les autres collections de ce produit.

Et toi tu en pense quoi ?

Personnellement j’aurai tendance à privilégier la solution sans les urls avec collections afin de garder le fonctionnement et url native. Mais aucun des choix n’est mauvais, il suffit simplement de prendre la solution qui vous semble la plus adaptée à votre site.

Côté tutoriels – code shopify

Rendez-vous dans les fichiers de votre thème et trouvez le dossier « Layout » et le fichier « theme.liquid« .

Vous allez devoir trouver la balise head en haut du site et plus spécifiquement la fermeture de celle-ci: </head>

Vous avez donc copier un de ces codes juste AVANT le </head> comme sur cet exemple:

noindex-nofollow-shopify

Code pour supprimer les urls de type:  « /products/nomduproduit ».

{% if template == "product" %} 
{% assign $productUrl = product.url | without: collection %}
{% if productUrl contains 'products' %}
<meta name="robots" content="noindex">  
{% endif %}
{% endif %}

Code pour supprimer les urls de type: « /collections/nomdelacollection/nomduproduit ».

{% if template == "product" %} 
{% assign $productUrl = product.url | within: collection %}
{% if productUrl contains 'collections' %}
<meta name="robots" content="noindex"> 
{% endif %}
{% endif %}

Bonus: Ne pas indexer certaines pages de votre site comme les mentions légales ou conditions générales de vente…

Exemple ici pour une url de type page contenant « conditions-generales-de-vente ».

{% if template == "page" %} 
{% assign $pageUrl = page.url | without: collection %}
{% if pageUrl contains 'conditions-generales-de-vente' %}
<meta name="robots" content="noindex"> 
{% endif %}
{% endif %}

Et le canonical dans tout ça ?

Le canonical est le fait de définir le contenu principal alors que plusieurs versions de ce contenu existe ce qui peut également être une bonne solution mais cela revient à désindexer les urls de type collections et ne garder le référencement que les urls des produits de type: « /products/nomduproduit »

Si cette solution vous convient voici le bout de code à placer au même endroit en remplacement des codes donnés plus haut 😉

<link rel="canonical" href="{{ canonical_url }}">

Bon tuto shopify à vous 😉

Merci de me laisser une petite note 😉
[Note moyenne de: 5 sur 3 votes]

🤗 Vous souhaitez m'encourager à continuer mes Tutos ?

Cliquez sur le bouton ci-dessous pour me laisser un petit pourboire 😉

Payer un coup à Dgeo Dev

Cet article a 16 commentaires

  1. Pour les url sur Facebook, on peut mettre une redirection avec Shopify ? A moins que ça fait aussi un dublicate content

    1. Bonjour, je suis navré je ne suis pas sur d’avoir compris la question… mais les liens mis sur Facebook doivent idéalement être les urls référencées sur Google afin de Booster le SEO. Bon WE

  2. N’y a t il pas la possibilité de faire plus simple sur speedfly ?

    1. Bonjour, le canonical est automatiquement choisi et appliqué sur speedfly 😉

  3. Bonjour et merci pour ce tuto !

    Cependant, je ne comprends pas bien.. dans le paragraphe « Avant de vous lancer ! » ligne 2: « En haut dans les balises head regardez si vous trouvez cette balise: »
    Quelle est la balise en question ?

    (thème début) J’ai tout de même regardé et après ma balise head (en supposant que c’est ce genre de balise qu’il faut avoir -ou pas-), j’ai:

    Que dois-je faire ? Supprimer cette balise et faire la suite du tuto ?

    Merci d’avance pour votre retour 🙂

    1. Hello, j’ai mis à jour le tuto pour indiquer la balise à rechercher 😉 Bonne soirée

  4. Bonjour j’ai supprimé la balise dans le fichier du template mais rien à faire elle s’affiche toujours dans mes pages produits… Savez-vous à quels autres endroits elle pourrait être ? Merci

    1. Bonjour, comment testez-vous sa présence ? si c’est pas google ca ne sera pas effectif de suite… le temps que google repasse sur le site donc entre 1 semaine et plus d’un mois ou 2 mois selon le trafic. Pour tester je vous conseille sur une de vos page qui doit ou ne doit pas être indexée de faire un ctrl + S et d’ouvrir la source de votre page et de faire un ctrl + F pour recherche la balise souhaitée (no follow ou canonical). Bonne chance 🙂

  5. Bonjour, j’ai dans mon thème mais j’ai tout de même du duplicate content interne, j’ai cru comprendre qu’elle l’empêchait.
    Sinon les urls que j’aimerai seulement indexer sont de type collections/nomcollec/products/nomprod car chez moi le products est tout de même présent, mais cela ne risque t-il pas de tout désindexer si j’applique votre méthode? Et sinon pourquoi conseillez vous l’url native avec juste products (est-elle plus performante? je croyais que c’était le contraire)
    Aussi je voulais savoir si on devait d’abord supprimer temporairement toutes les urls dans la search console avant, ou la suppression est automatique avec votre méthode?
    Enfin j’ai aussi des urls avec des ? et du charabia ensuite comment faire pour les enlever?
    Merci, sinon super tuto 🙂

    1. Bonjour et merci pour le message , je vais essayer de répondre rapidement dans l’ordre 🙂
      Dans la majorité des thèmes une balise canonical est présente. Si elle est la il faut la retirer car vous préférez les urls avec collections et mettre le code du tuto pour dexindexer le products…
      Pour l’url native c’est par ce que shopify préfère et il faut souvent aller dans le sens du developpeur mais les 2 se valent
      Il est préférable de le supprimer dans la search console pour que ca aille plus vite sinon il faut attendre le passage du robot google pour qu’il refasse sa tabouille 🙂
      Les urls avec ? ca vient souvent de facebook qui rajoute ce genre d’identifiant au clic sur un lien… pas besoin de s’en occuper
      Bon WE à vous

  6. Bonjour,
    je veux supprimer uniquement les liens produits qui ne sont pas issus de la collection, je copie colle votre juste avant la fin de la bannière head, sur le theme Brooklyn.
    Mais rien ne fait, aucun changement ?
    (PS. j’ai aussi essayer de supprimer le code canonical, mais rien non plus?)
    Pouvez-vous me donner plus de détails ?

  7. Bonjour, je ne comprends pas la différence entre le canonical et la première solution donnée. Merci!

    1. Bonjour, la meilleure solution à l’heure actuelle reste la balise canocical. la 1ere solution reste identique mais elle la à titre informatif si le thème n’a pas la balise canonical.

  8. Bonjour,
    Merci pour les tutos ! 🙂
    Concernant la desindexation des pages types mentions légales, FAQ, CGV…
    Si je souhaite garder le canonical doit-on mettre à la suite le code canonical puis le code pour chaque page que l’on souhaite desindexer ?
    Comme dans l’exemple ci dessous ?

    {% if template == « page » %}
    {% assign $pageUrl = page.url | without: collection %}
    {% if pageUrl contains ‘conditions-generales-de-vente’ %}

    {% endif %}
    {% endif %}

    Bonne journée 🙂

    1. Hello, tu peux mettre des conditions OU… en adaptant la portion de code suivante : {% if pageUrl contains ‘conditions-generales-de-vente’ %} par
      {% if pageUrl contains ‘conditions-generales-de-vente’ or pageUrl contains ‘mentions-legales’ or pageUrl contains ‘faq’ %}
      Bonne soirée

Laisser un commentaire

Fermer le menu

formation seo gratuite shopify

Une formation Gratuite SEO sur Shopify ça te tente ?

Alors abonne-toi à la chaine et active la cloche pour ne pas louper l'arrivée des prochains modules !

Commencer la formation