kot Posté 6 Février 2006 Posté 6 Février 2006 Salut à tous, j'ai fais de l'url rewritting pour changer des pages page.php?x=1&y=2 en page_x_1_y_2.php En mettant à jour mon sitemap, mes nouvelles pages se sont trouvées être indexées très facilement Mais aujourd'hui bigdaddy me ressort pleins de pages de l'ancienne forme, et les autres moteurs ne savent pas faire la mise à jour. Du coup, les deux types d'url se mélangent. Comment on fait dans ce cas la pour supprimer les anciennes url? Il faut les rediriger vers les nouvelles (sachant qu'en interne, mon htaccess redirige les nouvelles pages vers anciennes et donc elles existent toujours?) Ou alors, faut-il faire une redirection en php de l'ancienne page vers la nouvelle? ou autre chose que je n'ai pas encore capté!
yvan02 Posté 6 Février 2006 Posté 6 Février 2006 anciennnes vers nouvelles, nouvelles vers anciennes ??? c'est quoi que tu veux faire au juste ?
kot Posté 6 Février 2006 Auteur Posté 6 Février 2006 Les index des moteurs de recherche sont plein de page.php?x=1&y=2 Je voudrais qu'ils pointent sur page_x_1_y_2.php Sachant qu'en interne, les page_x_1_y_2.php sont rewritées en page.php?x=1&y=2
kot Posté 6 Février 2006 Auteur Posté 6 Février 2006 Je vois pas trop l'intéret mais bon, en + c'est un htaccess.ini (c'est pas un serveur unix mais IIS) RewriteRule (.*)article(-[0-9|A-Z|a-z]*)*-([0-9]*).php(?:\?)?(.*) $1article_detail.php\?art\=$3\&$4 [L] Le truc c'est qu'après je voudrais dire aux robots que la page article_detail.php?art= est en fait déplacée en article-xxx-11-.php
yvan02 Posté 6 Février 2006 Posté 6 Février 2006 il suffit de remplacer [L] par [QSA,L,R=301] 301 redirection permanente, les moteurs oublient les anciennes pages et indexe les nouvelles
kot Posté 6 Février 2006 Auteur Posté 6 Février 2006 Je ne suis pas sur de comprendre. Ce sont les (.*)article(-[0-9|A-Z|a-z]*)*-([0-9]*).php(?:\?)?(.*) qui seront désindexée? ou les pages $1article_detail.php\?art\=$3\&$4? Moi je voudrais que ce soit les deuxièmes anciennes qui soient désindexées! et j'ai l'impression que ton script désindexera les premières.
yvan02 Posté 6 Février 2006 Posté 6 Février 2006 oui, t'as raison, c'est plutôt 302 qu'il faut faire dans ton cas. 302 redirection temporaire. Mais, je ne suis pas sûr d'avoir bien compris ta problèmatique. Quelqu'un peut confirmer ?
Jan Posté 6 Février 2006 Posté 6 Février 2006 Pour que tes nouvelles URLs remplacent les anciennes dans google, il faut faire des redirections 301 (permanentes) des anciennes urls vers les nouvelles. Je suis incapable de te donner le code, mais c'est peut être possible en utilisant une condition de réécriture: RewriteCond %{QUERY_STRING} !^$ ... suivie (si la condition est vraie, donc si l'url a une query string) d'une redirection 301 (que je ne sais pas coder ) Ceci dit, ce qui se passe sur bigdaddy n'est sans doute que temporaire. Google semble être en train d'essayer d'y règler le problème d'url canonique. S'ils réussissent, et que tes liens internes et externes pointent en majorité vers les URLs que tu veux référencer, tout devrait rentrer dans l'ordre naturellement d'ici quelques jours (semaines?). Mais comme rien n'est jamais rien sûr avec google, le rewrite 301 n'est sans doute pas inutile.
tom555 Posté 6 Février 2006 Posté 6 Février 2006 je dis p'tet une connerie mais: User-agent: *Disallow: page.php? ça dans le robots.txt, ça ne suffirait pas?
kot Posté 7 Février 2006 Auteur Posté 7 Février 2006 Yes, c'est une super idée ça tom555, je vais m'empresser de le faire j'étais empetré dans mes formulaires de désinscription et autres htacess et autres header php et ça c'est trop bien Jan: RewriteCond %{QUERY_STRING} !^$ ... suivie (si la condition est vraie, donc si l'url a une query string) d'une redirection 301 (que je ne sais pas coder laugh.gif ) C'est pas le code de la redirection qui m'embête, un bon gros coup de google et c'est fini. Le problème c'est que dans la suite du htaccess, il y avait un truc du genre Rewrite nouvelles vers anciennes Pour réexpliquer une fois de +, (la prochaine fois j'essaierai d'être + clair ): Je passai mes paramètres en GET normal, puis j'ai fait un htaccess qui me permet d'avoir une forme + jolie du style: nom_de_page_xx_coucou.php où xx est l'ancien paramètre et coucou et du texte qui change à chaque page. Les moteurs connaissaient mes pages avec paramètres, maintenant je voudrais qu'ils connaissent les pages nom_de_page_xx_coucou.php!
doic Posté 22 Février 2006 Posté 22 Février 2006 je dis p'tet une connerie mais:ça dans le robots.txt, ça ne suffirait pas? <{POST_SNAPBACK}> Ca c'est bon pour désindexer les anciennes urls... mais le top serait de faire une redirection 301 des anciennes vers les nouvelles, pour que les backlinks soient conservés... Je suis dans le même cas; j'ai pas mal de duplicat content, à cause de mon url rewriting... Est-ce qu'il y'aurait moyen, en PHP par exemple, de récupérer l'adresse qui se trouve dans la barre d'adresse, et si on reconnait une ancienne url, on génère un header 301 ?
Dan Posté 22 Février 2006 Posté 22 Février 2006 il suffit de remplacer [L] par [QSA,L,R=301] Archi Faux ! A ne pas faire ! Un simple User-agent: *Disallow: page.php? suffit. Et pourquoi esayer une redirection 301 vers la page rewritée, alors qu'elle est déjà dans l'index. Le but m'échappe.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant