200 OK — réponse HTTP

Ce que signifie HTTP 200 OK selon la RFC 9110, pourquoi ce code est nécessaire mais ne suffit pas pour l’indexation, comment éviter le piège du soft 404, distinguer 200 de 204 et 304, et vérifier ce que Googlebot a réellement reçu.

Première publication : 3 juil. 2026 · Dernière mise à jour : 22 août 2026 · Advanced
Langues
1 indice probant sur cette page

HTTP 200 OK est le code de succès 2xx standard (RFC 9110) : le serveur a reçu, compris et traité la requête et renvoie la ressource. Pour une page web, c’est le code attendu — mais il est nécessaire, pas suffisant. La documentation de Google indique que les systèmes d’indexation peuvent indexer le contenu, sans garantie ; qualité, duplication, contenu pauvre et noindex sont évalués en plus du code 200. Le piège classique est le soft 404 : une URL renvoie 200 alors que son contenu ressemble à une erreur ou à une page vide ; Google le détecte au niveau du contenu et le signale dans Search Console, quel que soit le code. Un 200 (succès avec corps réel) se distingue d’un 204 (succès sans corps, traité comme un soft 404 sur une page) et d’un 304 (signal de cache, pas une décision d’indexation). Faites correspondre le code à la réalité — page supprimée : 404/410 ; page déplacée : 301 ; doublon : balise canonical — et vérifiez toujours ce que Googlebot a reçu via l’Inspection d’URL ou les journaux, pas seulement ce que voit votre navigateur.

TL;DR — 200 OK est le code de succès 2xx standard (RFC 9110 §15.3.1) : le serveur a traité la requête et, pour GET/HEAD, le corps représente la ressource. Il est généralement cacheable par heuristique. En SEO, il est nécessaire mais pas suffisant : la documentation de Google indique que le pipeline d’indexation “may index the content, but that’s not guaranteed,” (traduction) : « peut indexer le contenu, mais ce n’est pas garanti » ; qualité, duplication, contenu pauvre et noindex déterminent encore le résultat. Le cas classique est le soft 404 : un 200 enveloppe un contenu vide ou ressemblant à une erreur, que Google détecte au niveau du contenu et signale comme soft 404 quel que soit le code. Comparez 200 (corps attendu) à 204 (corps vide, traité comme soft 404 sur une page) et à 304 (signal de cache, pas décision d’indexation). Vérifiez enfin ce que Googlebot a reçu : cloaking, blocage des robots, règles géographiques et configuration CDN/WAF peuvent servir un code différent de celui vu par votre navigateur.

Ce que 200 signifie dans la spécification

La RFC 9110 (sémantique HTTP) fait autorité et le §15.3.1 est direct : « The 200 (OK) status code indicates that the request has succeeded. » (traduction) « Le code 200 (OK) indique que la requête a abouti. » Le contenu du corps dépend de la méthode. Pour les méthodes utiles aux pages — GET et HEAD — le contenu représente la ressource cible. La RFC précise aussi que, sauf pour les réponses à CONNECT, un 200 est censé contenir du contenu, à moins que le cadrage du message n’indique explicitement une longueur nulle : « un 200 a toujours un corps » est donc un raccourci, pas une règle absolue. En pratique, pour une page à indexer, visez un vrai corps, pas un corps vide. Un 200 est aussi « heuristically cacheable » (traduction) « cacheable par heuristique » par défaut, sauf directive cache-control contraire ; c’est pourquoi les en-têtes validateurs comme ETag et Last-Modified comptent pour les pages souvent recrawlées. Evidence for this claim RFC 9110 defines 200 OK as indicating that the request succeeded; the response content depends on the request method. Scope: HTTP semantics for 200 responses; this does not guarantee search indexing. Confidence: high · Verified: IETF: RFC 9110 §15.3.1 — 200 OK

Techniquement, 200 ne concerne pas uniquement les pages. La RFC précise ce que signifie « succès » pour chaque méthode :

Méthode de requêteLe corps d’un 200 représente
GETla ressource cible
HEADla ressource cible, sans transférer le corps
POSTl’état ou le résultat de l’action
PUT, DELETEl’état de l’action
OPTIONSles options de communication de la ressource

Pour les méthodes autres que GET, vous ne verrez souvent pas de 200 : MDN note que les requêtes PUT ou DELETE réussies “often do not result in a 200 OK response,” (traduction) « ne produisent souvent pas une réponse 200 OK », 201 Created ou 204 No Content étant plus courants. Rien de tout cela ne concerne le SEO des URL de pages ; retenez simplement que, pour un document à indexer, la cible est un 200 avec un corps réel.

Nécessaire, mais pas suffisant, pour l’indexation

Voici le point le plus important, et celui que beaucoup de pages concurrentes présentent à tort. Elles disent : « 200 signifie que la page est indexée. » La documentation de Google dit le contraire : après une réponse 200, ce que Google a reçu passe à l’étape de traitement suivante — le pipeline d’indexation pour Google Search —, dont les systèmes peuvent indexer le contenu sans que cela soit garanti : “passes on whatever it received to the next processing step… For Google Search, the next system is the indexing pipeline. The indexing systems may index the content, but that’s not guaranteed.” (traduction) : « transmet ce qu’il a reçu à l’étape suivante ; pour Google Search, il s’agit du pipeline d’indexation. Les systèmes peuvent indexer le contenu, mais ce n’est pas garanti. » Evidence for this claim Google passes a 2xx response to its indexing pipeline, which may index the content but does not guarantee that it will do so; error-like content can be classified as a soft 404. Scope: Google Search handling of 2xx page responses and soft 404s. Confidence: high · Verified: Google: HTTP status codes and Search

Le 200 est donc un contrat sur la réponse HTTP, pas une promesse sur le sort de la page dans la recherche. Après le 200, Google évalue séparément :

  • Qualité — les pages pauvres, de faible valeur ou générées automatiquement peuvent ne pas être indexées.
  • Duplication — une quasi-duplication d’une URL plus forte peut être regroupée avec cette URL plutôt qu’indexée séparément (c’est précisément le rôle de la balise canonical).
  • Directives — une balise noindex ou un en-tête X-Robots-Tag exclut la page, même avec un 200 parfait.

Le guide Ahrefs de Patrick trace la même limite au niveau de la famille : « Most 2xxs will allow pages to be indexed. However, 204s will be treated as soft 404s and won’t be indexed. » (traduction) « La plupart des réponses de cette famille permettent l’indexation, mais les réponses sans contenu sont traitées comme des erreurs souples et ne sont pas indexées. » Un 200 rend une page éligible ; il ne la rend pas indexée.

Le piège du soft 404

L’illustration la plus nette du fait que « 200 ne raconte pas toute l’histoire » est le soft 404. La documentation de Google décrit le mécanisme : « If the content suggests an error for Google Search, an empty page or an error message, Search Console will show a soft 404 error. » (traduction) « Si le contenu suggère une erreur pour Google Search, une page vide ou un message d’erreur, Search Console affiche une erreur soft 404. » La classification repose sur le contenu rendu, pas sur le code HTTP. Le pipeline d’indexation regarde ce qui se trouve réellement sur la page et, si cela ressemble à « introuvable », la classe et la signale comme une vraie 404.

Les cas évidents sont un produit abandonné dont la page charge désormais un modèle vide, un article supprimé qui renvoie encore une coquille 200, ou une page de catégorie ou de recherche filtrée sans résultat et affichant « rien ici ». Chacun renvoie techniquement un 200 correct tout en disant aux utilisateurs comme à Google qu’il n’y a rien à voir.

Ce site possède un article consacré à la détection et à la correction des soft 404 ; je ne répète pas ces détails ici. Pour cette discussion sur 200, retenez simplement ceci : renvoyer 200 sur une page qui a réellement disparu prépare un soft 404. La correction consiste à faire correspondre le code à la réalité.

Autre piège : succès du transport ne signifie pas succès applicatif

Une remarque s’impose dans les discussions sur les API et la supervision : la couche HTTP et la couche applicative peuvent diverger. Un point d’API peut envoyer 200 avec un objet d’erreur JSON dans le corps ; une page peut envoyer 200 alors qu’une dépendance backend a échoué silencieusement et a rendu un bloc défectueux au lieu du contenu réel. La ligne d’état dit « livraison réussie » : c’est tout ce qu’elle affirme. La question de savoir si le payload est correct est distincte et le code d’état n’y répond pas. Les praticiens sont partagés : une API doit-elle signaler l’erreur par un code différent de 200, ou par un 200 qui enveloppe une erreur ? C’est un contrat propre à chaque équipe, pas une règle HTTP. Pour le SEO de ce site, la version au niveau de la page est le soft 404 ci-dessus : ne faites pas confiance à la seule ligne d’état, regardez ce que contient réellement le corps.

200, 204 et 304 : ne les confondez pas

Trois codes sont souvent confondus, mais un seul signifie « voici votre page » :

CodeClasseCorpsSignificationTraitement SEO
200 OK2xxContenu réel attenduSuccès : voici la ressourceÉligible à l’indexation (sans garantie)
204 No Content2xxVide par conceptionSuccès, aucun corps volontairementTraité comme un soft 404 sur une URL de page — voir 204-no-content
304 Not Modified3xxAucun« utilisez votre copie en cache » (requête conditionnelle)Signal de cache, pas une décision d’indexation

204 est bien un code de succès, mais son corps vide ne donne rien à indexer à un robot d’exploration : sur une URL de page, il tombe donc dans la catégorie des soft 404 (voir l’article dédié ; ne confondez pas le corps vide avec un 200 normal). 304 n’est même pas dans la même famille : il répond à une requête conditionnelle (If-None-Match / If-Modified-Since) en indiquant au client que sa copie en cache est toujours valide. Il n’a pas de corps et ne dit rien de l’indexation ; c’est un mécanisme d’efficacité du crawl, pas un doublon de 200. La question courante « 200 et 304, ce n’est pas pareil ? » confond une optimisation de cache avec une réponse de succès.

Vérifier ce que Googlebot voit réellement

Voici un point que presque tous les articles concurrents oublient : des demandeurs différents peuvent recevoir des codes différents pour la même URL. Votre navigateur peut voir un 200 propre tandis que Googlebot reçoit autre chose — parfois volontairement (cloaking, violation des règles anti-spam de Google), mais le plus souvent à cause de règles WAF ou anti-robots, du ciblage par géolocalisation, de la logique CDN ou d’un test A/B qui dysfonctionne pour les robots.

Donc « c’est 200 dans mon navigateur » ne prouve pas que « Google voit 200 ». Le bon diagnostic consiste à vérifier ce que Googlebot lui-même a reçu :

  • Inspection d’URL de GSC — lancez le test en direct pour voir le code et le contenu rendu que Google récupère, pas ce que voit votre machine.
  • Journaux serveur/CDN — la source de vérité du code réellement reçu par chaque user-agent.

Un simple curl -I depuis votre terminal est utile, mais ce n’est qu’un demandeur de plus qui peut rencontrer des règles de périphérie différentes de celles de Googlebot : considérez-le comme un point de données, pas comme le dernier mot.

Vérifier et surveiller ces réponses

  • DevTools du navigateur — ouvrez l’onglet Network, rechargez, sélectionnez la requête du document et lisez la colonne Status.
  • Ligne de commandecurl -I https://example.com/page pour les en-têtes d’une requête unique, curl -IL pour suivre la chaîne de redirections.
  • Google Search Console — l’Inspection d’URL indique le code exploré et permet de lancer le test en direct.
  • Bing Webmaster Tools — son outil d’Inspection d’URL confirme la réponse reçue par Bingbot. (Bing ne publie pas de guide dédié sur l’effet des codes d’état sur l’indexation ; mieux vaut le dire que d’inventer une politique de Bing.)
  • Robots d’exploration — Screaming Frog et Ahrefs Site Audit remontent les codes d’état de tout le site en masse ; la barre SEO gratuite d’Ahrefs affiche le code de la page consultée.

À quoi ressemble une situation saine : vos URL canoniques importantes renvoient constamment 200 avec un contenu réel, tandis que les pages qui devraient avoir disparu ou avoir été déplacées renvoient 404/410 ou 301, au lieu d’un 200 trompeur.

La décision en une ligne

Faites correspondre le code à la réalité. À conserver dans l’index → 200 avec un contenu substantiel. Définitivement supprimée → 404 ou 410 (voir 404-not-found). Déplacée → 301. Doublon d’une autre URL → pointez une balise canonical vers la version préférée plutôt que de forcer un code différent de 200. Le 200 est le feu vert pour les pages qui méritent réellement d’être présentes, rien de plus, rien de moins.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.