Il y avait un ancien site Web situé au http://example.com
. Ensuite, il a été remplacé par un nouveau site Web, avec une toute nouvelle configuration d’URL, laissant l’ancien domaine, mais en passant à https uniquement. Alors maintenant, toutes les requêtes http sont redirigées vers https://example.com
.
Le problème maintenant est qu’il ya beaucoup de requêtes de robots de recherche qui essaient d’accéder aux anciennes URL de sites Web et reçoivent 301 comme réponse, redirigeant vers le site https, et seulement alors recevant correctement 404.
Cela fait donc plusieurs mois et il semble que les robots ne vont pas oublier les anciennes URL. Peut-être ne comprennent-ils pas ce genre de réponse et considèrent-ils qu'une page est toujours vivante? Si tel était le cas, comment pourrais-je résoudre le problème? Naturellement, je pouvais également permettre aux utilisateurs d'interagir avec le site http (désactiver la redirection), mais ce n'est généralement pas sûr (bien que ce ne soit probablement pas grave pour une courte période), alors je préférerais ne pas le faire.
Une fois que vous avez publié une URL, les robots des moteurs de recherche tels que Googlebot le demandent à tout moment. Je reçois toujours des demandes d'URL retirées il y a 15 ans.
La redirection vers une page 404 n’est pas bien pire que d’afficher directement la page 404. Googlebot et les autres robots des moteurs de recherche seront en mesure de comprendre que la page est manquante lorsque vous redirigez vers un 404.
Vous pouvez envisager d'afficher une page d'état "410 disparus" plutôt qu'une page 404. Il n'y a pas beaucoup de différence entre les deux, sinon 410 obligera les moteurs de recherche à supprimer immédiatement le contenu de leurs index, par opposition à l'obtention d'un délai de grâce d'un jour pour le statut 404.
La meilleure chose à faire serait de rediriger l'URL vers la page de remplacement. Si vous avez une page de remplacement, toute la réputation et les liens pointant de l'ancienne page vers la nouvelle page seraient alors affichés. Je ne voudrais pas rediriger les URL vers votre page d'accueil (ou une autre page centrale). Google considère ces redirections comme "soft 404". Il traite les redirections vers la page d'accueil de la même manière que si le serveur avait renvoyé le statut 404.
Un soft-404 est une page contenant un texte lisible qui le décrit comme une page d'erreur, mais le code d'état associé à cette page n'est pas 404.
Par exemple, créer un fichier HTML dont le contenu ressemble à "Les ressources que vous essayez de demander étaient introuvables", puis l'enregistrer sur le serveur puis y accéder donnerait droit à un soft-404 en raison des mots "introuvable" "et parce que les en-têtes HTML renvoyés (comme pour toute page HTML) commencent par" HTTP/1.1 200 OK "ou" HTTP/1.0 200 OK ".
Si vous voulez vous assurer que vous faites une vraie page d'erreur 404, utilisez n'importe quel langage de programmation et forcez le code de résultat 404. En PHP, une page ridiculement simple peut être faite de cette façon:
<?php
header("HTTP/1.1 404 Not Found",true);
?>
<!-- insert full HTML here -->
Si vous avez accès à curl, utilisez-le avec l'option -I sur l'URL complète pour afficher les en-têtes renvoyés.
Donc, si vous devez rediriger vers l'erreur 404, au moins rediriger vers une véritable erreur 404, pas douce. Ce qui est encore mieux, c’est de sauter la phase de redirection et d’aller directement à la page 404 (ou mieux encore, à la page avec l’erreur 410).