phpBB et URL REWRITING

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

bielle64
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Dim Jan 19, 2003 11:28

phpBB et URL REWRITING

Message le Jeu Mar 06, 2003 1:10

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.

BDGest
WRInaute impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Jeu Mar 06, 2003 9:21

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 :D 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
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


hetzeld
WRInaute accro
WRInaute accro
 
Messages: 2209
Inscription: Lun Déc 02, 2002 18:21

Message le Jeu Mar 06, 2003 9:26

Salut BDGest,

Il me semble que tu es devenu le "king" de l'URL rewriting, non ? :lol:

Dan

BDGest
WRInaute impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Jeu Mar 06, 2003 10:15

Oula non loin de moi cette idée :D

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

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 :D Et voir si le fait d'augmenter considérablement le nombres de pages indexés à un impact réel sur le PR :D

bielle64
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Dim Jan 19, 2003 11:28

Message le Jeu Mar 06, 2003 11:29

Merci BDGest, ben maintenant... Y'a plus qu'à... :)

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 impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Jeu Mar 06, 2003 11:53

Il faut editer le fichier sessions.php. Dans ce fichier, tout à la fin, tu trouveras la fonction :
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 impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Dim Jan 19, 2003 11:28

Cookies

Message le Jeu Mar 06, 2003 21:00

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 ?

BDGest
WRInaute impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Jeu Mar 06, 2003 22:21

Oui par défaut c'est bon, le forum fonctionne sans pb.

bielle64
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Dim Jan 19, 2003 11:28

Message le Jeu Mar 06, 2003 23:00

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 :cry:
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 impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Jeu Mar 06, 2003 23:25

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) :
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 :wink:

BDGest
WRInaute impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Jeu Mar 06, 2003 23:32

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 :wink:

bielle64
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Dim Jan 19, 2003 11:28

Message le Ven Mar 07, 2003 11:22

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 :wink:


Un gros gros MERCI à toi !
Je rentre chez moi dans une heure et je m'y remet.

Invité
 

Message le Sam Mar 08, 2003 0:59

Déjà j'ai voulu supprimer les SID en mettant en commentaire 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);
}

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 impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Dim Jan 19, 2003 11:28

Message le Sam Mar 08, 2003 12:51

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.

BDGest
WRInaute impliqué
WRInaute impliqué
 
Messages: 279
Inscription: Lun Jan 06, 2003 13:52

Message le Sam Mar 08, 2003 15:42

Tu sais ne serait-ce qu'en supprimant ce SID, tu permets déjà l'indexation de la quasi totalité de ton forum. L'url rewriting n'est pas forcément indispensable. C'est un petit truc en plus.

phpBB et URL REWRITING

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 :

  • 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