204 No Content: qué significa

Qué significa HTTP 204 No Content (RFC 9110), por qué Google trata las respuestas 204 de forma parecida a los soft 404s, cuándo se usa legítimamente para API y beacons y qué debes servir en su lugar para las páginas web.

Publicado por primera vez: 27 jun 2026 · Última actualización: 8 ago 2026 · Avanzado
Idiomas
1 señal de evidencia en esta página

HTTP 204 No Content es un código de éxito 2xx que devuelve deliberadamente un cuerpo vacío: no es un error, no tiene que ver con que exista una URL y la especificación no lo limita a ningún conjunto fijo de métodos. Es la respuesta correcta para llamadas DELETE/PUT de API REST y beacons de analítica (sendBeacon, protocolo de medición de GA4), aunque los diseñadores de API discrepan sobre con qué frecuencia usarlo. La consecuencia SEO es acotada: la documentación de Google dice que un 204 no le proporciona contenido que procesar, así que una página que quieres posicionar no se indexará a partir de esa respuesta; en la práctica, estos casos suelen aparecer como soft 404s en Search Console, aunque Google no garantiza esa etiqueta exacta ni un calendario de retirada. Por tanto, 204 es correcto para endpoints de API y beacons, e incorrecto para cualquier URL que deba posicionarse. Si una página desapareció de verdad, usa 404 o 410; si se trasladó, usa 301; si debería tener contenido, corrige el servidor/CDN que envía 204 en vez de un 200 con un cuerpo real.

TL;DR — 204 es un código de éxito 2xx conforme a la especificación (RFC 9110 §15.3.5) que devuelve un cuerpo vacío por diseño: el cuerpo debe estar vacío (sin Content-Length, ni siquiera 0) y los navegadores pueden rechazar un 204 que envíe contenido. No es un error y no dice nada sobre la existencia de una URL; el RFC no lo restringe a una lista fija de métodos. Sus usos legítimos son casi siempre respuestas que no son documentos: DELETE/PUT de API REST y beacons de analítica (sendBeacon(), protocolo de medición GA4), aunque los profesionales discrepan sobre con qué frecuencia deberían usarlo las API. La consecuencia SEO es acotada: la tabla de códigos de estado de Google dice claramente que, para un 204, “Google wasn’t able to receive any content and therefore can’t process it” (traducción) «Google no pudo recibir ningún contenido y, por tanto, no puede procesarlo»; eso significa que una página que quieres posicionar no se indexará a partir de esa respuesta y, en la práctica, suele marcarse como soft 404 en Search Console, aunque Google no garantiza esa etiqueta concreta ni un plazo de retirada. Corrige un 204 accidental a nivel de página restaurando un 200 real o usando 404/410/301 según la intención.

Qué significa 204 en la especificación

RFC 9110 (HTTP Semantics) no deja lugar a dudas: un 204 indica que “the server has successfully fulfilled the request and that there is no additional content to send in the response payload body.” (traducción) «el servidor ha cumplido correctamente la solicitud y no hay contenido adicional que enviar en el cuerpo del payload de respuesta». Es un código de éxito, de la misma familia 2xx que 200 OK, con la diferencia deliberada de que no hay cuerpo.

Evidence for this claim RFC 9110 defines 204 No Content as a successful response with no additional content to send and says it is terminated by the header section because it cannot contain content. Scope: HTTP semantics for 204 responses. Confidence: high · Verified: IETF: RFC 9110 §15.3.5 — 204 No Content

Hay tres detalles operativos importantes. Primero, el cuerpo tiene que estar realmente vacío: MDN señala que un 204 “must not include any content or the Content-Length header (browsers may reject responses that include content).” (traducción) «no debe incluir contenido ni la cabecera Content-Length (los navegadores pueden rechazar las respuestas que incluyan contenido)». Es una prohibición real, no una convención flexible: RFC 9110 §8.6 prohíbe Content-Length en un 204, así que «envía simplemente Content-Length: 0» (una solución que he visto recomendar) tampoco cumple la especificación; la respuesta termina al acabar la sección de cabeceras. Segundo, las cabeceras que sí lleve un 204 —un ETag, un Last-Modified— describen la representación seleccionada después de completar la acción, no un cuerpo enviado. Tercero, un ETag aparece en algunos 204 (el ejemplo de MDN es un PUT que actualiza un recurso en su sitio), pero el RFC no exige que todos los 204 lo incluyan: no lo des por hecho. Un 204 se puede almacenar heurísticamente en caché por defecto, salvo que el método o unas cabeceras explícitas de control de caché indiquen lo contrario.

