Le contenu dupliqué ou en anglais "duplicate content" est une plaie pour votre blog, un paramètre à ne pas négliger pour le référencement naturel...
A l'occasion de la refonte complète du blog de WP Formation et du changement de domaine, j'ai essayé de limiter au mieux ce fameux contenu dupliqué. Vous trouverez dans cet article quelques rappels et astuces, pas si inutiles que ça, pour lutter contre VOTRE propre contenu dupliqué...
Vous reprendrez bien la même chose?
Définition : le duplicate content désigne un contenu identique sur deux URL distinctes. Le plus connu et le plus évident, c'est le plagiat ou vol de contenu, mais il arrive également, involontairement, qu'une même page soit accessible par plusieurs adresses différentes sur son propre blog:
- /wpformation.com/wordpress/monarticle/
- /wpformation.com/tags/monarticle/
- /wpformation.com/monarticle/
- ...
Un autre fléau lié à WordPress, le "?replytocom=xxxx", en lien direct avec les réponses aux commentaires de votre article, ce dernier peut s'apparenter à une duplication:
- /wpformation.com/monarticle/
- /wpformation.com/monarticle/?replytocom=21493
- /wpformation.com/monarticle/?replytocom=21523
- ...
La pagination des catégories peut également poser des problèmes :
- /astuces-formation-news-tutorial/
- /astuces-formation-news-tutorial/page/2/
- /astuces-formation-news-tutorial/page/3/
- ...
Comment limiter le Duplicate Content?
Les mesures évidentes
La première des choses à faire est de limiter les listes de vos derniers articles, meilleurs articles, etc... sur vos sidebars et sur votre footer, en effet ces derniers sont souvent déjà présents sur la Home, inutile donc de produire du contenu dupliqué en masse.
N'oubliez pas de limiter/tronquer vos articles placés sur la page d'accueil (pensez balise More, excerpt, etc.), cela permettra d'éviter un contenu dupliqué entre cette dernière et vos articles.
Pour aller plus loin, je vous conseille fortement la lecture de l'article publié par Daniel sur SeoMix : Duplication de contenu et optimisations évidentes.
Eradiquer le ?replytocom
Rien de plus simple, si vous utilisez le plugin SEO by Yoast, rendez-vous sur SEO>>Permaliens et cochez la case "Supprime les variables?replytocom".
Cela empêche les réponses traitées de fonctionner lorsque l'utilisateur a désactivé JavaScript, mais sur un grand site cela peut représenter une énorme amélioration de l'efficacité d'analyse pour les moteurs de recherche lorsque vous avez beaucoup de commentaires et cela limite le duplicate content.
Utiliser les No index et Follow
Pensez à vos Réglages Méta sur tout le site et n'indexez pas les sous-pages des archives, si vous voulez éviter que /page/2/ et les suivantes d'une archive, apparaîssent dans les résultats de recherche, activez cette option depuis le plugin Yoast via SEO>>Général.
Toujours sur SEO by Yoast, dans le menu SEO>>Titres & Métas>>Taxinomies, cochez les cases "Méta robots : noindex, follow" des catégories, mots-clés et format. Au même endroit, depuis l'onglet Autres, pour les archives de l'Auteur et Dates, cochez les cases "noindex, follow" et "Désactiver les archives".
Si vous avez un site avec un seul auteur, la section archive de l'auteur va toujours être semblable à la page d'accueil. Et même si vous n'avez aucun lien vers cette section, d'autres pourraient le faire, ce qui vous causera du tort. Désactiver cette section vous permet d'être sur que les liens vers cette section seront redirigés (301) vers la page d'accueil.
Pour les archives de date, le même principe s'applique : ils ressemblent probablement beaucoup à votre page d'accueil, et peuvent donc être considérés comme du contenu en double.
Voici la version sans le plugin, insérez ce code entre vos balises <head> & </head> dans le fichier header.php, permettra d'indiquer aux robots que vous souhaitez indexer votre page d'accueil, vos articles, vos pages et catégories, mais empêcher l'indexation de toutes autres pages (RSS, archives, etc) :
<?php if((is_home() & ($paged < 2 )) || is_single() || is_page() || is_category()){ echo '<meta name="robots" content="index,follow" />'; } else { echo '<meta name="robots" content="noindex,follow" />'; }
Nota: $paged est la variable correspondant au numéro de page en cas de pagination.
No index sur les résultats de la recherche
Un résultat de recherche WordPress ressemble à ceci: /wpformation.com/?s=xxxxx. Vous pouvez supprimer l'indexation de ces résultats de recherche en plaçant le code suivant entre vos balises <head> dans le fichier header.php:
<?php if ((is_search()) || (is_tag() )) { ?> <meta name="robots" content="noindex,follow"/> <?php } else { ?> <meta name="robots" content="index, follow"/> <?php } ?>
Eviter le duplicate content des archives catégories
Niveau SEO et référencement naturel, il est pénalisant d’avoir une page qui reprend exactement les mêmes articles dans le même ordre, et avec les mêmes extraits, ce bug est connu depuis plusieurs mois des développeurs WordPress, corrigé puis rebug et depuis plus d’un an, rien n’a changé...
Julio Potier de BoiteAWeb.fr, nous donne une solution à l'aide de ce code à insérer dans votre functions.php présent à la racine de votre thème, voir l'article complet sur Eviter le duplicate content sur les archives des catégories.
A noter que le bug n’est pas présent si vous n’utilisez pas la structure de permaliens, donc /?cat=2 ne peut pas reproduire le bug.
add_action('wp', 'baw_non_duplicate_content' ); function baw_non_duplicate_content( $wp ) { global $wp_query; // Si le nom de catégorie trouvée est différente entre le rewrite match et la variable requetée, alors on redirige if( isset( $wp_query->query_vars['category_name'], $wp_query->query['category_name'] ) & $wp_query->query_vars['category_name'] != $wp_query->query['category_name'] ): // L'URL correcte dans laquelle on remplace la catégorie requetée par son véritable nom $correct_url = str_replace( $wp_query->query['category_name'], $wp_query->query_vars['category_name'], $wp->request ); // Redirection 301 wp_redirect( home_url( $correct_url ), 301 ); // Toujours die() après une redirection die(); endif; }
La duplication sur les pages de catégories
Le principal problème des catégories, c’est le fait qu'elles reprennent une liste d’articles dans le même ordre que la page d’accueil, un des moyens simples pour éviter une duplication c'est d'utiliser une description de la dite catégorie.
C'est une bonne solution mais comment éviter que cette description se répète sur les pages suivantes en cas de pagination? Ce code à insérer dans votre fichier category.php, résoudra le problème.
Remplacez :
if ( ! empty( $category_description ) )
par
if (!empty($category_description) & $paged == 0)
Retrouvez l'ensemble des préconisation de Sylvain sur Blog.Axe-Net.fr et son article complet : Astuces WordPress contre la duplication.
Voici quelques-unes des modifications et optimisations mises en place sur ce site, pour l'exemple, allez sur une des catégories de ce blog (ex: wpformation.com/wordpress/), regardez la description puis passez à la page 2, vous verrez alors, que la dite description ne s'affiche que sur la première page de la catégorie ;)