Tutoriel d'URL Rewriting (réécriture de liens)

Exemple avec phpBB 2


précédentsommaire

IV. Conclusion

IV-1. Pour aller plus loin

Le présent article, bien que complet, laisse de la place à davantage de recherche. J'ai couvert tout ce qui a directement trait aux liens d'une page Web, comment les réécrire et comment traiter les demandes en provenance du client mais je n'ai pas évoqué les redirections...
Ce sera l'objet de futurs tutoriels ^^

Des améliorations : les prochaines mises à jour du tutoriel

  • Pour les sites qui sont déjà référencés par les moteurs de recherche, il faudra agrémenter la réécriture de liens par un script qui s'occupera de gérer le duplicate content en envoyant un "header 301 : Moved permanently". Cela évitera des résultats catastrophiques pour le référencement du site...
  • Comment appliquer cette réécriture à tous les liens du site ? Mon script permet de réécrire toutes les URLs d'un forum phpBB mais j'ai donné peu d'informations sur la manière d'y parvenir.
  • phpBB comporte quelquefois l'attribut title dans ses liens. J'ai préféré peu modifier le code de phpBB afin de rendre l'installation de mon Mod la plus simple possible. Cependant, il ne faut pas que cela nous empêche de remplacer ces textes peu optimisés : ne pas y toucher serait même un manque à gagner !

D'autres cours

IV-2. Le Mod phpBB

J'ai commencé à écrire ce tutoriel lorsque j'étais en train de coder le Mod URL Rewriting pour le Forum Cinéma. Il serait très égoïste de ma part de ne pas le mettre à disposition...

Attention : je ne garantis absolument aucun résultat de SEO. Je ne garantis pas même que votre forum fonctionne aussi bien qu'avant, une fois ce Mod installé, surtout s'il était déjà moddé. Il faudra y mettre du vôtre à partir de maintenant.

La procédure d'installation est la suivante :
  1. Télécharger l'archive :
    Mod URL Rewriting pour phpBB 2 (version française) : [ FTP ] ou [ HTTP ]
    Mod URL Rewriting pour phpBB 2 (version anglaise) : [ FTP ] ou [ HTTP ]

  2. Ouvrir : /.htaccess

  3. Trouver :

     
    Sélectionnez
    phpbb_test/
  4. Remplacer toutes les occurences par le nom du répertoire de votre forum (à partir de la racine du site)

  5. Ouvrir : /includes/page_header.php

  6. Trouver :

     
    Sélectionnez
    //
    // Parse and show the overall header.
  7. Ajouter, avant :

     
    Sélectionnez
    ob_start();
  8. Ouvrir : /includes/page_tail.php

  9. Trouver :

     
    Sélectionnez
    //
    // Close our DB connection.
    //
    $db->sql_close();
  10. Ajouter, avant :

     
    Sélectionnez
    
    //
    // Retrieve output buffer contents, then clear the buffer without displaying anything
    //
    $contents = ob_get_contents();
    ob_end_clean();
    
    
    require_once('functions_urlrewrite.'.$phpEx);
    //
    // Find all the links in the page
    // There are 4 parenthesized parts in this regular expression (the last can be overlooked):
    //   #1: there might be an option like class="..."
    //   #2: full path to the target Web page
    //   #3: #1 bis
    //   #4: text of the link
    //
    if(preg_match_all('#<a(.+)href="([^"]+)"([^>]*)>(.+)</a>#Usi', $contents, $matches, PREG_SET_ORDER)){
        $contents = rewrite_urls($contents, $matches, 'a');
    }
    
    if(preg_match_all('#<form(.*)action="([^"]+)"([^>]*)>#Usi', $contents, $matches, PREG_SET_ORDER)){
        $contents = rewrite_urls($contents, $matches, 'form');
    }
    
    if(preg_match_all('#<link rel(.*)href="([^"]+)"([^>]*)>#Usi', $contents, $matches, PREG_SET_ORDER)){
        $contents = rewrite_urls($contents, $matches, 'link rel');
    }
    
    
    echo $contents;
  11. Sauvegarder tous les fichiers, uploader sur le serveur et tester

IV-3. Épilogue

Dans les grandes lignes, je pense avoir tout dit de la méthode que j'ai adoptée pour réécrire les adresses sur le Forum Cinéma.
Avant de vous lancer à installer ce Mod sur votre site, je ne peux que vous inciter à lire tout ce que vous pouvez sur le sujet (notamment sur Développez.com et Abondance.fr) et, surtout, à bien réfléchir à la forme que vous souhaitez donner à vos URLs. Gardez bien à l'esprit qu'il s'agit principalement d'améliorer le référencement d'un site auprès des moteurs de recherche en leur facilitant la navigation, mais que ces mêmes moteurs de recherche ne pourront pas savoir que voir-le-sujet-15.php et voir-le-sujet-15-qui-parle-des-vaches-et-qui-a-ete-lance-le-23-septembre-2005-par-so.php sont en fait la même page et que vous avez changé votre gestion de l'URL Rewriting entre deux de leurs passages chez vous (euh, désolé So, il est 6h30 du mat' et j'ai toujours pas dormi... bref). Rapport aux backlinks et au duplicate content, le pire qu'il puisse arriver est de changer l'URL Rewriting de son site (et je ne parle pas de la compatibilité descendante du fichier .htaccess, ça devient rapidement la foire : sur le Forum Cinéma, nous en sommes les premières victimes !).

Une dernière chose : le fichier .htaccess, s'il est correctement écrit, n'empêchera pas les liens classiques de fonctionner. Ainsi, viewtopic.php?t=3678 et sujet-3678,tuto-l-url-rewriting.htm sont tout autant valides l'un que l'autre.
Cela peut s'avérer bien pratique mais cela veut aussi dire qu'il faut faire attention notamment au fichier robots.txt et y inclure toutes les formes valides de liens. Si vous avez réécrit search.php en chercher.html ou chercher-les-messages-de-x.html suivant le cas, votre fichier robots.txt doit prévoir d'interdire l'accès à ces trois formes de liens.

Souvenez-vous qu'une mauvaise réécriture des adresses aura pour conséquence la mise hors service partielle, voire complète, de votre site !

Je vous laisse vous documenter pleinement. N'installez ce Mod sur votre forum en production qu'une fois que vous l'aurez longuement testé sur un forum de test.

Démonstration sur le Forum Cinéma.


précédentsommaire

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.