Rewriting et doublons

WRInaute discret
Bonjour à tous !

J'ai mis en place une solution d'URL rewriting sur mon site.

Seulement, Google a déjà indexé certaines pages sans l'URL rewriting !

J'ai bien modifié les liens, tout fonctionne.

Ma question : lorsque google retournera à l'adresse sans URL rewriting, la page existera toujours, cependant, il va aussi indexer les pages avec l'url rewriting ! Vous comprenez ?

Je crains d'avoir des doublons indexés. Google va-t-il supprimer les pages sans URL rewriting ? Il faut penser qu'elles sont orphelines maintenant...

Merci de votre aide.
 
WRInaute occasionnel
Artefact2 a dit:
Ma question : lorsque google retournera à l'adresse sans URL rewriting, la page existera toujours, cependant,
Exacte
Artefact2 a dit:
il va aussi indexer les pages avec l'url rewriting !
Exacte
Artefact2 a dit:
Vous comprenez ?
Je pense ...
Artefact2 a dit:
Je crains d'avoir des doublons indexés.
Il y a de forte chance
Artefact2 a dit:
Google va-t-il supprimer les pages sans URL rewriting ?
Non, sauf si tu le lui indique avec une redirection 301.
 
WRInaute discret
Merci pour ta réponse constructive.

Comment puis-je effectuer une redirection 301 de mes pages non rewritées à mes pages rewritées ?

Existe-t-il une fonction pour le faire automatiquement ou faut tout faire à la main ?
 
WRInaute occasionnel
Tu gères ça dans ton script PHP.

Lorsqu'un visiteur arrive sur une page, tu test quel est l'URL utilisé pour aller sur la page ( $_SERVER['REQUEST_URI'] indique l'URL taper dans le browser ) si l'URL est la version rewriter tu laisse couler, si c'est pas la version rewriter tu rediriges ( header(
"Status: 301 Moved Permanently") etc...)

Si j'ai pas été assez claire, hesite pas à poser des questions ;)
 
WRInaute discret
Merci beaucoup.

Tu aurais pas du code en dur ? Je sèche un peu la...

Faut que je fasse toutes mes URL dynamiques à la main ?

On peut pas faire ca à la volée ? En se basant sur le .htaccess ?

Merci :P
 
WRInaute occasionnel
Code que j'utilise, à utiliser avant tout envoi de donnée au client, à cause de la redirection (voir doc fonction php header()).
Code:
// Recupère le nom du fichier avec ces paramettre seulement si c'est un .php
if(ereg('(.+\.php)(.*)', basename($_SERVER['REQUEST_URI']), $uri)) {	

	// si le fichier est 'product_info.php' et que les paramettres contient la variable 'products_id'
  if(($uri[1] == 'product_info.php') && (ereg('[&\?/]?products_id[=/][0-9]+', $uri[2]))) { 
		
		// Je redirige vers URL rewrité
    tep_redirect(tep_href_link($uri[1], $uri[2]), 301);			

  }
  
  // si le fichier est 'index.php' et que les paramettres contient la variable 'cPath' ou 'manufacturers_id'
  else if(($uri[1] == 'index.php') && ((ereg('[&\?/]?cPath[=/][0-9_]+', $uri[2])) || (ereg('[&\?/]?manufacturers_id[=/][0-9]+', $uri[2])))) {
    
    // Je redirige vers URL rewrité
    tep_redirect(tep_href_link($uri[1], $uri[2]), 301);	

  }
}

tep_href_link est une fonction de génération de lien rewrité depuis un nom de fichier et une suite de paramettre

tep_redirect est une fonction de redirection (globalement c'est de la fonction php header())
 
Nouveau WRInaute
Je vais peut être dire une co**rie mais on ne peut pas se baser plus simplement sur le robots.txt ?

Pour mon forum par exemple j'ai utilisé la commande
Code:
User-agent: *
Disallow /viewtopic.php
Disallow /viewforum.php
...
comme çà les url en php ne sont pas indexées au profit de celles appliquées par le rewriting du .htaccess

Je me trompe ?

PS : J'ai procédé de la sorte parceque j'ai certaines urls en php que je ne souhaite pas rewriter mais que je préfères laisser indexer telles quelles.
 
WRInaute discret
Merci, mais mon url rewriting est lui aussi en .php et pas en .html (a cause des sessions)...

Ce qui rendrait vos deux méthodes inefficaces.

Merci quand même.
 
WRInaute occasionnel
Helpeur : Le problème avec ta solution, c'est que tu vas devoir refaire tout le reférencement à partir de zero sur les pages conserné et les visiteur qui accede au une page sans rewrite (par exemple, via une page de recherche alors que l'index du moteur n'a pas encore été mis à jour) restéront sur la page version non rewriter (ce point là releve du detail)

Artefact2 : Je n'arrive pas à voir où est le problème, c'est ce que j'utilise et j'ai aussi des sessions et la session suis le visiteur.
 
Discussions similaires
Haut