web-dev-qa-db-fra.com

Comment gérer les redirections vers le contenu versionné?

Étant donné la situation

docs.foo.com/2.9 est la documentation d'un produit, révision 2.9 et
docs.foo.com/3.0 est la documentation d'un produit, révision 3.0.

Ensuite, vous voudrez peut-être une autre URL

docs.foo.com/latest qui redirige vers docs.foo.com/3.0, jusqu'à ce que la révision 3.1 soit lancée. Lorsque la nouvelle version devient disponible, cela devrait alors conduire à docs.foo.com/3.1.

docs.foo.com/latest devrait-il être une redirection 301 avec Cache-Control no-store, no-cache, must-revalidate?

Les moteurs de recherche sont supposés indexer docs.foo.com/2.9, .../3.0 etc., et ce serait bien s'ils reconnaissaient .../latest comme le plus pertinent et donc favorisaient .../3.0 par rapport à .../2.9, et plus tard .../3.1 sur les deux premiers.

Est-ce que docs.foo.com/latest nécessite une configuration supplémentaire? Par exemple, faut-il interdire l'indexation directe selon robots.txt, ou existe-t-il un en-tête spécial pouvant être défini pour indiquer qu'il s'agit d'une redirection faisant référence à la dernière version de certains contenus?

Il y a aussi le problème qui actuellement docs.foo.com est équivalent à docs.foo.com/2.9, mais docs.foo.com a alors changé et est devenu équivalent à docs.foo.com/3.0. La version 3.0 a une structure différente de ses sous-pages, de sorte que l'erreur 404 est une erreur.

Peut-on associer docs.foo.com à docs.foo.com/latest, de sorte qu'il redirige également vers la dernière version, par exemple. docs.foo.com/3.1 et les moteurs de recherche doivent obligatoirement mettre à jour leurs index pour éviter les erreurs 404 si vous suivez des liens obsolètes docs.foo.com (destinés à faire référence à 2.9)?

2
CoDEmanX

Si vous redressez une URL, le moteur de recherche fusionnera les enregistrements à sa fin. Votre/latest est classé sous /3.0, c'est ce qu'il indexera. Cela empêche non seulement/last d'être une demande de ressource statique, mais l'empêche même d'apparaître dans la recherche.

Selon les meilleures pratiques, le contenu en double doit être lié de manière canonique. Cela signifie que votre dernière page de version doit être liée canoniquement à l'URI/dernière. Vous devrez ajouter un rel = canonical ->/latest à la page de la dernière version. Ensuite, supprimez-le et placez-le dans la prochaine version lors de la mise à niveau. Cela signifie que /3.0 ne sera pas indexé jusqu'à ce qu'il soit remplacé car le moteur de recherche a fusionné les enregistrements dans/latest. Lorsque/latest tire de /3.1, il devra réindexer /3.0.

2
L Martin