Articles taggés url rewriting
Fonction pour générer des "slugs" pour vos URLs
0Dans les bonnes pratiques à prendre pour le référencement, on retrouve le url_rewriting qui consiste à réécrire vos urls sous forme simplifiée et très explicite pour optimiser la pertinance. Ex : une url comme
http://www.monsite.com/employements_offers?country=43&city=4215&category=452&societe=4321
peut se renommer de la façon suivante :
http://www.monsite.com/france/marseille/developpement-web/ssii-xxx
En effet des url’s plus explicites et qui cachent les noms des paramètres GET sont à privilégier pour optimiser le référencement de vos applications Web.
Cela vous oblige à rajouter un champs particulier dans vos tables que l’on appelle le « slug » et qui est une sorte de d’identifiant publique explicite prévu pour les urls. Pour générer automatiquement ces slugs, il vous faut une expression régulière qui va modifier un terme pour le mettre dans une forme compatible avec les navigateurs. Par exemple : Provence Alpes Côte D’Azur on peut le transformer en provence-alpes-cote-dazur.
La fonction suivante vous permettra de générer facilement ces slugs :
/* $str : terme à transformer
* $replace : des caractères ou termes à remplacer par quelque chose passé
* en paramètre dans un tableau
* $delimiter : délimiteur pour representer les espaces par défaut
* c'est un tiret "-" je conseille fortement de garder
* ce format qui est le meilleur dans un souci de référencement.
*/
function toAscii($str, $replace=array(), $delimiter='-') {
setlocale(LC_ALL, 'en_US.UTF8');
if( !empty($replace) ) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
