[URL REWR.] Petit code pour avoir le titre d'une page en url

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


SuperPJ
WRInaute impliqué
WRInaute impliqué
 
Messages: 513
Inscription: 15 Jan 2005

[URL REWR.] Petit code pour avoir le titre d'une page en url

Message le Lun Aoû 01, 2005 6:39

Pour améliorer le référencement et surtout le positionnement de vos pages sur Google vous pouvez remplacer toutes vos url du type "article.php?id=1" par "titre-de-l-article-1.html".

Pour ce faire vous devez remplacer ça :

Code: Tout sélectionner
// *************** FONCTION PRINCIPALE *************** //

$sql = mysql_query("SELECT id,titre FROM table_articles");

while ( $resultat = mysql_fetch_array($sql,MYSQL_ASSOC) )
{
   echo "<A HREF=\"article.php?id=$resultat[id]\">$resultat[titre]</A><BR>\n";
}


// ******************* TEXTE GENERE ******************* //
//
// <A HREF="article.php?id=1">Plus que jamais, la guerre fait rage entre les moteurs de recherche</A>
// <A HREF="article.php?id=4">Classement général des moteurs de recherche en 2004</A>
// <A HREF="article.php?id=7">Quels sont les atouts de Mozbot face à Google, Yahoo et MSN Search =)</A>



... par ça :

Code: Tout sélectionner
// **** LES 2 FONCTIONS SONT A METTRE DE PREFERENCE DANS UN INCLUDE **** //

// Procédure qui définit les paramètres de conversion
function title_to_file_info ()
{
   // Extension des noms de fichiers qui vont être générés
   $extension = '.html';
   // Nombre maximum de caractères que comportera le nom de fichier généré
   $caracteres = 50;
   // Dans le nom de fichier généré, remplacer ces caractères ...
   $car_speciaux = array( 'à','â','ä','È','É','é','è','ê','ë','î','ï','ô','ù','û','ç' );
   // ... par ceux-ci
   $car_normaux = array( 'a','a','a','E','E','e','e','e','e','i','i','o','u','u','c' );

   // Retourner les variables à la fonction principale "title_to_file()"
   return array( $extension, $caracteres, $car_speciaux, $car_normaux );
};


// Fonction principale
function title_to_file ( $id, $titre )
{
   // On récupère les variables
   list( $extension, $caracteres, $car_speciaux, $car_normaux ) = title_to_file_info();
   
   // Supprime de $titre les accents, trémas et cédilles
   $fichier = str_replace($car_speciaux, $car_normaux, $titre);
   // Convertit en minuscules
   $fichier = strtolower( $fichier );
   // Remplace les caractères non-alphanumériques par des tirets
   $fichier = eregi_replace( "[^A-Za-z0-9]", '-', $fichier );
   // Remplace les tirets multiples par un tiret unique
   $fichier = ereg_replace( "\-+", '-', $fichier );
   // Supprime le dernier caractère si c'est un tiret
   $fichier = rtrim( $fichier, '-' );
   // Limite la chaine aux $caractères premiers caractères
   $fichier = substr( $fichier , 0, $caracteres );
   // Applique l'extension au nom de fichier ainsi obtenu
   $fichier = "$fichier-$id$extension";
   
   // Retourner le nom de fichier obtenu
   return $fichier;
}

// ************************ FIN DES 2 FONCTIONS ************************ //



// *************** FONCTION PRINCIPALE *************** //

$sql = mysql_query("SELECT id,titre FROM table_articles");

while ( $resultat = mysql_fetch_array($sql,MYSQL_ASSOC) )
{
   echo "<A HREF=\"".title_to_file($resultat['id'],$resultat['titre'])."\">$resultat[titre]</A><BR>\n";
}


// ******************* TEXTE GENERE ******************* //
//
// <A HREF="plus-que-jamais-la-guerre-fait-rage-entre-les-mote-1.html">Plus que jamais, la guerre fait rage entre les moteurs de recherche</A>
// <A HREF="classement-general-des-moteurs-de-recherche-en-200-4.html">Classement général des moteurs de recherche en 2004</A>
// <A HREF="quels-sont-les-atouts-de-mozbot-face-a-google-yaho-7.html">Quels sont les atouts de Mozbot face à Google, Yahoo et MSN Search =)</A>



Puis dans le .htaccess vous faîtes :
Code: Tout sélectionner
RewriteEngine on
RewriteRule -([0-9]+)\.html$  /article.php?id=$1 [L]


_________________________________________________

C'est ce que j'ai fait pour mon annuaire MyPhpAnnuaire -http://annuaire.audiencestv.com et ça aide pas mal au niveau du référencement Google :P

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Lun Aoû 01, 2005 9:48

merci beaucoup de proposer cette solution.
à ton avis, quelle est l'incidence:
- de placer l'id en fin d'url et non pas au début (style "34-titre-de-la-page.html) ?
- d'ajouter ".html" Pourquoi ne pas laisser "www.dom.com/titre-de-la-page-34/"

Super contribution en tout cas.


SuperPJ
WRInaute impliqué
WRInaute impliqué
 
Messages: 513
Inscription: 15 Jan 2005

Message le Lun Aoû 01, 2005 14:27

Tilt a écrit:Super contribution en tout cas.

Merci :oops:
A ton avis, quelle est l'incidence:
- de placer l'id en fin d'url et non pas au début (style "34-titre-de-la-page.html) ?

Au niveau de Google honnêtement je n'en ai aucune idée. Je ne sais pas s'il référence mieux dans un cas que pour l'autre. Pour autant je trouve que mettre l'id à la fin c'est mieux au niveau de l'utilisateur humain qui lira l'url.

- d'ajouter ".html" Pourquoi ne pas laisser "www.dom.com/titre-de-la-page-34/"

Là encore tu as raison, on pourrait simplement simuler un répertoire. Même si personnellement je préfère garder un nom de fichier ".html" pour la simple raison que les articles sont en fait des fichiers.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité