Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

[Référencement] URL REWRITING

Forum informatique > Référencement & URL Rewriting > [Référencement] URL REWRITING

<<<1234>>>

[Page 1 sur 4 - 46 messages]
Informations Messages

Pouzy

Avatar de Pouzy
14224 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 23 Novembre 2004 à 18h28

Bonjour

vous avez remarqué les urls de ce forum, ceci est l'effet de url rewriting pour ceux qui ne connaissent pas.
Cette méthode facilite fortement le référencement sur google bien entendu si ce dernier passe vous rendre visite.
Pour le cas de ce forum il passe régulièrement et pour preuve.
On va surveiller ce nouveau topic pour voir en combien de temps il va être référencer.
Voici le code que j'utilise sur phpBB 2.0.10
L'auteur de ce code est Twister.
Aucun bug depuis son installation.

Code

#
#-----[ OUVRIR ]---------------------------------------------
#
includes/sessions.php

#
#-----[ TROUVER ]---------------------------------------------
#

$SID = 'sid=' . $session_id;

#
#-----[ REMPLACER PAR ]---------------------------------------
#

if ( est_robot() && REFERENCEMENT_BOOST ){ //if ajouté pour supprimer les sessions pour les robots
$SID = '';
}else{
$SID = 'sid=' . $session_id;
}

#
#-----[ TROUVER ]---------------------------------------------
#

function append_sid($url, $non_html_amp = false)
{
global $SID;

if ( !empty($SID) && !preg_match('#sid=#', $url) )
{
$url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
}

return $url;
}

Remplacer par


function append_sid($url, $non_html_amp = false) //fonction modifiée pour l'url-rewriting
{
global $SID;

if ( !empty($SID) && !preg_match('#sid=#', $url) )
{
$url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
}

if ( REFERENCEMENT_BOOST )
{
$url = url_rewrite( $url );
}

return $url;
}

//Fonction qui vérifie si le visiteur est un robot comme google
function est_robot() {
global $HTTP_SERVER_VARS;
$RobotsList = array (
"antibot",
"appie",
"architext",
"bjaaland",
"digout4u",
"echo",
"fast-webcrawler",
"ferret",
"googlebot",
"gulliver",
"harvest",
"htdig",
"ia_archiver",
"jeeves",
"jennybot",
"linkwalker",
"lycos",
"mercator",
"moget",
"muscatferret",
"myweb",
"netcraft",
"nomad",
"petersnews",
"scooter",
"slurp",
"unlost_web_crawler",
"voila",
"voyager",
"webbase",
"weblayers",
"wget",
"wisenutbot",
"acme.spider",
"ahoythehomepagefinder",
"alkaline",
"arachnophilia",
"aretha",
"ariadne",
"arks",
"aspider",
"atn.txt",
"atomz",
"auresys",
"backrub",
"bigbrother",
"blackwidow",
"blindekuh",
"bloodhound",
"brightnet",
"bspider",
"cactvschemistryspider",
"cassandra",
"cgireader",
"checkbot",
"churl",
"cmc",
"collective",
"combine",
"conceptbot",
"coolbot",
"core",
"cosmos",
"cruiser",
"cusco",
"cyberspyder",
"deweb",
"dienstspider",
"digger",
"diibot",
"directhit",
"dnabot",
"download_express",
"dragonbot",
"dwcp",
"e-collector",
"ebiness",
"eit",
"elfinbot",
"emacs",
"emcspider",
"esther",
"evliyacelebi",
"nzexplorer",
"fdse",
"felix",
"fetchrover",
"fido",
"finnish",
"fireball",
"fouineur",
"francoroute",
"freecrawl",
"funnelweb",
"gama",
"gazz",
"gcreep",
"getbot",
"geturl",
"golem",
"grapnel",
"griffon",
"gromit",
"hambot",
"havindex",
"hometown",
"htmlgobble",
"hyperdecontextualizer",
"iajabot",
"ibm",
"iconoclast",
"ilse",
"imagelock",
"incywincy",
"informant",
"infoseek",
"infoseeksidewinder",
"infospider",
"inspectorwww",
"intelliagent",
"irobot",
"iron33",
"israelisearch",
"javabee",
"jbot",
"jcrawler",
"jobo",
"jobot",
"joebot",
"jubii",
"jumpstation",
"katipo",
"kdd",
"kilroy",
"ko_yappo_robot",
"labelgrabber.txt",
"larbin",
"legs",
"linkidator",
"linkscan",
"lockon",
"logo_gif",
"macworm",
"magpie",
"marvin",
"mattie",
"mediafox",
"merzscope",
"meshexplorer",
"mindcrawler",
"momspider",
"monster",
"motor",
"mwdsearch",
"netcarta",
"netmechanic",
"netscoop",
"newscan-online",
"nhse",
"northstar",
"occam",
"octopus",
"openfind",
"orb_search",
"packrat",
"pageboy",
"parasite",
"patric",
"pegasus",
"perignator",
"perlcrawler",
"phantom",
"piltdownman",
"pimptrain",
"pioneer",
"pitkow",
"pjspider",
"pka",
"plumtreewebaccessor",
"poppi",
"portalb",
"puu",
"python",
"raven",
"rbse",
"resumerobot",
"rhcs",
"roadrunner",
"robbie",
"robi",
"robofox",
"robozilla",
"roverbot",
"rules",
"safetynetrobot",
"search_au",
"searchprocess",
"senrigan",
"sgscout",
"shaggy",
"shaihulud",
"sift",
"simbot",
"site-valet",
"sitegrabber",
"sitetech",
"slcrawler",
"smartspider",
"snooper",
"solbot",
"spanner",
"speedy",
"spider_monkey",
"spiderbot",
"spiderline",
"spiderman",
"spiderview",
"spry",
"ssearcher",
"suke",
"suntek",
"sven",
"tach_bw",
"tarantula",
"tarspider",
"techbot",
"templeton",
"teoma_agent1",
"titin",
"titan",
"tkwww",
"tlspider",
"ucsd",
"udmsearch",
"urlck",
"valkyrie",
"victoria",
"visionsearch",
"vwbot",
"w3index",
"w3m2",
"wallpaper",
"wanderer",
"wapspider",
"webbandit",
"webcatcher",
"webcopy",
"webfetcher",
"webfoot",
"weblinker",
"webmirror",
"webmoose",
"webquest",
"webreader",
"webreaper",
"websnarf",
"webspider",
"webvac",
"webwalk",
"webwalker",
"webwatch",
"whatuseek",
"whowhere",
"wired-digital",
"wmir",
"wolp",
"wombat",
"worm",
"wwwc",
"wz101",
"xget",
"awbot",
"bobby",
"boris",
"bumblebee",
"cscrawler",
"daviesbot",
"ezresult",
"gigabot",
"gnodspider",
"internetseer",
"justview",
"linkbot",
"linkchecker",
"nederland.zoek",
"perman",
"pompos",
"psbot",
"redalert",
"shoutcast",
"slysearch",
"ultraseek",
"webcompass",
"yandex",
"robot",
"crawl"
);
$botID = strtolower( $HTTP_SERVER_VARS['HTTP_USER_AGENT'] );
for ($i = 0; $i < count( $RobotsList ); $i++)
{
if ( strstr( $botID, $RobotsList[$i] ) )
{
return true;
}
}
return false;
}

//fonction qui réécrit l'url des pages de lecture
function url_rewrite($url){

$inf_url = parse_url( html_entity_decode( $url ) );
$get_url = array();
parse_str( $inf_url['query'], $get_url );

//index.php
if ( substr_count( $inf_url['path'], "index" ) == 1 ){
//les catégories
if ( count( $get_url ) == 1 && isset( $get_url['c'] )){
return 'categorie-'.$get_url['c'].'.html';
}
}

//viewforum.php
if ( substr_count( $inf_url['path'], "viewforum" ) == 1 ){
//le numéro du forum seul
if ( count( $get_url ) == 1 && isset( $get_url['f'] )){
return 'forum-'.$get_url['f'].'.html';
}
//f, topicdays et start
if ( count( $get_url ) == 3 && isset( $get_url['f'] ) && isset( $get_url['topicdays'] ) && isset( $get_url['start'] ) ){
return 'forum-'.$get_url['f'].'-'.$get_url['topicdays'].'-'.$get_url['start'].'.html';
}
}

//viewtopic.php
if ( substr_count( $inf_url['path'], "viewtopic" ) == 1 ){
//le numéro du sujet seul
if ( count( $get_url ) == 1 && isset( $get_url['t'] )){
return 'sujet-'.$get_url['t'].'.html';
}
//le numéro du sujet seul avec p
if ( count( $get_url ) == 1 && isset( $get_url['p'] )){
return 'vsujet-'.$get_url['p'].'.html';
}

//sujet précédent ou suivant
if ( count( $get_url ) == 2 && isset( $get_url['t'] ) && isset( $get_url['view'] ) ){
if ( $get_url['view'] == 'previous' ){
return 'prec-sujet-'.$get_url['t'].'.html';
}elseif ( $get_url['view'] == 'next' ){
return 'suiv-sujet-'.$get_url['t'].'.html';
}
}

//le numéro du sujet et start
if ( count( $get_url ) == 2 && isset( $get_url['t'] ) && isset( $get_url['start'] ) ){
return 'sujet-'.$get_url['t'].'-'.$get_url['start'].'.html';
}
//le numéro du sujet et postdays et postorder et start
if ( count( $get_url ) == 4 && isset( $get_url['t'] ) && isset( $get_url['start'] ) && isset( $get_url['postdays'] ) && isset( $get_url['postorder'] ) ){
return 'sujet-'.$get_url['t'].'-'.$get_url['start'].'-'.$get_url['postdays'].'-'.$get_url['postorder'].'.html';
}
//le numéro du sujet et postdays et postorder et start et highlight
if ( count( $get_url ) == 5 && isset( $get_url['t'] ) && isset( $get_url['start'] ) && isset( $get_url['postdays'] ) && isset( $get_url['postorder'] ) && isset( $get_url['highlight'] ) ){
return 'sujet-'.$get_url['t'].'-'.$get_url['start'].'-'.$get_url['postdays'].'-'.$get_url['postorder'].'('.urlencode($get_url['highlight']).').html';
}

}

//profile.php
if ( substr_count( $inf_url['path'], "profile" ) == 1 ){
//mode=viewprofile et num du profil
if ( count( $get_url ) == 2 && isset( $get_url['mode'] ) && $get_url['mode'] == "viewprofile" && isset( $get_url['u'] ) ){
return 'profil-'.$get_url['u'].'.html';
}
}

return $url;
}



Pour activer ou desactiver url rewriting

Code


#
#-----[ OUVRIR ]---------------------------------------------
#

includes/constants.php

#
#-----[ TROUVER ]---------------------------------------------
#

// Session parameters
define('SESSION_METHOD_COOKIE', 100);
define('SESSION_METHOD_GET', 101);

#
#-----[ APRES, AJOUTER ]------------------------------------------
#


//amélioration du référencement : suppression des sessid pour les robots et url-rewriting
define('REFERENCEMENT_BOOST', true);




Si vous définissez la constante précédente à faux, remplacez le code précédent par

Code


//amélioration du référencement : suppression des sessid pour les robots et url-rewriting
define('REFERENCEMENT_BOOST',false);




Uploadez un fichier .htaccess dans la racine de votre forum, avec ce code.

Code

RewriteEngine On
RewriteRule ^index\-([0-9]*)\.html$ index.php?c=$1 [L]
RewriteRule ^forum\-([0-9]*)\.html$ viewforum.php?f=$1 [L]
RewriteRule ^forum\-([0-9]*)\-([0-9]*)\-([0-9]*)\.html$ viewforum.php?f=$1&topicdays=$2&start=$3 [L]
RewriteRule ^sujet\-([0-9]*)\.html$ viewtopic.php?t=$1 [L]
RewriteRule ^sujet\-([0-9]*)\-([0-9]*)\.html$ viewtopic.php?t=$1&start=$2 [L]
RewriteRule ^sujet\-([0-9]*)\(([^()]*)\)\.html$ viewtopic.php?t=$1&highlight=$2 [L]
RewriteRule ^sujet\-([0-9]*)\-([0-9]*)\-([0-9]*)\-([a-zA-Z]*)\.html$ viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4 [L]
RewriteRule ^sujet\-([0-9]*)\-([0-9]*)\-([0-9]*)\-([a-zA-Z]*)\(([^()]*)\)\.html$ viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5 [L]
RewriteRule ^vsujet\-([0-9]*)\.html$ viewtopic.php?p=$1 [L]
RewriteRule ^prec\-sujet\-([0-9]*)\.html$ viewtopic.php?t=$1&view=previous [L]
RewriteRule ^suiv\-sujet\-([0-9]*)\.html$ viewtopic.php?t=$1&view=next [L]
RewriteRule ^profil\-([0-9]*)\.html$ profile.php?mode=viewprofile&u=$1 [L]



Toujours dans la racine un fichier robots.txt

Code

Disallow: /répertoire de votre forum/sutra*.html$
Disallow: /répertoire de votre forum/ptopic*.html$
Disallow: /répertoire de votre forum/ntopic*.html$
Disallow: /répertoire de votre forum/ftopic*asc*.html$



( rédigé par setdepic )

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

Publicité

lafouine

Avatar de lafouine
3 messages
Neurone isolé
Neurone isolé

Lien direct Le 05 Décembre 2004 à 00h03

SltClin d'oeil

Excuse moi, mais tu parles de Google, et si il passe ou pas sur le forum !!

Mais il peux passer sur n'importe quel forum si il tombe sur un mode de recherche non ?

Sinon, pour ce passage :
=> Pour activer ou desactiver url rewriting

il ajoute un bouton "activer", "desactiver" ?

et pour les fichiers à mettre à la racine, on le nome "robots.txt" ??

Merci et bon week, @+, sltClin d'oeil

 

Pouzy

Avatar de Pouzy
14224 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 05 Décembre 2004 à 10h33

Non, il ne rajoute pas de bouton
:)

Si tu le désactive, tu auras des url de type

Code

http://www.aidoforum.com/forum/viewtopic.php?t=1697



Alors que si tu l'active, les url seront de type

Code

http://www.aidoforum.com/forum/vsujet-18383.html



Et google préfèreContent

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

Pouette Man

Avatar de Pouette Man
921 messages
Carte Mère
Carte Mère
Ancien Combattant
Ancien Combattant

Lien direct Le 05 Décembre 2004 à 11h08

Et les url type :

Code

http://www.aidoforum.com/forum/viewtopic.php?t=1697



Ca marche toujours après, une fois qu'on a activé ca ?


edit: j'avais juste à essayer le lien..... (boulet ?! LOL ! )
Ouais donc ca marche ! mais par contre ca ne renomme pas si on accède par un lien comme ca ! Mais ca, c'est pas grave, vuque c'est pour google !!! Content

 

CTLB

Avatar de CTLB
16 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 27 Décembre 2004 à 15h11

Bonjour tout le monde !
Je suis tout nouveau sur se forum et j'ai grand besoin d'aide pour le mien.

Je croi que le mieu c'est de commencer par voir s'il est possible de le référencer sinon y'a pas vraiment d'intéré à avoir un forum.


J'ai lu ici que ce n'été pas possible de référencer un forum hébergé gratuitement. Pour vérifier, j'ai fait le fichier .htaccess et en éffet, ca me met qu'il y a une érreur. Pourtant, ici vous ne semblé pas en parler donc j'ai un doute.

info : je suis hébergé par LaPoste gratuitement et j'ai choisi LaPoste pour ne pas soufrir de le pub. (ici)

Je serais ravi d'avoir des expliquations très prochainement. Merci à tous !

 

Pouzy

Avatar de Pouzy
14224 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 27 Décembre 2004 à 16h26

Tu n'as pas besoin d'un URL rewriting pourêtre référencé :

