Le Rayon UX

La radiographie du Web en temps presque réel / thème en chantier (je m'appelle Teuse)

Des rewrite rules pour optimiser le référencement de vos URL avec Wordpress, Dotclear et Movable Type

ApacheLa majorité des outils de blog modernes viennent avec un système de permaliens soi-disant optimisés pour les moteurs de recherche permettant de retrouver un contenu dans une URL de manière relativement explicite.

À un schéma d’URL du type http://monsite.com/index.php?p=42 s’est substitué un schéma désormais plus classique du genre http://monsite.com/articles/année/mois/jour/titre-du-billet nettement plus explicite, aussi bien pour les lecteurs que pour les outils de recherche.

Pourtant, les URL par défaut ne sont pas toujours ni optimisées pour les moteurs de recherche, ni pour l’usage que l’on fait de son outil de publication. À moins de tenir un journal dans lequel la chronologie joue un rôle important, des URL du type /titre-du-billet seront beaucoup plus pertinentes, tout en étant plus optimisées pour les moteurs de recherche.

La majorité des blogware modernes à héberger soi-même disposent d’un système permettant de choisir son format d’URL. Si vous n’avez pas réfléchi au problème avant d’ouvrir votre blog, il vous faudra, une fois mis en place ce nouveau format, rediriger vos visiteurs des anciennes URL vers les nouvelles. Cela vous évitera non seulement pléthore d’erreurs 404, mais surtout, par là même, de perdre tout le bonus des liens pointant vers vos articles.

Je vous propose, afin d’éviter cela, quelques règles de réécriture Apache à destination des trois principaux outils de blog : Wordpress, Dotclear et Movable Type, dans leur schémas d’URL de base.

Les nouveaux schémas d’URL à mettre en place sur vos blogs sont :

  • Billets : /titre-du-billet
  • Catégorie : /categorie/titre-de-la-categorie
  • Tags : /tag/nom-du-tag

Des adaptations pourront être nécessaires ici et là.

Wordpress

Sous Wordpress, vous allez :

  • Supprimer le préfixe /articles.
  • Réécrire les URL des billets en supprimant le préfixe le timestamp.
RewriteRule ^/articles/(.*) /$1
RewriteRule ^/\d{4}/(?:0?[1-9]|1[012])/(?:0[1-9]|[12]\d|3[01])/(.*) /$1 [R=301,L]

Dotclear

Sous Dotclear, vous allez :

  • Supprimer l’omniprésent index.php (merci JS pour les indications sur le fonctionnement de Dotclear).
  • Supprimer le préfixe /post/ sur les billets.
RewriteRule ^/index.php/post/\d{4}/(?:0?[1-9]|1[012])/(?:0[1-9]|[12]\d|3[01])/(.*) /$1 [R=301]
RewriteRule ^(page|archive|feed|tag|category|sitemap\.xml)/(.*)$ /index.php/$1/$2 [L]
RewriteRule ^(archive|tags|sitemap\.xml) /index.php/$1 [L]
RewriteRule ^/(.*)$ /index.php/post/$1 [L]

Movable Type

Movable Type est ainsi fait qu’on ne pourra agir que sur les URL des billets, ce qui est déjà pas mal. N’ayant pas de Movable Type sous la main, je n’ai d’ailleurs pas pu vérifier que cela était possible. Cette réécriture est donc purement empirique.

RewriteRule ^/archives/\d{4}/(?:0?[1-9]|1[012])/(.*) /$1 [R=301,L]

Et voilà, that’s all folks comme on dit dans les cartoon de mon enfance. J’espère que ça vous aura été utile.

The evil butterly girl

  • Par Jean-Sébastien Mansart 29/07/2008 at 15h08

    Même si c’est une bonne méthode, le mieux est de réfléchir avant au format des URL, car comme tout le monde le sait : Cool URL don’t change ;) http://www.w3.org/Provider/Style/URI


  • Par Luc 29/07/2008 at 16h12

    à : Billets : /titre-du-billet

    je préfère : Billets : /id-du-billet-titre-du-billet

    Qui permet d’avoir plusieurs articles ayant le même titres.

    Utile dans le cas d’articles au thème récurrent du genre : “les liens du jours” ou “les photos du week end”


  • Par Frédéric de Villamil 29/07/2008 at 16h25

    @JS : quand on commence à publier, on ne se pose généralement pas ce genre de questions, elles arrivent après. Et c’est justement ce genre de rewrite qui permet de garder la permanence des rewrite rules.

    @Luc : à ma connaissance, Wordpress (entre autres) ajoute déjà l’ID à la fin des permaliens justement pour permettre ce genre de choses.


  • Par Thomas 29/07/2008 at 16h27

    Je suis d’accord avec Luc, d’ailleurs c’est comme ça que je fonctionne depuis le début !

    Pour DotClear je préciserais que ton billet ne concerne que la version 2.


  • Par Olivier 29/07/2008 at 20h27

    Merci pour les redirections DC2, ça pourra servir. A voir à termes si pour le SEO c’est efficace.

    Très sympa ta photo.


  • Par Luc 29/07/2008 at 20h34

    @Frédéric : Nope du tout,

    La version par défaut de wp c’est : /?p=id

    ensuite la version rewrité par défaut se base sur la date + titre de l’article

    mais pas de notion d’ID unique.


  • Par sebastien 08/03/2009 at 13h19

    Merci pour cet article, mais dans wordpress, on a systématiquement des url de catégorie du type http://www.monsite.com/category/informatique/ au lieu, simplement, http://www.monsite.com/informatique/

    Dans l’admin on peut remplacer category par un autre mot mais on ne peut pas l’enlever.

    Comment faire pour zapper ce “category” ?


Commentaire Des rewrite rules pour optimiser le référencement de vos URL avec Wordpress, Dotclear et Movable Type