phpBB et URL REWRITING
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- bielle64
- WRInaute occasionnel

- Messages: 252
- Inscription: 19 Jan 2003
phpBB et URL REWRITING
J'envisage d'utiliser phpBB pour créer un forum.
Est-ce qu'Olivier (WRI) ou qq'un d'autre pourrer me donner des astuces pour "URL rewriter" ce script ?
Déjà, comment supprimer les SID ?
J'ai déjà lu dans ce forum que pour la génération des URL il fallait trouver les appels à la fonction append_sid mais serait-il possible d'en savoir un peu plus ?
Je n'ai pas trouvé de réponse dans Google en tout cas
Merci de bien vouloir m'aiguiller un peu.
Est-ce qu'Olivier (WRI) ou qq'un d'autre pourrer me donner des astuces pour "URL rewriter" ce script ?
Déjà, comment supprimer les SID ?
J'ai déjà lu dans ce forum que pour la génération des URL il fallait trouver les appels à la fonction append_sid mais serait-il possible d'en savoir un peu plus ?
Je n'ai pas trouvé de réponse dans Google en tout cas
Merci de bien vouloir m'aiguiller un peu.
- BDGest
- WRInaute occasionnel

- Messages: 279
- Inscription: 6 Jan 2003
C'est justement la fonction append_sid qui ajoute le SID a la fin. Je l'ai viré de mon coté pour éviter les sessions mais attention, cela signifie que les utilisateurs devront OBLIGATOIREMENT accepter les cookies pour s'enregistrer.
Ensuite il faut que tu reperes dans TOUS les fichiers .php les endroits ou il génére les urls :
- index.php
- viewforum.php
- viewtopic.php
Ensuite tu modifies la syntaxe des urls générées. C'est long et fasdtidieux, et je ne peux pas te dire encore si c'est rellement efficace, j'attends la google dance
Je pense que le plus important est de virer ce SID qui empeche google de parcourir ton forum. En effet, avant ça; google n'etait JAMAIS passé sur mon forum et, début février, lorsque j'ai viré ce SID et mis en place l'URL rewrtiting, il est passé sur plus de 10000 pages avec le full crawl. Donc j'attends de voir la googledance pour voir ce que ça donne.
Pense aussi à mettre à jour ton robots.txt une fois que tu auras mis en place ton url rewriting. En effet, si tu ne fais rien, il y a des chances qu'ils trouvent encore des liens vers les anciennes url et donc trouve du duplicate content. Pour cela je lui interdit l'indexage de certains fichiers php (par exemple posting.php est à interdire sinon, il la scan des milliers de fois pour rien). Voici en exemple mon .htaccess et mon robots.txt :
.htaccess pour phpBB
robots.txt pour phpBB
Ensuite il faut que tu reperes dans TOUS les fichiers .php les endroits ou il génére les urls :
- index.php
- viewforum.php
- viewtopic.php
Ensuite tu modifies la syntaxe des urls générées. C'est long et fasdtidieux, et je ne peux pas te dire encore si c'est rellement efficace, j'attends la google dance
Pense aussi à mettre à jour ton robots.txt une fois que tu auras mis en place ton url rewriting. En effet, si tu ne fais rien, il y a des chances qu'ils trouvent encore des liens vers les anciennes url et donc trouve du duplicate content. Pour cela je lui interdit l'indexage de certains fichiers php (par exemple posting.php est à interdire sinon, il la scan des milliers de fois pour rien). Voici en exemple mon .htaccess et mon robots.txt :
.htaccess pour phpBB
- Code: Tout sélectionner
RewriteRule ^viewforum_([0-9]+)_([0-9]+)_([0-9]+)\.html$ viewforum.php?f=$1topicdays=$2&start=$3 [L]
RewriteRule ^viewforum_([0-9]+)\.html$ viewforum.php?f=$1 [L]
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)_(asc|desc)_([0-9]+)\.html$ viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 [L]
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.html$ viewtopic.php?t=$1&start=$2 [L]
RewriteRule ^viewtopic_([0-9]+)_newest\.html$ viewtopic.php?t=$1&view=newest [L]
RewriteRule ^viewtopic_([0-9]+)_previous\.html$ viewtopic.php?t=$1&view=previous [L]
RewriteRule ^viewtopic_([0-9]+)_next\.html$ viewtopic.php?t=$1&view=next [L]
RewriteRule ^viewtopic_([0-9]+)\.html$ viewtopic.php?t=$1 [L]
RewriteRule ^viewprofile_([0-9]+)\.html$ profile.php?mode=viewprofile&u=$1 [L]
RewriteRule ^viewmessage_([0-9]+)\.html$ viewtopic.php?p=$1 [L]
robots.txt pour phpBB
- Code: Tout sélectionner
User-agent: *
Disallow: /images/
Disallow: /images/
Disallow: /forum/login.php
Disallow: /forum/modcp.php
Disallow: /forum/posting.php
Disallow: /forum/privmsg.php
Disallow: /forum/search.php
Disallow: /forum/viewonline.php
Disallow: /forum/viewtopic.php
Disallow: /forum/viewforum.php
Disallow: /forum/statistics.php
Disallow: /forum/site_hist.php
Disallow: /forum/profilephoto_mod.php
Disallow: /forum/profile.php
Disallow: /forum/memberlist.php
Disallow: /forum/ranking.php
Disallow: /forum/groupcp.php
Disallow: /forum/ranking.php
Disallow: /search.php
Disallow: /profile.php
Disallow: /viewtopic.php
Disallow: /posting.php
Disallow: /login.php
Disallow: /memberlist.php
Disallow: /redir.php
- BDGest
- WRInaute occasionnel

