Référencement naturel — 02 novembre 2007 — Aucun commentaire
Référencement d’un site dynamique : l’URL rewriting

Les URL d’un site dynamique, si elles ne sont pas réécrites, ont recours à des caractères exotiques pour indiquer les paramètres. Si le nombre de paramètres est important, les moteurs pourront avoir des difficultés à indexer les pages, c’est pour cela que l’on doit avoir recours à l’URL rewriting…

Voici un exemple d’URL d’un site dynamique non optimisée :
http://www.monsite.com/index.php?cat=2&pays=36&saison=2

La même URL réécrite :
http://www.monsite.com/sejour-maroc-ete-2-36-2.html

Avant toute chose, il faut vérifier que votre hébergeur autorise l’URL rewriting, ce qui est le cas dans la majorité des hébergements payants. Ensuite, le passage aux URL réécrites se fera en deux étapes. La première étant de modifier la façon d’écrire les liens dans les templates du site et la seconde étant d’écrire les règles de réécriture sur le fichier .htaccess

1 – Modification des liens présents dans le template :

Voici le code générant les URL de base dans le template :

<a href= »index.php?cat=<?php echo $cat; ?>&pays=<?php echo $pays; ?>&saison=<?php echo $saison; ?> »>Texte du lien</a>

Les variables $cat, $pays et $saison sont alimentées par des valeurs issues d’une table dans la base de données. Il faut extraire ces valeurs pour les traiter afin de les réutiliser pour l’url réécrite via des fonctions PHP classiques.

On va donc extraire, dans notre exemple la valeur $cat=2 (séjour), la valeur $pays=36 (maroc) et la valeur $saison=2 (été). Avec une fonction PHP, on va traiter ces valeurs pour supprimer les accents et autres caractères malvenus dans une URL. On va ensuite affecter ces valeurs traitées à de nouvelles variables. Par exemple $val_cat (sejour), $val_pays (maroc) et $val_saison (ete). Enfin, ces nouvelles variables seront utilisées pour générer les URL optimisées :

<?php
echo « <a href=\ » ».$val_cat. »-« .$val_pays. »-« .$val_saison.
« -« .$cat. »-« .$pays. »-« .$saison. ».html\ »>Texte du lien</a>
?>

Ce qui générera l’URL suivante :

<a href= »sejour-maroc-ete-2-36-2.html »>Texte du lien</a>

Il ne reste plus qu’à créer le fichier .htaccess pour que le serveur comprenne à quoi correspondent les URL une fois réécrites.

2 – Le fichier .htaccess prendra cette forme :

RewriteEngine on
RewriteRule ^(.*)-([0-9]*)-([0-9]*)-([0-9]*).html$ /index.php ?cat=$2&pays=$3&saison=$4 [L]

Quelques explications :

« RewriteEngine on » permet d’initialiser l’URL rewriting,
« RewriteRule » permet d’écrire une règle de rewriting,

La ligne RewriteRule comprend deux parties, la première comprise entre ^ et $ correspondant à l’expression régulière qui représente l’URL optimisée (règle d’optimisation). La seconde après $ et jusqu’à [L] correspondant au modèle d’URL réécrite à optimiser avec l’expression régulière.

$1 reprend la valeur du premier élément de l’expression régulière, $2 reprend la valeur du second élément de l’expression régulière et ainsi de suite.

(.*) expression régulière pouvant prendre n’importe quelle forme alphanumérique, dans notre exemple cela sera sejour-maroc-ete et correspond à $1 non utilisé ici dans l’url réécrite.

([0-9]*) expression régulière pouvant prendre n’importe quelle forme numérique.

Sommaire : Conseils et astuces pour réussir son référencement.
Post suivant : Création de contenus dédiés au référencement.
Pour suivre cette liste plus facilement, vous pouvez vous abonnez au flux RSS du blog !

Articles similaires

Articles Recommandés



L'auteur

Sylvain Lembert

Depuis 2004 dans le webmarketing, j’ai pu mettre en place des campagnes e-marketing dans des domaines variés. J’ai participé aux référencements de marques reconnues et mis en place la stratégie de communication on-line d’un assureur. J’ai également élaboré une stratégie de search marketing au niveau européen et été responsable de l’acquisition via Facebook pour un groupe de média social. Je suis aujourd'hui consultant webmarketing, n'hésitez pas à me contacter pour vos projets de communication on-line.

 


0 Commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *