Ré-écriture d’URL et SEO
Vous avez décidé d’utiliser la ré-écriture d’url pour rendre vos URL plus lisibles et ‘amicales’ pour l’utilisateur. C’est probablement une bonne chose, étant donné que les moteurs de recherche eux aussi les préfèrent ainsi. Mais attention, il y a certains écueils à éviter !
En effet, avec ce type de configuration, on ne fait plus bien la distinction entre contenu et répertoire… et les robots non plus! Du coup, http://www.mondomaine.com/example et http://www.mondomaine.com/example/ renvoient généralement sur le même contenu, mais sont vus comme deux pages différentes par les moteurs de recherche.
On a alors dilution du référencement, et les doublons sont de la partie. Quelle Horreur !
Nous avons déjà traité un problème similaire à propos des noms de domaines multiples dans un précédent article. La solution sera ici du même ordre.
Pour éviter tout souci de doublon, il vous faudra vous assurer que les adresses sans slash de fin (comme http://www.mondomaine.com/example) renvoient sur la même adresse avec slash de fin (comme http://www.mondomaine.com/example/) avec une erreur 301 (page définitivement déplacée).
Pour ce faire, il s’agira de procéder comme dans l’exemple ci dessous, à l’aide d’un fichier .htaccess ou en modifiant la configuration du serveur web :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.mondomaine.com/$1/ [L,R=301]
</IfModule>
- La première ligne annonce l’utilisation d’une règle de ré-écriture, et la seconde indique le répertoire courant comme racine.
- RewriteCond %{REQUEST_FILENAME} !-f exclut les fichiers existant de cette règle, afin qu’un slash ne leur soit pas adjoint.
- RewriteCond %{REQUEST_FILENAME} !-d fait de même avec les répertoires existant réellement sur le site.
- RewriteCond %{REQUEST_URI} !(.*)/$ s’occupe d’exclure les URLs finissant déjà par un slash.
- Enfin, RewriteRule ^(.*)$ http://www.mondomaine.com/$1/ [L,R=301] rajoute un slash à la fin des URL ainsi sélectionnées, en retournant en passant le code d’erreur approprié.
Notez que vous devez placer thes règles avant celles pré-existantes pour être sûr d’avoir le comportement désiré.

mardi 16 juin 2009 à 18:13
Hello. I think the article is really interesting. I am even interested in reading more. How soon will you update your blog?