Aller au contenu

référencement après rewriting


kot

Sujets conseillés

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

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é! :1eye:

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

il suffit de remplacer [L] par [QSA,L,R=301]

301 redirection permanente, les moteurs oublient les anciennes pages et indexe les nouvelles

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

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.

Lien vers le commentaire
Partager sur d’autres sites

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

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!

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines plus tard...
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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...