Probleme d'indexation et d'url double

Signaler
Messages postés
9
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juillet 2010
-
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
-
Bonjour,

Je vous écris car j'ai un gros problème d'indexation sur lequel je suis depuis plusieurs semaines=(
aussi toute aide ou piste sera la bienvenue !!!

Je viens de faire un site "comparateur hotel" avec 850 url.
j'ai créé un sitemap, mais google m'indexe uniquement une vingtaines de pages et comme par hasard se sont celles qui ne sont pas rewritées..

j'ai peut être une piste mais j'aurais grandement besoin de vous

a la base j'ai des urls de cette forme

http://www.nom-de-domaine.fr/hotel-nomdepartement-numdepartement

au début pour la liste de mes departements j'avais des accents. Pour ne pas avoir de probleme dans les urls j'ai fait une fonction pour les remplacer (ex : é en e).

function cleanName($var) {

$trans array( "À"> "A",
"Á" => "A",
"Â" => "A",
"À" => "A",
"Ä" => "A",
"Å" => "A",
"à" => "a",
"á" => "a",
"â" => "a",
"ä" => "a",
"å" => "a",
"Ò" => "O",
"Ó" => "O",
"Ô" => "O",
"Ö" => "O",
"Ø" => "O",
"ò" => "o",
"õ" => "o",
"ö" => "o",
"ô" => "o",
"ø" => "o",
"È" => "E",
"É" => "E",
"Ê" => "E",
"Ë" => "E",
"é" => "e",
"è" => "e",
"ê" => "e",
"ë" => "e",
"Ç" => "C",
"ç" => "c",
"Ì" => "I",
"Í" => "I",
"Î" => "I",
"Ï" => "I",
"ì" => "i",
"í" => "i",
"î" => "i",
"î" => "i",
"ï" => "i",
"Ù" => "U",
"Ú" => "U",
"Û" => "U",
"Ü" => "U",
"ù" => "u",
"ú" => "u",
"û" => "u",
"ü" => "u",
"ÿ" => "y",
"Ñ" => "N",
"ñ" => "n"
);

$var=strtr($var, $trans);

$var=str_replace("'","-",$var);
$var=str_replace(""","-",$var);
$var=str_replace(" ","-",$var);
$var=str_replace("__","-",$var);
$var=str_replace("__","-",$var);
$var=eregi_replace("[^-a-z0-9\_\-\.]","",$var);
$var = rtrim($var,'_');
$var = ltrim($var,'_');
return $var;
}



Suite a cela j'ai effectué mon sitemap.xml

Mais je me suis appercu d'une chose : j'avais des urls en double ex

http://www.nom-de-domaine.fr/hotel-Ardche-07

http://www.nom-de-domaine.fr/hotel-Ardeche-07

clairement dans la premiere url c'est le "e" correspondant au è qui à été jiclé ... ces double urls pouvant être un problème j'ai décidé de retiré tous les accents en bdd pour mes villes et departement

j'ai régénéré mon sitemap et tout va bien je n'ai plus ce problème ...

MAIS voila =( http://www.nom-de-domaine.fr/hotel-Ardche-07 continu de marcher


ce qui fait double url =( savez vous pourquoi ??? moi je ne voudrais en conserver qu'une =( la jai tout changé je ne comprend pas =((

8 réponses

Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
Si j'ai bien compris :
http://www.nom-de-domaine.fr/hotel-Ardeche-07
http://www.nom-de-domaine.fr/hotel-TotoTitiTutu-07
affichent la même page ?

Si oui, comme Google à déjà référencé ta page
http://www.nom-de-domaine.fr/hotel-TotoTitiTutu-07
et qu'il ne trouve pas d'erreur 404 quand il retourne dessus, il à gardé l'URL en mémoire même si elle n'est plus en lien direct dans ton site.

Le mieux est donc de faire une fonction de redirection 301 qui teste tes noms.
<?php
function testMyName($name, $id)
{
   if(cleanName($name) != OLDcleanName($name))
   {
        header('Status: 301 Moved Permanently', false, 301);
        header('Location: http://www.nom-de-domaine.fr/hotel-'.cleanName($name).'-'.$id);
        exit("Redirection php");
    }
}
?>


Quand Google va passer sur ta page
http://www.nom-de-domaine.fr/hotel-TotoTitiTutu-07
Il va reçevoir le code d'erreur 301 associé à la redirection. Il va donc comprendre que la page à déménagé et faire disparaitre l'adresse http://www.nom-de-domaine.fr/hotel-TotoTitiTutu-07 au profit de tes adresses http://www.nom-de-domaine.fr/hotel-Ardeche-07.

_________________________________
Min iPomme
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
PS : Le mieux étant de faire :
<?php
function testMyName($name, $id)
{
   // SELECT name FROM departments WHERE dep_id = $id
   // $row <- Query 
   if(cleanName($name) != cleanName($row['dep_name']))
   {
        header('Status: 301 Moved Permanently', false, 301);
        header('Location: http://www.nom-de-domaine.fr/hotel-'.cleanName($row['dep_name']).'-'.$id);
        exit("Redirection php");
    }
}
?>

La tu ne pourras plus accéder par
http://www.nom-de-domaine.fr/hotel-TotoTitiTutu-07
Du moins tu seras rediriger sur la bonne page...
_________________________________
Min iPomme
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Un gros +1 pour le Moved Permanently proposé par Tonio.

au début pour la liste de mes departements j'avais des accents. Pour ne pas avoir de probleme dans les urls j'ai fait une fonction pour les remplacer (ex : é en e).

Bien pensé, malheureusement tu as réinventé la roue carrée. Je te recommande cet article qui t'expliquera comment remplacer ta longue fonction en quelque chose de bien mieux :
PHP : Nettoyer des accents simplement avec Iconv
Messages postés
9
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juillet 2010

un grand merci pour vos réponses ! je test ce soir et je vous dis !!

j'espere qu'avec ca je vais régler mon problème car enfin (je suppose que c'est a cause de ca) google na rien indéxé =( et ca cétait mon principal problème!

mais ce qui est bizare avec ce pb de double url

http://www.nom-de-domaine.fr/hotel-Ardche-07

http://www.nom-de-domaine.fr/hotel-Ardeche-07

c'est que google aurait pu en indexé 1/2 =(
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
A partir du moment ou tu as les deux liens soit dans ton site soit dans un autre site, les robots d'indexation indexent les deux pages. Ensuite tant qu'une page renvois pas de 404 ou qu'elle n'est pas interdite de consultation par un robot.txt, les robots d'indexation la gardent en mémoire.


_________________________________
Min iPomme
Messages postés
9
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juillet 2010

re c'est quand même etrange mon site na pa lair d'avoir été interdi mais quand je fais

la comande sur google => site:http://www.nom-de-domaine.fr/hotel-Ardeche-07

ou site:http://www.nom-de-domaine.fr/hotel-Ardche-07


rien ne ressort =(. si google est capable de rediriger http://www.nom-de-domaine.fr/hotel-Ardche-07 sur la page http://www.nom-de-domaine.fr/hotel-Ardeche-07 c'est qu'ils les a indéxé non?

Alors pourquoi elles ne ressortent pas quand je fais site : .......?

Merci de votre aide =) en tout cas vous m'aidez vraiment à y voir claire
Messages postés
9
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 juillet 2010

dernière question qui m'obsède =( avez vous une idée d'apres mon code comment j'ai pu me retrouver avec un tel pb d'interpretation des accents dans les urls alors que j'avais fait une fonction pour remplacer les é par des e .... =(
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
Attention il y a confusion : Google n'est pas tout internet !!! et heureusement...

Pour vulgariser :
Google (ou plus généralement les moteurs de recherche) parcours les site web, il récupèrent les liens dans les site, les sauvegarde et visite ces liens et ainsi de suite.
Ensuite ils actualisent leurs base de donnée en revisitant régulièrement les liens qu'ils ont sauvegardés.

C'est ton serveur qui héberge le site qui se charge de la redirection. Quand un utilisateur, ou un robot comme google demande la page "hotel-Ardche-07", avec la fonction qu'on t'as donné, ton serveur répond "Attention, cette page à changé d'adresse, elle l'appel maintenant 'hotel-Ardeche-07'. Le visiteur va pas voir grand chose, il va juste automatiquement changer de page.
Par contre les robots comme google vont prendre l'ancienne page et la "renommer" avec la nouvelle url...

Celas dit c'est pas instantané, ca peux prendre un peut de temps (En semaine)...

Envois ton site par MP si tu veux pas le mettre sur se forum que je comprenne mieux ce qui va pas.




_________________________________
Min iPomme