Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence

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

Exemple avec phpBB 2

Date de publication : 7 mai 2006 , Date de mise à jour : 5 juillet 2006


IV. Conclusion
IV-1. Pour aller plus loin
Des améliorations : les prochaines mises à jour du tutoriel
D'autres cours
IV-2. Le Mod phpBB
IV-3. Épilogue


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

SEO :
Thèmes divers :

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...

warning 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 :
    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 :
    //
    // Parse and show the overall header.
    
  7. Ajouter, avant :
  8. Ouvrir : /includes/page_tail.php

  9. Trouver :
    //
    // Close our DB connection.
    //
    $db->sql_close();
    
  10. Ajouter, avant :
    
    //
    // 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 fr Forum Cinéma.

 

Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. 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'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com