Regarde , des tout à fait être référencé ( regarde les URLsClin d'oeil ) !

Il n'y a pas de problème, l'URL Rewriting fait juste un certain bien

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

CTLB

Avatar de CTLB
16 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 27 Décembre 2004 à 17h08

Bien vu !
Mais alors pourquoi dans le lien que je donne^^, il nous parle d'un problème s'il n'existe pas de problème ? Pour payer un hébergeur ? Google à remédi au problème ?

Donc là, si j'ai bien compris, j'ai juste à attendre que google passe sur le forum ? Il va référencer toutes les pages de forum ou seulement quelques unes en particulié ?

Merci Pouzy ! Clin d'oeil

 

Pouzy

Avatar de Pouzy
14224 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 27 Décembre 2004 à 17h24

Google peut quand même référencer les PhpBB normaux, mais ils seront moins bien référencés que les rewritésSourire

Mais pour le nombre de pages, ça dépend de ton PageRank ... Si tu es sur WRI, tu devrais savoir ce que c'est

Et aussi ça dépend du nombre de variables dans l'URL ! Une URL avec plus de deux & dedans ne sera pas référencée :crise: mais la plupart des pages de PhpBB ont moins de deux & dans leurs URLs

Hello

PS : saches que le plus important est d'enlever les SID ( comme cette URL : http://forums.phpbb-fr.com/viewtopic_60 ... fafbf92524 )

Il y a des mods pour çaSourire

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

CTLB

Avatar de CTLB
16 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 28 Décembre 2004 à 22h09

:pensenoir: jète un coup d'oeil par ici : C'est incroyable le nombre de critères que google prend en charge pour référencer ses pages. Choqué

C'est vrai que ici les pages des forums pas reécrite sont référencé mais quand on regarde d'un peu plus près, on ne vois aucune adresses hébergé chez Lycos ou LaPoste (je parle uniquement des forum). Donc je ne pense pas que mon forum sera référencé. J'en suis même sur. Pleure

T'a pas une solution pour moi ? Confus

 

nemesis

Avatar de nemesis
3 messages
Neurone isolé
Neurone isolé

Lien direct Le 29 Décembre 2004 à 00h31

Bonjour (ou bonsoir vu l'heure tardive du post).

J'ai suivi cet excellent tuto pour mon forum et tout marche à la perfection sauf un petit détail.

En effet, apparement la modif est incompatible avec le mod Cat.Hierarchy car mes sous forums présents dans les dossiers affichent une erreur 404.

Heureusement dans mon cas le dossier ne comporte que des liens, mais pour ceux et celles qui utilisent ce mod et tenten la modification, un petit add-on serait bienvenu Clin d'oeil

 

Pouzy

Avatar de Pouzy
14224 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 29 Décembre 2004 à 09h07

Il faudra que je demande à setdepic, nemesis
Bienvenue ici Hello

Pour CTLB => Ce n'est pas un forum lycos le premier de cette requête ?
C'est normal que pour la requête que je t'ai donnée plus haut, tu ne voie pas de forums hébergés par lycos, car tous les "gros" forums passent en premierClin d'oeil

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

ed2

Avatar de ed2
1 message
Neurone isolé
Neurone isolé

Lien direct Le 11 Janvier 2005 à 20h21

bonjour!

debutant , j'aimerais comprendre comment faire un bon referencement à partir de ce qui a été posté ici plus haut: mais vraiment le B A BA ! :roll:
d'avance merci!
- ou enregister le pg php , sous quel nom ..etc
- comment l'activer,, desactiver ...

je sais j'y pige que pouic mais cç m'aiderait beaucoup

ed :roll:


monsite: http://lesgensdici.nuxit.net et je sais que google passe mais ne reference pas les msgs du forum !!! Rougis

 

CTLB

Avatar de CTLB
16 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 22 Février 2005 à 12h20

C'est bizar, je ne trouve pas :

Code

$SID = 'sid=' . $session_id;


dans includes/sessions.php.

C'est de

Code

$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';

que tu parle ?

Merci.

 

Skwizer

Avatar de Skwizer
1079 messages
PC de Compèt'
PC de Compèt'

Lien direct Le 22 Février 2005 à 13h51

tu n as pas deja installe un MOD de suppression de sessions pour avoir une modifConfus ?
Sinon, bin essaye en faisant un backup Hello

Vouons un culte à l'admin dont le nom commence par P et finit par ouzy !
 

CTLB

Avatar de CTLB
16 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 22 Février 2005 à 15h51

nan, je n'ai que 'réponse rapide' d'instalé.

jète un coup d'oueil sur http://www.dragozor.com/forum/index.phpClin d'oeil

quand je me rend à http://www.dragozor.com/forum/forum-1.html directement, je vois bien que l'URL fonctionne mais je ne les vois pas écrit lorsque je passe la souri sur les liens. Je croi que ca vien d'un modif à faire dans des fichiers du forum mais je ne voi pas lesquelles.

Tu peu m'aider ?

Merci.

 

<<<1234>>>

[Page 1 sur 4 - 46 messages]

Forum informatique > Référencement & URL Rewriting > [Référencement] URL REWRITING