
Ce n’est un secret pour personne, Google prend en compte les mots clés se trouvant dans les urls des pages web, aussi, une url contenant le titre de la page est plutôt bien vue.
Ensuite, c’est toujours plus sympa de savoir de quoi parle une page avant de cliquer sur son url.
Voici comment procéder pour exploiter des urls type “mapage/10-le-smashing-coding” au lieu de “mapage/?id=10”
pour commencer , copier coller cette fonction dans dans la page PHP qui va générer l’url:
-
function pre_url($texte) {$texte = html_entity_decode($texte);$tofind = utf8_decode( ‘ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ’ );
-
return $texte_final;
-
}
Comme vous pouvez le constater, cette fonction va convertir un texte genre “à l’école” en “a-l-ecole”.
Il peut être nécessaire d’adapter cette fonction selon votre type d’encodage de caractères.
Maintenant, imaginons que vous publiez une liste d’articles, vous utiliserez une requête Mysql de ce genre:
-
{
-
echo ‘<li><a href="mapage/’. $data[‘id’] .‘-’. pre_url($data[‘titre’]).‘">’. $data[‘titre’] .‘</a></li>’;
-
}
Bon ça c’est bien joli, mais ensuite, il faut lire les urls.
C’est pas compliqué avec la magie du .htaccess
dans un .htaccess se situant à la racine du site, vous placerez ces lignes:
-
Options +FollowSymlinks
-
RewriteEngine on
-
RewriteRule ^mapage/([0-9]+)-(.*)$ mapage/index.php?id=$1 [L]
Et voilà, c’est magique, vos urls seront bien plus jolies





Pas mal, il manque juste selon moi un test pour éviter d’avoir un séparateur - en fin d’url, c’est disgracieux ^^
(exemple, un titre avec un signe de ponctuation style “On m’a volé mon ipod !” donnerait avec cette fonction “on-m-a-vole-mon-ipod-”, le tiret final n’est pas utile.)