Comment avoir les mots clés du titre en url rewriting ?

  • Auteur de la discussion Auteur de la discussion El Bono
  • Date de début Date de début
WRInaute discret
Bonjour à tous,

Je souhaiterais faire de l'URL rewriting en utilisant l'id et les mots clés du titre des mes pages (comme le fait Wordpress par exemple).
Je suis PHP/MySQL.
Dois-je prévoir un script pour peupler une table à part de ma base de données avec ces infos (de façon à éliminer les caractères type apostrophe, guillemets, etc) ? Peut-on faire ça sans passer par une table et alors comment ? Connaissez-vous des tutos sur ce problème spécifique ?

Merci par avance.
 
WRInaute discret
url rewriting ????

Bonjour,
Je me permet de rebondir sur ce forum car mon problème est un petit peu lié à l'url Rewriting en effet une fois les problèmes de http.access réglés je voulais avoir l'avis d'expert sur l'impact au niveau référencement que pourrait avoir un url rewrit avec des mots clefs, je m'explique. Immaginons que nous souhaitons optimiser un site dynamique pour un site d'immobilier. Avec l'url rewriting je peux rédiger mes urls du style :
- www.monsite.com/appartement(ou maison...)/75002-paris.php (solus 1)
ou
- www.monsite.com/paris/appartement-75002.php (solus 2)
ou encore
- www.monsite.com/appartement/appartement-75002-paris.php (solus 3)

Ma question est la suivante est ce qu'il vaut mieux privilégier un mot clef important proche de la racine et un nom de fichier insignifiant, comme dans notre solus 1?
Est ce qu'il vaut mieux privilégier un mot clef intéressant en nom de fichier, qui sera proche du title et proche du H1 de ma page, comme dans notre solus 2?
Ou est ce qu'il faut privilégier les 2 (mots clefs intéressant proche de la racine et dans le nom de fichier) au risque de voir des redondance et don c n'y a t'il pas un risque de pénalité par le robot sur une répétition de mots clefs qui peut paraitre suspecte?
Ou est ce que tout cela n'est qu'un mélange de mots clefs qu'il faut essayer d'élargir au maximum pour profiter de l'analyse sémantique du moteur?
J'ai une petite idée sur la question mais plusieurs positions se défendent donc je voulais savoir si il y a des avis et des retours d'expérience sur ce point pour savoir quel est la meilleur stratégie à adopter pour l'optimisation de son URL rewriting.
MErci
 
WRInaute discret
Merci Gloarb, cela m'éclaire un peu... Mais encore une fois, ce qui est proposé dans ce tuto c'est de reprendre les éléments de l'URL pour les "parser"...
Seule la fin de l'article par réellement des mots clés mais ne m'éclaire pas beaucoup.

Je pense que le tuto ideal doit plutôt ressembler à ça :
http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html

Mais bon, c'est en anglais et vu que c'est déjà complexe comme sujet, là j'ai un peu du mal...
 
WRInaute discret
Alors j'avance un peu et j'en fait profiter les newbies en réécritrure d'URL comme moi...

J'ai trouvé un article assez interessant parce qu'il donne une indication très interessante : il faut stocker en base les mots du titre "nettoyés" des caractères qui ne sont pas "URL friendly" :

http://www.sunyday.net/article-PHP-et-mod_rewrite-reecriture-d-URL.html

Ainsi l'article cité plus haut par mes soins va donc me servir...

Je viens par ailleurs de vérifier dans un de mes blog Wordpress et celui-ci semble créér effectivement une colonne pour la réécriture d'URL dans une table de la BDD.
 
WRInaute accro
El Bono a dit:
Bon, mon problème n'intéresse pas grand monde.
Je vais essayer d'être un peu plus concret :

J'ai actuellement des URL :
http://www.monsite.com/article.php?id-article=41701

et je souhaiterais avoir comme URL :
http://www.monsite.com/41701-le-titre-d ... rticle.htm

Sachant que le titre de mon article est stocké en base et pas dans l'URL...

Le tutoriel "pas à pas" pour faire ça, c'est un secret d'état ou quoi ?

Aucun secret, pour faire ce que tu demande, c'est avant tout avoir une bonne methode de travail/

1° l'astuce est de ne pas passer le titre dans l'url physique. Lorsque l'on se trouve sur la page, seul l'ID suffit et on recupere le titre grace a l'ID et une simple requete sql.
2° on se sert d'un code php pour réécrire le titre des liens avec des tirets:

Code:
function format_url( $url, $type = '' ){
$url = preg_replace("`\[.*\]`U","",$url);
$url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$url);
$url = htmlentities($url, ENT_COMPAT);
$url = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i","\\1", $url );
$url = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $url);
$url = ( $url == "" ) ? $type : strtolower(trim($url, '-'));
return $url;
}

Avec ce code, tu dois maintenant etre en mesure de faire de jolie lien dans tes menus:
-http://www.monsite.com/41701-le-titre-de-mon-article.htm

Dernière étape: appliquer l'url rewriting avec des url de ce type:
-http://www.monsite.com/41701-le-titre-de-mon-article.htm

Code:
#http://www.monsite.com/41701-le-titre-de-mon-article.htm
# vers ->
#http://www.monsite.com/article.php?id-article=41701

RewriteRule   ^article-([^/]*)-([^/]*)\.htm$    /article.php?id-article=$1 [L]

j'ai oublier quelque chose ?
 
WRInaute discret
Super merci KOogar, ton explication est très simple et claire...
Ou alors, j'étais un peu bouché avant !

J'avais déjà avancé sur le fait de stocker l'URL "propre" en BDD. Donc en fait l'url nettoyée est en base donc ça va être simple maintenant de créer les URL dans les pages.

Bref je crois que maintenant ça va marcher...
 
Nouveau WRInaute
Salut,

J'ai une petite question:

je vois pas comment dans le htaccess on récupère le titre. Parcque $1, ok c'est l'ID, mais comment tu passes de ta requête SQL pour récupérer le titre à ta nouvelle URL ?

Code:
RewriteRule   ^article-([^/]*)-([^/]*)\.htm$    /article.php?id-article=$1 [L]
 
Nouveau WRInaute
Merci :)

Mais j'ai encore une question :P
Marie-Aude a dit:
Mais je ne veux pas avoir var = zebulon en parametre, je veux avoir var = 01, et c'est var = 01 qui me permet de déterminer zebulon.
Par exemple, dans Wordpress, le parametre est l'id du post, mais tu peux faire des urls avec le titre du post.

comment tu fais concrètement pour faire ça ? Récupérer l'ID = 1 à partir de zebulon ?
Tu as dis dans le header, mais comment ?

Si on a monsite.com/zebulon.html , comment récupérer zebulon en variable pour avoir ensuite son id ..
j'arrive pas à saisir :(

Merci

EDIT : J'ai trouvé :roll:
 
Discussions similaires
Haut