Y lo más importante: 204 no tiene nada que ver con que exista una URL. Un endpoint de API funcional puede devolver correctamente 204 para siempre. Esa es la diferencia con un 404 (no encontrado) o un 410 (desaparecido): esos códigos tratan de la ausencia; 204 trata de una solicitud correcta que lleva deliberadamente un payload vacío.

Cómo trata Google un 204

Esta es toda la historia SEO y es más acotada de lo que hacen parecer las fórmulas de los blogs de proveedores. Google indexa contenido. Un 204 no tiene contenido. La documentación de Google sobre códigos de estado destaca el 204 con una afirmación específica y limitada: mientras que la regla general de 2xx es que «Google considers the content for processing» (traducción) «Google considera el contenido para procesarlo», la fila dedicada al 204 dice que “Google wasn’t able to receive any content and therefore can’t process it.” (traducción) «Google no pudo recibir ningún contenido y, por tanto, no puede procesarlo».

Evidence for this claim Google says it treats a 204 response as though the URL returned a soft 404. Scope: Google Search indexing behavior for URLs returning HTTP 204. Confidence: high · Verified: Google: HTTP status codes and Search

Ese es el límite real y conviene precisar qué promete y qué no. La guía general sobre 2xx de esa misma página dice que el contenido vacío o parecido a un error puede informarse como soft 404; pero la fila del 204 no garantiza que todos los 204 acaben bajo esa etiqueta concreta de Search Console, y Google no publica un calendario de retirada. Lo sólido es esto: un 204 en una URL de contenido no proporciona nada al pipeline de indexación de Google, así que decir que la URL no se indexará a partir de esa respuesta es una inferencia razonable; no la extendería a «pérdida de posiciones garantizada en todo el sitio» ni a «recuperación automática del presupuesto de rastreo», porque la documentación de Google no promete ninguna de las dos cosas. En la práctica, Search Console suele mostrar estos casos como soft 404 —ese es el patrón que he observado y sobre el que he escrito—, pero trata la etiqueta concreta y el momento como comportamiento observado, no como garantía documentada.

Esta es la postura que he mantenido en mis propios textos. En mi guía Códigos de estado HTTP y su impacto en el SEO del blog de Ahrefs, en la sección sobre cómo gestiona Google las respuestas 2xx, resumo la lectura práctica: las respuestas 2xx suelen permitir la indexación, pero los 204 se tratan como soft 404 y no se indexan. Mantengo esa lectura práctica; la formulación actual y más precisa de la propia documentación de Google es la de «no puede recibir ni procesar contenido», que es la que señalaría para conocer el límite oficial exacto.

Los soft 404 siguen rastreándose y desperdiciando presupuesto de rastreo, según la documentación, pero esa es la guía general de Google sobre soft 404, no una promesa específica para 204. Usar 204 no libera ni redirige automáticamente recursos de rastreo; la propia precisión de Google es que la asignación depende de los límites de servicio, la calidad del sitio y el inventario, no del código de estado que provocó la exclusión. La conclusión segura es: corrige un 204 accidental porque impide indexar una página, no porque te corresponda un dividendo concreto de presupuesto de rastreo por hacerlo.

Evidence for this claim Using 204 does not automatically free crawl budget or redirect crawl resources; the official Google 204 guidance establishes only that no content can be processed. Scope: web crawling and indexing Confidence: high · Verified: How HTTP status codes affect Google's crawlers

204 frente a los códigos con los que se confunde

CódigoCuerpoSignificaUso correcto
200 (contenido real)Con contenidoÉxito: aquí está la páginaUna página que quieres indexar
200 (texto vacío / «no encontrado»)Texto vacío o de errorSe afirma éxito, pero no hay contenido real: un soft 404Ninguno; es un error que debes corregir
204Vacío por diseñoÉxito, sin cuerpo intencionadamenteAPI, beacons: nunca una URL de página
404CualquieraNo encontradoUna página desaparecida sin sustituto
410CualquieraDesaparecida (permanente)Una página retirada deliberada y permanentemente
301Trasladada permanentementeUna página trasladada a una URL nueva

La trampa es que 204, 200 vacío, 404 y 410 pueden acabar todos como «soft 404» en GSC cuando no hay contenido utilizable, pero señalan intenciones muy distintas a un cliente conforme a la especificación. 410 es la señal deliberada de «esto existía y ha desaparecido permanentemente»; 204 nunca se diseñó para significar eso y no debe aparecer en URL de páginas.

Cuándo 204 es exactamente lo correcto (no un error)

