Changement d'url... comment éviter les doublons indexés ?

WRInaute discret
Voilà mon souci : je suis en train de changer toutes les url d'articles des pages de mon site.

J'ai mis des redirections permanentes en php sur tous les articles pour amener à une seule et même page :

Par exemple
-http://www.moveandbe.com/article/go/page_916_1.htm
-http://www.moveandbe.com/article_916_1.htm

mènent toutes à la même page :
-http://www.moveandbe.com/article_kelis_1.htm

Pourtant, les trois pages apparaissent dans google...

-https://www.google.fr/search?q=kelis+portraits+site:moveandbe.com&hl=fr&lr=&ie=UTF-8&oe=UTF-8&filter=0

et pourtant, cela fait plusieurs mois que j'ai mis en place ce système et les anciennes url ne disparaissent pas. Ca m'agace d'avoir des doublons, surtout que ça peut être considéré comme du spamming : /

Vous avez une idée pour éviter ce souci ?

Merci d'avance
 
Olivier Duffez (admin)
Membre du personnel
J'ai regardé les statuts HTTP :
pour -http://www.moveandbe.com/article_916_1.htm et -http://www.moveandbe.com/article/go/page_916_1.htm :
Code:
HTTP/1.1 302 Found
Date: Sat, 21 Feb 2004 11:56:10 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4
X-Powered-By: PHP/4.3.4
Set-Cookie: PHPSESSID=5189fbce8d50428863426220376a
dc3e; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
, post-check=0, pre-check=0
Pragma: no-cache
Status : 301 Moved Permanently
Location: http://www.moveandbe.com/article_kelis_1
.htm
Connection: close
Content-Type: text/html
pourquoi y a-t-il indiqué un code 302 au début ?
 
WRInaute discret
Parce que je les renvoie toutes les deux sur

-http://www.moveandbe.com/article_kelis_1.htm

et qu'elles ont donc été redirigées définitivement. C'est pas la bonne méthode ?
 
Olivier Duffez (admin)
Membre du personnel
le définitivement est spécifié par un code 301 (que l'on voit bien dans cet entete)
je me demande plutot d'où vient le code 302
un habitué des requêtes HTTP pourrait nous en dire plus.
 
WRInaute passionné
302 (Temporaly Moved), c'est une redirection temporaire, en fait c'est le code qui est généré pour une redirection simple serveur (genre 'response.redirect "unepage.htm"' en ASP).

Regarde du côté du code de ta page pour voir si elle ne fait pas une redirection AVANT le 301.
 
WRInaute impliqué
Tu dis que tu fais la redirection en PHP. Alors, es-tu sûr de ne pas avoir une ligne qui envoie les header avant ta ligne
header ("status etc...

Sinon, comme tu es sous Apache, tu peux utiliser le htaccess pour être tranquille (avec : RedirectPermanent)
 
WRInaute discret
ok... mais ça serait comme quoi comme code ds le htaccess ?
parce que c'est une page avec des variables dedans...
 
WRInaute impliqué
Bon, si c'est comme ça, laisse la redirection en PHP alors... ;)
Mais, regarde bien ton code PHP pour voir si tu n'as pas une ligne qui génère un affichage quelconque...
 
WRInaute discret
en fait, j'ai d'abord une requête (dont je vous passe les détails) puis en fonction des résultats :

Code:
if (!empty($article[ID_GOOGLE]))
{
header("Status : 301 Moved Permanently"); 
header("Location: http://www.moveandbe.com/article_$article[ID_GOOGLE]_$article[NUM_PAGE].htm"); 
exit();
} 
else {
header("Status : 301 Moved Permanently"); 
header("Location: http://www.moveandbe.com/article_$article[ID_ARTICLE]_$article[NUM_PAGE].htm"); 
exit(); }}

Correct or not correct ?
 
Nouveau WRInaute
Utilise

Code:
header("HTTP/1.1 301 Moved Permanently");

à la place de

Code:
header("Status : 301 Moved Permanently");
 
Discussions similaires
Haut