Je redéveloppe un site, j'importe le vieux contenu, comment faire les 301 ?

WRInaute discret
Bonjour,

Je suis en plein dans une situation passablement prise de tête.
Voici mon histoire :
J'ai un site créé avec un CMS (Site A), qui comporte désormais un bon nombre de pages (le genre que l'on ne manipule pas à la main, environ 50 000 je dirais).
Je souhaite redévelopper tout le site à l'aide du framework python Django (Site B).

Ça va être compliqué à expliquer.
Sur le site A, par exemple, les contenus ont par défaut une URL du type /contenu/identifiant. Le CMS est configuré pour créer une table de redirections (alias) pour transformer l'adresse en adresse du type /page/categorie/titre-sluggisé-automatiquement. Google ne peut pas connaître les URLs de type /contenu/identifiant donc impossible de faire une redirection depuis celles-ci, même si ça aurait été plus simple (chiant mais simple).

Avec le nouveau site, j'aurai des schémas d'URL différents...

Quelqu'un aurait-t-il donc une idée de miracle, afin de faire, sur le site B, une redirection 301 correcte lorsqu'on arrive d'une ancienne URL (je rappelle que c'est du Django) ? Si aucune idée, quel risque sur Google et pendant combien de temps, si je ne fais pas ces redirections 301 ? Je précise que les pages internes ont reçu relativement peu de liens externes, c'est déjà ça.

Thanks
 
WRInaute accro
Tu te fais simplement un petit programme php ancienne structure -> nouvelle structure (ou si ce n'est pas possible simplement tu passes par une table php), et tu le charges dans l'en tête de ta page 404. Si il trouve une url , il renvoie automatiquement avec un code 301 sinon il affiche la page 404
 
WRInaute discret
Hello Marie-Aude,

Merci pour ta réponse.
À vrai dire, l'ancien site, c'est du PHP, et le nouveau, c'est un site en Python.
Et il n'y a pas que la structure des pages qui change, il y a aussi le "slug" des articles...
Le coup du 404 est une très bonne idée, mais Django ne permet malheureusement pas les redirections depuis une page 404.

...J'y réfléchis depuis mais en fait, c'est beaucoup trop compliqué, pour peut-être pas grand chose.

En fait, il faut juste savoir ce que je risque en termes de trafic et positionnement à ne pas faire les 301, et pendant combien de temps je le risque.
 
WRInaute accro
Tu risques de perdre tout ton ancien référencement

Pour la structure des slugs, c'est à toi de voir comment tu peux trouver la logique de l'ancien au nouveau site.

Sinon tu peux mettre la routine de redirection en python, ça doit exister :) ou faire une page en php ^^
 
WRInaute discret
À vrai dire, les pages internes reçoivent peu de liens, pour ne pas dire presque pas.
Donc pour le linking, j'imagine pas tellement de risques.

Le risque se trouve justement avec les pages qui disparaissent et dont le contenu réapparait à une autre URL.
J'avais fait ça avec les URLs et images d'un ancien site (quoique le CMS avait fait automatiquement les 301 pour les contenus), le trafic (notamment images) avait baissé quelques semaines (2 à 3 semaines je crois) puis est reparti de plus belle avec le référencement des nouvelles URLs. Certaines images ont perdu du trafic, d'autres en ont pris. On peut supposer que dans mon cas j'obtienne un truc du genre. Et ça m'irait.

Un problème existerait si les arrivées sur la page d'accueil s'effondraient.

-----------

Je pense que je vais devoir créer un champ temporaire dans la nouvelle base, qui contiendra les alias anciens.
Puis créer des expressions régulières pour gérer une partie des anciennes URLs et rediriger vers les contenus dont l'alias est identique à l'URL actuelle. Ça devrait fonctionner.

Je me suis un peu répondu tout seul, mais j'aurais pas pu si tu m'avais pas répondu !
;)
 
WRInaute discret
Petit retour sur le sujet si quelqu'un venait à chercher une réponse similaire.
J'ai trouvé une solution plus adaptée (on va dire que je peux conserver 80% des URLs) :
Plutôt que d'adapter les URLs du site B et de faire des redirections depuis le site B, je fais la chose suivante sur le site A :
- J'utilise le module Pathauto pour Drupal (+path redirect etc.). Je reconfigure les chemins automatiques pour qu'ils soient à l'image des nouveaux chemins si possible. Certains slugs seront différents, mais peu, et seulement s'il y a des caractères spéciaux dans le titre.
- Lorsque l'on reconfigure les alias automatiques, seuls les nouveaux contenus contiendront le bon alias d'URL. Il faut alors utiliser le module Views, avec le module Views Bulk Operations, pour pouvoir avoir l'action « Update URL alias » sur les contenus déjà existants, et ainsi mettre à jour les chemins.

Il faut ensuite laisser Google détecter les nouveaux chemins (Google met cela à jour très rapidement).
Lorsque Google a tout parcouru et remplacé, je remplace le site A par le site B.
 
Discussions similaires
Haut