Des rewrite rules pour optimiser le référencement de vos URL avec Wordpress, Dotclear et Movable Type
La 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.
