26 mars 2009 §
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 WordPress 2.7, cette nouvelle version a apporté une nouvelle API pour les commentaires, dont la fonctionnalité de pagination. Cette dernière est très pratique lorsqu’on a plus de 1000 commentaires 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 SEO 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 ;)
31 août 2007 §
Merci à Rod de m’avoir fait découvrir un tel évènement !
Eh oui… je suis blogueur que de noms… :P

Donc, pour ceux qui ne suivent pas, le 31 août se déroule le « Blog Day ».
Un évènement ayant comme objectif de mettre en avant 5 blogs que l’on trouve intéressants et qu’on lit.
Dans un premier temps, les blogs « techniques » :
- Ramenos : Excellent blog traitant de la SEO, du référencement naturel et également des moteurs de recherche internet.
- Boldr : Blog d’un ami et collègue SUPINFO, traitant des technologies Ruby, Rails et du Web 2.0
- Fran6art : Un blog traitant de l’actualité du blogging et du webdesign. (et plus particulièrement WordPess)
Et les blogs n’ayant aucun rapport avec l’informatique:
- Bords de pistes : Un blog parlant de l’actualité de la Formule 1. Le point de vue de l’auteur, Lionel Froissart, est particulièrement intéressant. Les « Blogo critiques » sont à lire et relire…
- Bloingo: Un blog loufoque. Un blog difficile à classer en fait… Consultez-le pour vous faire un avis :P
J’aurai pu parler du blog Le Hiboo tenu par Rod, mais Blog Day c’est 5 blogs par maximum ;)
N’oubliez pas dans l’article de placer les 2 liens vers:
30 août 2007 §
Fran6 m’a signalé, et à juste titre, qu’il y avait une erreur dans mon fichier robots.txt
Cette petite erreur la voila :
Disallow: /2005
Disallow: /2006
Disallow: /2007
J’ai oublié de placer /$ à la fin de ces 3 règles…
Ce qui veut dire que toutes les adresses du type :
http://www.herewithme.fr/2007/quelquechose
Ne seront plus indexé par les moteurs de recherche… Autrement dit une catastrophe d’un point de vue référencement… vu que j’ai bloqué tous les articles de mon blog !
La bonne écriture est:
Disallow: /2005/$
Disallow: /2006/$
Disallow: /2007/$
J’ai donc corrigé l’article et mes robots.txt par la même occasion.
D’ailleurs si vous avez un doute à propos de votre fichier robots.txt et de son action, les outils Webmaster de Google permettent de tester les règles en ligne.
Je peux donc vous affirmer que mon robots.txt ne comporte plus de problème ;)
28 juillet 2007 §
Edit: Cet article a été mise à jour le 30/08. Il y avait un bug dans l’exemple de robots.txt que je donnais. Plus d’explication dans l’article suivant.
Plus un pense-bête qu’un véritable tutoriel, voilà en 7 points les choses à faire pour favoriser le référencement naturel de votre blog ou site WordPress !
1. Activer les permaliens
La forme n’influe pas beaucoup, il faut veiller à afficher le nom de l’article soit %postname%, si vous changez de forme, il existe des plugins pour conserver fonctionnelle l’ancienne forme d’URL. (Lire cette notice pour les personnes hébergées chez Free !)
2. Une sitemap à jour
Un point très important, la présence d’une sitemap pour votre blog. Je vous conseille le plugin Google Sitemap Generator 3 disponible en bêta, mais fonctionnel à 100%. Il vous aide même pour le point 3 en créant automatiquement un fichier robots.txt précisant l’adresse de la sitemap !
Il existe des adons pour les plugins SimpleTagging et UTW, pour une meilleure prise en charge des tags !
3. Un fichier robots.txt
Le fichier doit contenir principalement l’adresse de votre sitemap, mais on peut également interdire plusieurs formes d’adresses aux robots pour éviter les doublons, et éviter ainsi de se faire « bannir » de Google !
Un bon exemple :
Sitemap: http://www.herewithme.fr/sitemap.xml
User-agent: Googlebot
User-agent: Yahoo
User-agent: msnbot
User-agent: Accoona-AI-Agent
User-agent: MSRBOT
User-agent: VoilaBot
Disallow: /index.php
Disallow: /2005/$
Disallow: /2006/$
Disallow: /2007/$
Disallow: /tag
Disallow: /wp-
Disallow: /search
Disallow: /feed
Disallow: /comments/feed
Disallow: /feed/$
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
Modifier la 1ère ligne selon votre domaine ;)
4. Choisir WWW ou non
Tel est la question !
Décider vous-même de garder ou non le « www. » des adresses de votre blog ou site WordPress. Uniformiser bien sûr votre choix dans les options générales de WordPress.
Exemple sur mon blog, je souhaite avoir absolument le WWW :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !^www.herewithme.fr$
RewriteRule ^(.*) http://www.herewithme.fr/$1 [QSA,L,R=301]
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Modifier le code ci-dessus selon votre domaine.
Une fois avoir modifié correctement votre fichier .htaccess, fixer lui un CHMOD de 0444 pour être sur que WordPress ne le modifie automatiquement lors de l’installation d’un plugin ou lors d’une mise à jour des permaliens.
Note: Cette astuce n’est pas compatible avec Free.
5. Inscription aux outils webmasters de Google
Fan6 propose une série d’articles détaillés sur son blog , n’hésitez pas à la consulter.
Je résumerai la chose en 2 points, ajouter l’adresse de votre sitemap, et choisir de garder ou non les WWW comme nous l’avons vue dans le point 3 dans la console Google.
L’adresse du service : http://www.google.com/webmasters/sitemaps/?hl=fr
6. Génération de méta
Bien que plus trop utilisé par les moteurs de recherche, générer des métas dans vos pages est toujours très important. Pour cela je vous suggère le plugin Another WordPress Meta Plugin pour spécifier ces informations manuellement, vous pouvez également le faire de façon automatisée avec le plugin MetaTagGenerator.
J’utilise personnellement un autre plugin plus disponible sur le site de l’auteur, je le publierai probablement sur ce blog avant la fin de l’été, après avoir apporté quelques corrections.
7. Un thème bien pensé
Ça peut paraître stupide, mais un thème bien développé, n’utilisant pas de tableau pour la mise en page, exploitant intelligemment les balises de titres h1 à h5 facilite le référencement.
Amateur de tableau et d’iframe, passez votre chemin et celui de Google !