La réécriture des URL dynamiques en URL sémantiques – partie 1 de 2
Dans un site web dynamique reposant sur une base de données, les différentes pages décrivant le même type de données ont toutes la même adresse web. Ce qui permet de les différencier c’est seulement le paramètre, souvent un identifiant numérique, associé à l’URL.
Exemple d’une URL dynamique
http://www.mon-portail-touristique.com/portailregional.jsp?region=4
Ces pages sont très mal indexées par les moteurs de recherche qui s’intéressent surtout à la sémantique de nos pages. En effet, ceux-ci considèrent les informations suivantes par ordre d’importance :
- 1 - Le nom du domaine
- 2 - Le nom de la page et de sa hiérarchie
- 3 - Le titre de la page (balises <hn>)
- 4 - Le contenu
Ces informations permettent au moteur d’indexation de conserver notre page web dans la bonne catégorie de son index et parfois même de tisser des liens sémantiques entre ces contenus et ceux d’autres sites.
Comment un moteur d’indexation, tel que Google, peut-il voir la différence fondamentale entre notre région numéro 4 et notre région numéro 5 s’il n’y a pas d’autres informations les décrivant? D’autre part, comment pourrait-il associer cette donnée avec d’autres informations de sa base de données si les mots-clés décrivant la région manquent !
C’est pourquoi des informations sémantiques plus pertinentes devraient être associées à l’adresse web. Par exemple, il est préférable de publier le mot-clé principal de la région dans l’URL, même si ce mot-clé n’est pas utilisé dans la requête (dans le script de la région c’est l’identifiant numérique qui est utilisé).
Exemple d’une URL dynamique et sémantique
http://www.mon-portail-touristique.com/portailregional.jsp?region=4&nom_region=Quebec
Ainsi, lorsque les ‘crawlers’ iront visiter notre site, ils verront distinctement la différence entre la région 4 et la région 5 et pourront identifier ce contenu avec des mots-clés.
Cependant, l’algorithme de l’engin d’indexation considèrera sans aucun doute que cette information est de second ordre si elle est placée dans un paramètre. Elle ne vaudra pas plus qu’un autre paramètre telle la langue ou le numéro de session ! Un autre facteur défavorisant l’indexation des pages paramétrées est leur nombre impressionnant et leur pertinence toute relative sur le web d’aujourd’hui. Enfin, considérons également le retard dans le développement des moteurs de recherche qui n’aide pas leur cause : celui par rapport à la capacité de gestion de ces url un peu spéciales.
Quoi qu’il en soit, c’est une vérité communément admise de nos jours qu’il vaut mieux avoir une url dans laquelle la sémantique n’est pas distribuée dans les paramètres, mais dans laquelle plutôt, la sémantique serait concentrée dans le chemin de la page et le nom de la page. On tente le plus possible de présenter une adresse de page qui serait sémantique en elle-même : les mots-clés font partie du nom de la page et de ses répertoires. Voici quelques exemples ou les mots-clés sont mis en avant et les identifiants numériques sont filtrés.
Exemple d’une URL sémantique (d’apparence non-dynamique)
http://www.mon-portail-touristique.com/portail-regional-quebec.html
Exemple d’une URL sémantique (d’apparence non-dynamique)
http://www.mon-portail-touristique.com/portail-regional/Quebec/
Comment s’opère cette magie : soit présenter plusieurs noms de pages statiques par un système dynamique opérant un seul script, i.e. une seule page qui les génèrent toutes ?
C’est la réécriture d’URL, aussi connue par les expressions anglophones ‘url rewriting’ ou ‘mod rewrite’.
Dans le prochain article, nous apprendrons comment réaliser cette magie à l’aide du module mod_rewrite de Apache.