Casi todos los 204 legítimos son respuestas que no son documentos:

  • API REST DELETE / PUT. Cuando un cliente elimina un recurso o lo actualiza en su sitio y no hay nada relevante que devolver, 204 es la respuesta idiomática: es el patrón recomendado por el propio RFC 9110.
  • Beacons de analítica y seguimiento. La especificación Beacon del W3C, basada en navigator.sendBeacon(), espera que los endpoints de beacons respondan con 204. El endpoint del protocolo de medición de Google Analytics 4 devuelve 204 para los hits que acepta. Importante: GA4 devuelve 204 incluso para hits mal formados o inválidos, así que un 204 solo confirma que el endpoint era accesible y respondió estructuralmente, no que el hit se procesara. No interpretes el 204 de un beacon como prueba de éxito.
  • Experiencia «guardar sin salir de la página». Un PUT que guarda el estado en el sitio y deja al usuario en la página actual: la formulación de MDN es que, con un 204, “the client doesn’t need to navigate away from its current page.” (traducción) «el cliente no necesita salir de su página actual».

La idea común es que estas no son URL que nadie deba indexar, así que 204 es correcto y esperado. El problema es solo un 204 colocado en una URL de documento que se supone que debe posicionarse.

Conviene señalar otro matiz: RFC 9110 no restringe 204 específicamente a DELETE/PUT/beacons; esos son solo los patrones habituales. La definición de la especificación es independiente del método; lo que importa es el contrato del propio método y si sería útil devolver una representación. Esto funciona en ambas direcciones. Una solicitud GET que devuelve 204 es legal según el protocolo —los profesionales llevan años debatiéndolo en Stack Overflow—; la pregunta real para una página indexable no es «¿está permitido 204 en GET?», sino «¿necesita esta URL entregar una representación para que se pueda encontrar en Google?», y para una página que quieres posicionar la respuesta siempre es sí. Por tanto, la regla SEO no trata del método HTTP que se use, sino de si la URL está pensada para ser un documento.

También conviene saber que ni siquiera entre los diseñadores de API existe acuerdo universal en que «204 siempre es correcto para respuestas de API». El texto de Postman presenta 204 como la opción habitual para acciones sin nada que devolver; Brandur Leach ha defendido la postura contraria: una respuesta de éxito vacía puede ser ligeramente perjudicial para clientes de API que esperan recibir una representación (estado actualizado, un ID generado o un campo calculado) incluso después de una escritura correcta. Es una decisión legítima de diseño de API sobre ergonomía del desarrollador, no una cuestión de corrección HTTP: 204 sigue cumpliendo la especificación en ambos casos, y es independiente de la cuestión SEO de este artículo. Un punto en el que algunos textos de API se vuelven descuidados: enviar Content-Length: 0 en un 204 «por seguridad». No lo hagas: RFC 9110 §8.6 prohíbe Content-Length en una respuesta 204 por completo, no solo cuando es distinto de cero.

Diagnóstico y corrección de un 204 accidental a nivel de página

Si un rastreador (Screaming Frog, Ahrefs Site Audit) o tus registros muestran un 204 en una página que debería tener contenido:

  1. Confirma qué recibe realmente Googlebot. Usa la Inspección de URL de Search Console para ver el estado y el contenido renderizado que recibe Google, no solo lo que ve tu navegador. Una CDN, un worker de borde, un WAF o una ruta de la aplicación puede devolver 204 a los bots o en condiciones concretas aunque a ti te parezca correcta (el mismo patrón de «en mi navegador se ve bien» que aparece con un 403 inesperado).
  2. Después corrige según la intención:
    • La página debe existir con contenido → encuentra la lógica del servidor/CDN/aplicación que emite 204 y recupera un 200 correcto con el cuerpo real.
    • La página ha desaparecido sin sustituto → devuelve 404 o 410.
    • La página se ha trasladado301 a la URL nueva.
  3. Monitoriza. Observa el informe de Indexación de páginas de GSC para detectar entradas soft 404, vigila los códigos de estado de rastreo en tus registros y configura tu rastreador para señalar los 204, de modo que uno accidental en una plantilla no desindexe silenciosamente toda una sección.

Quédate con este modelo mental: 204 no es «malo». Es una herramienta precisa, correcta para endpoints de API y beacons y equivocada para documentos. El fallo solo consiste en usarlo en el lugar incorrecto. Sus hermanos, como 403, 404, 410 y soft 404, tienen cada uno su lugar en esa decisión; el lugar de 204 está fuera de la página.

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.