- Messages: 279
- Inscription: 6 Jan 2003
Oula non loin de moi cette idée
Mais j'ai juste passé des heures à le mettre enplace sur mes 2 sites et notamment dans un forum phpBB, et c'est pas de la tarte, alors si certains peuvent gagner du temps sur les coquilles que je n'avais pas vu initialement ben tant mieux. Notamment le coup du robiots.txt pour éviter que les moteurs indexent 2 fois les pages. Ou l'empecher d'aller sur des pages qui servent a rien (posting.php, etc...)
Sinon, je reprends allégrement les idées des uns et des autres, et notamment la manière dont Olivier a gérer son url rewriting sur ce forum. Rendons à César ce qui appartient à César.
Maintenant j'attends impatiemment la dance pour voir si ENFIN je décolle des ces $ù^*^ù de 18 pages que m'attribue royalement google pour l'instant
Et voir si le fait d'augmenter considérablement le nombres de pages indexés à un impact réel sur le PR 
Mais j'ai juste passé des heures à le mettre enplace sur mes 2 sites et notamment dans un forum phpBB, et c'est pas de la tarte, alors si certains peuvent gagner du temps sur les coquilles que je n'avais pas vu initialement ben tant mieux. Notamment le coup du robiots.txt pour éviter que les moteurs indexent 2 fois les pages. Ou l'empecher d'aller sur des pages qui servent a rien (posting.php, etc...)
Sinon, je reprends allégrement les idées des uns et des autres, et notamment la manière dont Olivier a gérer son url rewriting sur ce forum. Rendons à César ce qui appartient à César.
Maintenant j'attends impatiemment la dance pour voir si ENFIN je décolle des ces $ù^*^ù de 18 pages que m'attribue royalement google pour l'instant
- bielle64
- WRInaute occasionnel

- Messages: 252
- Inscription: 19 Jan 2003
Merci BDGest, ben maintenant... Y'a plus qu'à...
Par contre, j'ai pas encore mis les mains dans le camboui mais tu dis :
ça consiste en quoi ?
Est-ce que c'est inclus dans ton .htaccess ou est-ce qu'il fait modifier le code PHP ?
Par contre, j'ai pas encore mis les mains dans le camboui mais tu dis :
Je pense que le plus important est de virer ce SID
ça consiste en quoi ?
Est-ce que c'est inclus dans ton .htaccess ou est-ce qu'il fait modifier le code PHP ?
- BDGest
- WRInaute occasionnel

- Messages: 279
- Inscription: 6 Jan 2003
Il faut editer le fichier sessions.php. Dans ce fichier, tout à la fin, tu trouveras la fonction :
Pour faire simple, il te suffit de commenter le if :
Voilà, mais je te rappelle qu'après ça, seul les cookies permettront à tes utilisateurs de s'enregistrer et se connecter
- Code: Tout sélectionner
function append_sid($url, $non_html_amp = false)
{
global $SID;
if ( !empty($SID) && !eregi('sid=', $url) )
{
$url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
}
return($url);
}
Pour faire simple, il te suffit de commenter le if :
- Code: Tout sélectionner
function append_sid($url, $non_html_amp = false)
{
global $SID;
// if ( !empty($SID) && !eregi('sid=', $url) )
// {
// $url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
// }
return($url);
}
Voilà, mais je te rappelle qu'après ça, seul les cookies permettront à tes utilisateurs de s'enregistrer et se connecter
- bielle64
- WRInaute occasionnel

- Messages: 252
- Inscription: 19 Jan 2003
Cookies
BDGest a écrit:mais je te rappelle qu'après ça, seul les cookies permettront à tes utilisateurs de s'enregistrer et se connecter
Il faudra bien qu'ils s'y fassent !
Sais-tu, par hasard, si le niveau moyen de protection donné par défaut par windows laisse passer les cookies de phpBB ?
- bielle64
- WRInaute occasionnel

