web-dev-qa-db-fra.com

Utilisation des redirections 301 lorsqu'un site Web est en panne

J'ai un client qui a actuellement son site Web hébergé avec Moonfruit.

J'ai développé un nouveau site WordPress pour le client que je lancerai la semaine prochaine, mais je dois transférer le domaine à mon registraire aujourd'hui.

Une fois le domaine transféré avec succès sur mon registraire, je le pointerai vers une page de stockage de mon serveur jusqu'à ce que le nouveau site soit prêt.

Afin de ne rien perdre de vos efforts en matière de référencement, j'aimerais configurer 301 redirections. Ces redirections pointeront vers les nouvelles pages.

Jusqu'à ce que le site soit prêt, où dois-je indiquer les redirections 301? Devrais-je créer des pages temporaires sur le nouveau serveur pour les réorientations 301 jusqu'à ce que le nouveau site soit lancé?

Il est nécessaire pour moi de transférer le domaine maintenant afin que la propagation DNS soit résolue avant le lancement du nouveau site. Je ne peux pas migrer l'ancien site sur mon serveur car il est hébergé sur Moonfruit.

5
Sam

Il faut des semaines à Google et aux autres moteurs de recherche pour désindexer les pages et encore plus longtemps pour un site Web, ce qui, à terme, nuirait à votre classement. La seule chose à faire est de retourner un statut 503 plutôt qu'un 301 à 404.

C'est la définition du code d'état 503 de la RFC qui définit ces codes d'état:

Le serveur est actuellement incapable de traiter la demande en raison d'une surcharge ou d'une maintenance temporaire du serveur. L'implication est qu'il s'agit d'une condition temporaire qui sera soulagée après un certain délai. Si elle est connue, la longueur du délai PEUT être indiquée dans un en-tête Retry-After. Si aucune nouvelle tentative n'est donnée, le client DEVRAIT traiter la réponse comme il le ferait pour une réponse 500.

Cela peut être fait facilement dans le fichier .htaccess ou PHP:

HTACCESS ~ Méthode recommandée

RedirectMatch 503 ^/(?!holding\.html)
ErrorDocument 503 /holding.html
Header always set Retry-After "3600"

PHP

$protocol = "HTTP/1.0";
if ( "HTTP/1.1" == $_SERVER["SERVER_PROTOCOL"] )
$protocol = "HTTP/1.1";
header( "$protocol 503 Service Unavailable", true, 503 );
header( "Retry-After: 3600" );
8
Simon Hayter