Here With Me

Le blog technique d'Amaury Balmer qui parle de technologies open-source, mais surtout de WordPress !

Méthodes pour minimiser le duplicate content de la pagination des commentaires de WordPress 2.7 !

| 11 Commentaires

En regardant les erreurs de Google Webmaster Tools sur l’un de mes sites, je me suis rendu compte que j’ai un grand nombre de balises Title en double. En d’autres termes, Google considère que je fais du duplicate content.

En réalité, la source du problème vient de 2.7, cette nouvelle version a apporté une nouvelle API pour les , dont la fonctionnalité de pagination. Cette dernière est très pratique lorsqu’on a plus de 1000 de moyenne sur chaque article… ( ex: Bords de Pistes )

Prenons l’exemple de l’article « Top Chrono » que Lionel a rédigé, le lien de l’article est le suivant:

  • http://www.bordsdepistes.com/2009/03/21/top-chrono/

Vu qu’il y a 10 pages de commentaires, nous nous retrouvons avec 10 liens pour le même article:

  • http://www.bordsdepistes.com/2009/03/21/top-chrono/comment-page-1/
  • http://www.bordsdepistes.com/2009/03/21/top-chrono/comment-page-10/

10 pages où le titre, la description et le contenu sont les mêmes !

Autrement dit, nativement WordPress, qui est pourtant très bien optimisé pour le référencement, créé du duplicate content avec cette fonctionnalité. Un débat a eu lieu sur le mailing de WordPress, et plusieurs hypothèses ont été envisagé, petit résumé de la situation.

Les balises HTML méta

Une première solution aurai été d’ajouter une balise méta « no index, follow » à la page. Bien que cette méthode règle le problème du duplicate content, l’inconvénient est que Google ne référence pas le contenu de tous les commentaires et de ce fait, c’est potentiellement un moins bon positionnement dans Google vu que moins de contenu est référencé !

Utilisation de jQuery

Une autre idée aurait été d’utiliser jQuery pour faire la pagination, avec le plugin Tabs par exemple. L’intérêt est que fonctionnellement on obtient bien une pagination. Cependant, cette technique est peu ou pas accessible, il oblige le chargement de jQuery dans les thèmes WordPress et surtout il force à écrire la totalité des commentaires dans le code HTML. Lorsqu’on a plus de 1800 commentaires, cela peut vite devenir contraignant !

En pratique

Pour résoudre ce problème de façon concrète, j’ai trouvé 2 solutions. Les deux sont d’ailleurs compatibles et fonctionnent mieux ensemble.

Le contenu de l’article

En remplaçant le contenu de l’article par l’extrait et un lien vers le lien de l’article, on retombe dans le schéma classique d’une page listant des articles comme peuvent l’être les catégories ou les tags.

De cette façon, Google ne considère plus le contenu comme du duplicate content et les commentaires sont bien référencés tout en étant liés à l’article avec le permalien et l’extrait !

Pour faire cette modification, vous pouvez utiliser l’extension de Austin Matzko soit en utilisant son extension, soit en faisant un copier/coller de sa fonction directement dans le fichier functions.php de votre thème.

Le titre de la page

Malheureusement, la première méthode ne règle pas complètement le problème, le titre de la page HTML reste toujours le même sur chaque page de commentaires et cela gene Google. C’est là où rentre en jeu l’idée de Christian Schenk d’ajouter un suffixe au titre des pages de commentaires. L’astuce qu’il donne permet d’ajouter un suffixe à ces pages si vous utilisez l’extension All In One Pack.

Pour y parvenir, il suffit de copier les 2 fonctions qu’il propose dans le fichier functions.php de son thème et de modifier le code de All In One SEO Pack pour permettre aux filtres de fonctionner.

On remarquera que la méthode n’est pas trop propre vu qu’on est obligé de hacker le plugin et comme c’est le genre de plugin qui est mis à jour toutes les 2 semaines, cela deviendra très rapidement pénalisant.

Mon extension : Simple SEO for Paged Comments

Afin de faciliter la résolution de ce petit problème, j’ai créé une petite extension qui utilise les 2 techniques données précédemment. A la différence près que le titre des pages de commentaires se verra ajouter un suffixe, et ceux sans nécessairement utiliser All In One SEO Pack (et encore moins le hacker). Théoriquement ma technique doit fonctionner avec tous les plugins SEO de la communauté.

Vous pouvez trouver la fiche de l’extension sur mon blog et prochainement sur WordPress.org.

Sources

Un peu de lecture en anglais ;)

11 Commentaires

  1. Merci pour cet article bien écrit et qui me sera utile peut-être un jour.

  2. Hmm, je préfère quand même dans ce cas-là employer le tag link avec un attribut rel= »http://www.bordsdepistes.com/2009/03/21/top-chrono/ », comme ca, toutes les sous pages seront référées comme leur page parente

    cf: http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html

  3. <link rel= »canonical » href= »http://www.bordsdepistes.com/2009/03/21/top-chrono/ » />

    bien évidemment

  4. Merci pour la création de ton plugin qui corrige ce problème au niveau du référencement :)

  5. Salut Amaury,
    merci beaucoup pour le lien hypertexte et le bon plugin.

  6. Salut Amaury,
    j’utilisais ton plugin avec WordPress 2.7. Je viens de le désactiver car manifestement, les flux RSS sont en vracs avec ton plugin. J’ai une erreur de code dans les fichiers XML…

    tout rentre dans l’ordre après désactivation du plug…un léger bug certainement…
    A ta dispo si besoin!
    Yves

  7. Salut,

    Il pourrait être interessant d’ajouter à ton plugin l’option link rel=”canonical évoqué plus haut, combiné à ce que le plugin fait. :) Ainsi google sait quelle est la page « principal » et avec l’ajout du suffixe, double sécurité :)

  8. Le problème est aussi présent sur les pages de resultats de recherche, et toutes les « pages » comportant une pagination au delà de temps d’éléments affichés. La version 2.8 n’a pas encore résolu le problème, ni même les nouvelles versions de All In one Seo. Vivement une option ou un autre plugin pour palier à ce problème récurent. Pour des gros sites cela est vraiment problématique car beaucoup de pages se retrouvent en duplicate.

  9. Merci pour la création de ton plugin qui corrige ce problème au niveau du référencement :)

  10. Sites responsivos que se adaptam a qualquer aparelhagem.

Répondre à Christian Schenk Annuler la réponse.

Champs Requis *.