- Messages: 252
- Inscription: 19 Jan 2003
BDGest a écrit:Oui par défaut c'est bon, le forum fonctionne sans pb.
Oui, tu m'as devancé, je viens de constater que le PC su boulot sur lequel je suis aujourd'hui est configué comme ça et ça marche sans pb.
Par contre je viens de "bosser" sur l'UR sur quelques pages du web, je remercie d'ailleurs Dan HETZEL pour son article car c'est celui que j'ai trouvé le plus clair, et si je trouve le principe de l'UR assez facile, pour transformer phpBB c'est beaucoup moins évident.
J'ai donc mis les mains dans le camboui de phpBB suivant tes conseils (BDGest).
J'ai regardé dans les 3 fichiers que tu m'as donné pour la génération d'URL et c'est l'horreur
Je fais des progrès tous les jours en php mais là : trop dur !
Il me semble bien avoir repérer les instruction de génération d'URL, en faisant simplement une recherche sur "URL" mais de là à les modifier...
Pourrais-je abuser de ta gentillesse et te demander soit :
- de me donner quelques exemples de lignes à modifier et ces mêmes lignes une fois modifiées ?
Car il faut que je respecte une certaine sytaxe pour que ça corresponde à ton .htaccess.
- de m'envoyer ces 3 fichiers une fois modifiés, s'il s'agit des seules modification que tu as effectué ?
Mon email se trouve sur mon site.
Merci d'avance.
- BDGest
- WRInaute occasionnel

- Messages: 279
- Inscription: 6 Jan 2003
Je peux difficilement t'envoyer les fichiers car j'ai fait beaucoup d'autres modifs et j'ai peu que cela ne fonctionne plus chez toi après. Voici donc un exemple de code que j'ai changé (ligne 601 a peu près de viewforum.php) :
devient
Grosso modo pour simplifier, commence à rechercher les endroits ou tu as viewforum et viewtopic. Ensuite, progresse pas à pas. Tu fais une modif, tu vois ce que ça donne, puis une autre etc... Pour t'aider, consulte les fichiers .tpl (templates) correspondant à chaque .php, tu verras mieux où se trouve les liens et ensuite tu comprendras mieux où les trouver dans les fichiers php.
Attention, c'est assez long de passer tout ton forum comme ça, mais ça vaut le coup, ne serait-ce que pour apprendre le php
- Code: Tout sélectionner
$goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&start=$j") . '">' . $times . '</a>';
devient
- Code: Tout sélectionner
$goto_page .= '<a href="' . append_sid("viewtopic_".$topic_id."_".$j.".html") . '">' . $times . '</a>';
Grosso modo pour simplifier, commence à rechercher les endroits ou tu as viewforum et viewtopic. Ensuite, progresse pas à pas. Tu fais une modif, tu vois ce que ça donne, puis une autre etc... Pour t'aider, consulte les fichiers .tpl (templates) correspondant à chaque .php, tu verras mieux où se trouve les liens et ensuite tu comprendras mieux où les trouver dans les fichiers php.
Attention, c'est assez long de passer tout ton forum comme ça, mais ça vaut le coup, ne serait-ce que pour apprendre le php
- bielle64
- WRInaute occasionnel

- Messages: 252
- Inscription: 19 Jan 2003
BDGest a écrit:Je viens de t'envoyer par email les 3 fichiers concernés. Attention a ne pas les utiliser tel quel chez toi car j'ai fais pas mal d'autres modifs
Un gros gros MERCI à toi !
Je rentre chez moi dans une heure et je m'y remet.
- Invité
Déjà j'ai voulu supprimer les SID en mettant en commentaire le if :
Sans aucun autre changement ni .htaccess
et j'obtiens : Fatal error: Call to undefined function: redirect() in /home/ossau/www/forum/login.php on line 85
J'arrive à rien :'(
- Code: Tout sélectionner
function append_sid($url, $non_html_amp = false)
{
global $SID;
// if ( !empty($SID) && !eregi('sid=', $url) )
// {
// $url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
// }
return($url);
}
Sans aucun autre changement ni .htaccess
et j'obtiens : Fatal error: Call to undefined function: redirect() in /home/ossau/www/forum/login.php on line 85
J'arrive à rien :'(
- bielle64
- WRInaute occasionnel

- Messages: 252
- Inscription: 19 Jan 2003
Si si, en fait ça fonctionne très bien.
Enfin, j'ai carrément supprimé les lignes commentées, je me demande s'il n'y pas une histoire du genre qu'on peut pas mettre des commentaires dans une fonction.
Bref, plus de SID dans mon forum, c'est déjà pas mal pour "laisser rentrer" Google.
Enfin, j'ai carrément supprimé les lignes commentées, je me demande s'il n'y pas une histoire du genre qu'on peut pas mettre des commentaires dans une fonction.
Bref, plus de SID dans mon forum, c'est déjà pas mal pour "laisser rentrer" Google.
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 :
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Tutoriel URL Rewriting
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- l'URL Rewriting expliqué aux débutants
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Passage à l'heure d'hiver sur un forum phpBB 3
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Liste des backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Transformer des textes non cliquables en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


