Le référencement de sites web dynamiques est l'une des principales sources d'interrogations des webmasters actuels. Après avoir longtemps été un facteur totalement bloquant pour les moteurs de recherche, la situation s'est assouplie depuis quelques temps. Le mois dernier, nous avons étudié quels sont les types de pages qui sont compatibles avec les moteurs et ceux qui ne le sont pas, ainsi que  les problèmes posés aux moteurs par les sites dynamiques. Ce mois-ci, nous nous penchons avec Olivier Duffez (du site WebRankInfo) sur la technique de l’URL rewriting, qui constitue certainement la meilleure solution pour obtenir un meilleur référencement des sites web dynamiques.

Nous avons vu, les mois précédents dans cette lettre, que les sites web dynamiques sont parfois des obstacles pour les moteurs de recherche, mais que la situation a plutôt tendance à s'améliorer. Cependant, parfois, certaines pages représentent un réel obstacle pour les robots et il faut intervenir, mettre en œuvre une procédure spécifique, pour faire en sorte qu'un site soit indexé par les « Google et consort ». Parmi les sept solutions envisagées le mois dernier, celle de l'URL rewriting (ou « réécriture d'URL ») semble la meilleure et, en tout cas, la plus efficace. Pour aborder de façon plus approfondie cette technique, nous avons demandé à Olivier Duffez de nous décrire la façon de mettre en place des fonctions d'URL Rewriting sur un site web. Une tâche qu'il connaît bien puisqu'il l'a mise en place sur son site WebRankInfo (http://www.webrankinfo.com/). Laissons-lui la parole, ou plutôt la plume (voire le clavier ;-))...

Nota : cet article est inspiré du contenu du chapitre « Le référencement de sites web dynamiques » du livre « Google, trucs de pros » à paraître chez Micro Application (http://www.livre-google.com/). Son contenu  cependant été revu pour l’adapter à cette lettre.

Comme il a été indiqué dans les articles précédents de cette lettre professionnelle, les sites dynamiques génèrent la plupart du temps des pages aux URLs longues et complexes, du fait de la présence de variables. Avec des pages dynamiques, un seul fichier permet de créer dynamiquement des centaines ou des milliers de pages. Une fois que la réécriture d’URL est mise en place sur un site, les pages seront accessibles grâce à des URL « propres », que ce soit pour les internautes ou pour les robots des moteurs de recherche.

Ainsi, une page qui était accessible à l'adresse :

http://www.notre-site.com/articles/article.php?id=12&page=2&rubrique=5

sera accessible après URL rewriting à l’adresse (par exemple) :

http://www.notre-site.com/articles/article-12-2-5.html

Ces URL dites « propres » (débarrassées de caractères spéciaux comme « ? » ou « & ») facilitent l’indexation des sites dynamiques, et donc leur référencement dans les moteurs.

En plus de cet avantage indéniable, la réécriture d’URL permet également de renforcer la sécurité du site en masquant les noms des variables passées dans l’URL. Si l’extension des URL « propres » est neutre (par exemple .html ou .htm), il est même possible de masquer le langage utilisé sur le serveur (PHP dans notre exemple).

Principe de l'URL Rewriting

Le principe de la réécriture d’URL est donc de mettre en place un « système » sur le serveur pour qu’il sache interpréter ce nouveau format d’URL. Dans notre exemple, quand un visiteur accède à la page http://www.notre-site.com/articles/article-12-2-5.html, le serveur doit renvoyer exactement la même chose que si le visiteur avait demandé à accéder à la page http://www.notre-site.com/articles/article.php?id=12&page=2&rubrique=5.

La correspondance entre les deux schémas d’URL est alors décrite sous forme de « règles de réécriture ». Chaque règle permet de décrire un format d’URL.  Dans l'exemple ci-dessus, la règle de réécriture va indiquer au serveur de prendre le premier nombre comme numéro d’article, le deuxième comme numéro de page et le troisième comme numéro de rubrique.

La technique de réécriture d’URL la plus connue est celle disponible sur les serveurs Apache, le plus souvent utilisés avec le langage PHP. Sauf mention spéciale, tous les exemples de cet article seront donc consacrés au langage PHP et au serveur Apache.

 

La suite de cet article est réservée aux abonnés.