web-dev-qa-db-fra.com

Obtenir des erreurs logicielles 404 (statut 200) lorsque les plugins de mise en cache sont activés

J'ai un blog exécutant la dernière version stable de WordPress sur un serveur virtuel dédié dans la situation suivante. (Remplacez [plug-in de mise en cache] par W3 Total Cache, Hyper Cache ou Quick Cache, car j'ai essayé tous les trois avec les mêmes résultats.)

  1. [plugin de mise en cache] est désactivé. Je visite un mauvais lien connu sur mon site (http://example.com/xyzz/) et reçois une page d'erreur 404. Je peux vérifier dans l'inspecteur de Chrome et/ou Firebug que l'état "404 non trouvé" est correctement servi dans les en-têtes HTTP.

  2. J'active [plugin de mise en cache] et visite la même URL. Lors de la visite initiale, une page en cache (vérifiée par les commentaires de débogage insérés par le plug-in au bas de la source HTML) est affichée avec le statut "404 non trouvé" dans l'en-tête HTTP.

  3. Si je visite à nouveau la page (http://example.com/xyzz/), la même page en cache du numéro 2 ci-dessus est affichée et affiche l'erreur "404 - Page non trouvée", mais avec un "200 OK "statut dans l'en-tête HTTP.

  4. Si je désactive [plug-in de mise en cache] et que je visite à nouveau la page, une page non mise en cache avec le statut "404 non trouvé" correct est affichée dans l'en-tête HTTP.

Une idée de ce qui pourrait se passer ici? Cela semble causer un problème lorsque Google Bot tente d'indexer des pages inexistantes, car il affiche l'en-tête HTTP "200 OK" au lieu du 404 approprié.

2
berberich

Un dépannage plus poussé me laisse croire que cela était en quelque sorte lié au thème que j'utilisais. Après l'avoir désactivé et en avoir activé un autre, j'ai reçu les bons en-têtes 404 tout en utilisant un plugin de mise en cache.

Je ne sais toujours pas quel dans le thème serait la cause, mais au moins, il existe une solution de contournement.

0
berberich

W3 Total Cache a l'option suivante qui, si elle est activée, provoquera ce problème:

Cache 404 pages (non trouvées)

Réduisez la charge du serveur en mettant en cache 404 pages. Si la méthode améliorée de mise en cache sur disque améliorée est utilisée, 404 pages seront renvoyées avec un code de réponse 200. À utiliser à vos risques et périls.

D'autres plugins de mise en cache peuvent avoir des fonctionnalités similaires.

0
Scott Buchanan