204 No Content: cosa significa

Che cosa significa HTTP 204, perché Google tratta le risposte 204 in modo simile agli errori soft, quando il 204 viene usato legittimamente (API, beacon) e che cosa servire al suo posto per le pagine web.

Prima pubblicazione: 27 giu 2026 · Ultimo aggiornamento: 6 ago 2026 · Advanced
Lingue
1 segnale di evidenza in questa pagina

HTTP 204 No Content è un codice di successo 2xx che restituisce intenzionalmente un body vuoto: non è un errore, non ha nulla a che fare con l’esistenza di un URL e la specifica non lo limita a un insieme fisso di metodi. È la risposta corretta per le chiamate DELETE/PUT di API REST e per i beacon di analytics (sendBeacon, Measurement Protocol di GA4), anche se i progettisti di API non concordano sulla frequenza con cui usarlo. La conseguenza SEO è circoscritta: la documentazione di Google dice che un 204 non fornisce contenuti da elaborare, quindi una pagina che vuoi posizionare non verrà indicizzata da quella risposta; nella pratica, questi casi compaiono spesso come soft 404 in Search Console, anche se Google non garantisce quell’etichetta esatta né un calendario di rimozione. Il 204 è quindi corretto per endpoint API e beacon e sbagliato per ciò che deve posizionarsi. Se una pagina è davvero sparita, usa 404 o 410; se si è spostata, usa 301; se dovrebbe avere contenuto, correggi il server/CDN che invia 204 invece di un 200 con un body reale.

TL;DR — 204 è un codice di successo 2xx conforme alla specifica (RFC 9110 §15.3.5) che restituisce un body vuoto per progettazione: il body deve essere vuoto (e non deve esserci nemmeno Content-Length, neppure 0), e i browser possono rifiutare un 204 che invia contenuto. Non è un errore e non dice nulla sull’esistenza dell’URL; l’RFC non lo limita a un elenco fisso di metodi. Gli usi legittimi sono quasi tutti risposte non-documentali: DELETE/PUT di API REST e beacon di analytics (sendBeacon(), GA4 Measurement Protocol) — anche se i professionisti non concordano sulla frequenza con cui le API dovrebbero usarlo. La conseguenza SEO è circoscritta: la tabella dei codici di stato di Google dice chiaramente che, per un 204: “Google wasn’t able to receive any content and therefore can’t process it” (traduzione) «Google non è riuscito a ricevere alcun contenuto e quindi non può elaborarlo». Una pagina che vuoi posizionare non verrà indicizzata da quella risposta e, nella pratica, questi casi vengono spesso segnalati come soft 404 in Search Console, anche se Google non garantisce né quell’etichetta specifica né un calendario di rimozione. Correggi un 204 accidentale a livello di pagina ripristinando un vero 200 oppure usando 404/410/301 secondo l’intento.

Cosa significa 204 nella specifica

RFC 9110 (HTTP Semantics) è inequivocabile: un 204 indica che «il server ha completato con successo la richiesta e che non c’è altro contenuto da inviare nel body del payload della risposta». È un codice di successo — della stessa famiglia 2xx di 200 OK — con la differenza deliberata che non c’è un body.

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

Contano tre dettagli operativi. Primo, il body deve essere davvero vuoto: MDN osserva che un 204 “must not include any content or the Content-Length header (browsers may reject responses that include content).” (traduzione) «non deve includere contenuto né l’header Content-Length (i browser possono rifiutare le risposte che includono contenuto)». È un divieto reale, non una convenzione elastica: RFC 9110 §8.6 vieta del tutto Content-Length su un 204, quindi «invia semplicemente Content-Length: 0» (una correzione che ho visto consigliare) non è neppure conforme; la risposta termina nella sezione degli header, punto. Secondo, gli header eventualmente presenti in un 204 — un ETag, un Last-Modified — descrivono la rappresentazione selezionata dopo il completamento dell’azione, non un body che è stato inviato. Terzo, un ETag compare in alcuni 204 (l’esempio di MDN è un PUT che aggiorna una risorsa sul posto), ma l’RFC non richiede che ogni 204 lo includa: non considerarlo scontato. Un 204 è memorizzabile nella cache per euristica in modo predefinito, a meno che il metodo o header espliciti di controllo della cache dicano diversamente.

È fondamentale: 204 non ha nulla a che fare con l’esistenza di un URL. Un endpoint API funzionante può restituire correttamente 204 per sempre. Questa è la differenza rispetto a un 404 (non trovato) o a un 410 (gone): quelli riguardano l’assenza; 204 riguarda una richiesta riuscita che non trasporta deliberatamente alcun payload.

Come tratta Google un 204

Questa è tutta la storia SEO, ed è più circoscritta di quanto facciano pensare i testi standard dei blog dei vendor. Google indicizza i contenuti. Un 204 non ha contenuto. La documentazione ufficiale di Google sui codici di stato dedica al 204 una frase specifica e delimitata: mentre la regola generale dei 2xx è che «Google considera il contenuto per l’elaborazione», la riga dedicata al 204 dice invece che “Google wasn’t able to receive any content and therefore can’t process it.” (traduzione) «Google non è riuscito a ricevere alcun contenuto e quindi non può elaborarlo».

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

Questo è il confine reale e vale la pena essere precisi su ciò che promette e ciò che non promette. Le indicazioni generali sui 2xx nella stessa pagina dicono che un contenuto vuoto o simile a un errore può essere segnalato come soft 404, ma la riga del 204 non garantisce che ogni 204 finisca sotto quell’etichetta specifica di Search Console, e Google non pubblica un calendario di rimozione. Ciò che è solido è questo: un 204 su un URL di contenuto non fornisce nulla alla pipeline di indicizzazione di Google, quindi dire che l’URL non verrà indicizzato da quella risposta è un’inferenza ragionevole; non la estenderei a una «perdita di ranking garantita a livello di sito» o a un «recupero automatico del crawl budget», perché la documentazione di Google non promette nessuna delle due cose. Nella pratica, Search Console presenta spesso questi casi come soft 404: è il pattern che ho visto e di cui ho scritto, ma considera etichetta e tempistiche del report come comportamento osservato, non come garanzia documentata.

Questa è la posizione che ho sostenuto nei miei articoli. Nella guida Codici di stato HTTP e loro impatto SEO del blog di Ahrefs, nella sezione su come Google gestisce le risposte 2xx, l’ho scritto direttamente: «La maggior parte dei 2xx consente di indicizzare le pagine. Tuttavia, i 204 vengono trattati come soft 404 e non vengono indicizzati». La considero ancora la lettura pratica; la formulazione più precisa e aggiornata del documento di Google è quella sul «non riuscire a ricevere o elaborare il contenuto», ed è quella a cui ti indirizzerei per il confine ufficiale esatto.

I soft 404 sono documentati come casi che continuano a essere sottoposti a crawl e sprecano crawl budget, ma questa è la guida generale di Google sui soft 404, non una promessa specifica sui 204. Usare 204 non libera né reindirizza automaticamente le risorse di crawl; la precisazione di Google è che l’allocazione delle risorse dipende dai limiti di servizio, dalla qualità del sito e dall’inventario, non dal codice di stato che ha attivato l’esclusione. La conclusione sicura è: correggi un 204 accidentale perché impedisce a una pagina di essere indicizzata, non perché ti spetti uno specifico dividendo di crawl budget.

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 a confronto con i codici con cui viene confuso

CodiceBodySignificatoUso corretto
200 (contenuto reale)PopolatoSuccesso, ecco la paginaUna pagina che vuoi indicizzare
200 (copia vuota / «non trovato»)Vuoto o testo d’erroreSuccesso dichiarato, nessun contenuto reale — un soft 404Nessuno: è un bug da correggere
204Vuoto per progettazioneSuccesso, nessun body intenzionalmenteAPI, beacon — mai un URL di pagina
404QualsiasiNon trovatoUna pagina sparita senza sostituzione
410QualsiasiGone (permanente)Una pagina rimossa deliberatamente e in modo permanente
301Spostato permanentementeUna pagina trasferita a un nuovo URL

Il tranello è che 204, 200 vuoto, 404 e 410 possono tutti finire come «soft 404» in GSC quando non c’è contenuto utilizzabile, ma segnalano intenti molto diversi a un client conforme alla specifica. 410 è il segnale deliberato «questo esisteva e ora è sparito per sempre»; 204 non è mai stato progettato per quel significato e non dovrebbe stare sugli URL di pagina.

Quando 204 è esattamente corretto (non un bug)

Quasi ogni 204 legittimo è una risposta non-documentale:

  • DELETE / PUT di un’API REST. Quando un client elimina una risorsa o la aggiorna sul posto e non c’è nulla di significativo da restituire, 204 è la risposta idiomatica: è il pattern raccomandato dalla stessa RFC 9110.
  • Beacon di analytics e tracking. La specifica Beacon del W3C, costruita attorno a navigator.sendBeacon(), prevede che gli endpoint beacon rispondano con 204. L’endpoint Measurement Protocol di Google Analytics 4 restituisce 204 per gli hit che accetta. È importante segnalarlo: GA4 restituisce 204 anche per payload malformati o non validi, quindi lì un 204 conferma solo che l’endpoint era raggiungibile e ha risposto strutturalmente, non che il tuo hit sia stato elaborato. Non leggere il 204 di un beacon come prova del successo.
  • UX «salva senza cambiare pagina». Un PUT che salva lo stato sul posto e lascia l’utente sulla pagina corrente: la formulazione di MDN è “the client doesn’t need to navigate away from its current page.” (traduzione) «il client non deve spostarsi dalla pagina corrente».

Il filo conduttore è questo: non sono URL che qualcuno dovrebbe indicizzare, quindi un 204 è corretto e previsto. Il problema è solo un 204 su un URL-documento che dovrebbe posizionarsi.

Vale la pena segnalare una sfumatura correlata: RFC 9110 non limita il 204 specificamente a DELETE/PUT/beacon, che sono solo i pattern più comuni. La definizione della specifica è indipendente dal metodo; ciò che conta davvero è il contratto del metodo e se sarebbe utile restituire una rappresentazione. La questione ha due lati. Una richiesta GET che restituisce 204 è legale per il protocollo — professionisti su Stack Overflow ne discutono da anni — ma la vera domanda per una pagina indicizzabile non è «è consentito un 204 su GET?», bensì «questo URL deve consegnare a Google una rappresentazione per poter essere trovato?». Per una pagina che vuoi posizionare, la risposta è sempre sì. Quindi la regola SEO non riguarda il metodo HTTP usato: in prima battuta riguarda il fatto che l’URL debba essere o meno un documento.

È anche utile sapere che «204 è sempre corretto per le risposte API» non è un punto condiviso universalmente nemmeno tra i progettisti di API. Il testo di Postman indica 204 come scelta preferita per le azioni che non devono restituire nulla; Brandur Leach ha sostenuto la tesi opposta: una risposta di successo vuota può essere leggermente dannosa per i client API che si aspettano una rappresentazione (stato aggiornato, ID generato, campo calcolato) anche dopo una scrittura riuscita. È un compromesso legittimo di progettazione API sull’ergonomia degli sviluppatori, non una questione di correttezza HTTP: in ogni caso 204 resta conforme alla specifica ed è separato dalla domanda SEO di questo articolo. Un punto su cui i testi sulle API a volte sono imprecisi: inviare Content-Length: 0 su un 204 «per sicurezza». Non farlo: RFC 9110 §8.6 vieta completamente Content-Length in una risposta 204, non solo quando è diverso da zero.

Diagnosticare e correggere un 204 accidentale a livello di pagina

Se un crawler (Screaming Frog, Ahrefs Site Audit) o i tuoi log mostrano un 204 su una pagina che dovrebbe avere contenuto:

  1. Conferma ciò che riceve davvero Googlebot. Usa l’Ispezione URL in Search Console per vedere lo stato e il contenuto renderizzato ricevuti da Google, non solo ciò che mostra il browser. Una CDN, un edge worker, un WAF o una route dell’app può restituire 204 ai bot o in condizioni specifiche mentre per te sembra tutto a posto (lo stesso pattern «nel browser sembra tutto a posto» di un 403 rimasto per errore).
  2. Poi correggi in base all’intento:
    • La pagina dovrebbe esistere con contenuto → trova la logica del server/CDN/app che emette 204 e ripristina un 200 corretto con il body reale.
    • La pagina è sparita senza sostituzione → restituisci 404 o 410.
    • La pagina è stata spostata301 verso il nuovo URL.
  3. Monitora. Controlla il report Page Indexing di GSC per le voci soft 404, osserva i codici di stato del crawl nei log e configura il crawler affinché segnali i 204: così un 204 accidentale su un template non deindicizza in silenzio un’intera sezione.

Il modello mentale da conservare è questo: 204 non è «cattivo». È uno strumento preciso, corretto per endpoint API e beacon e sbagliato per i documenti. Il problema esiste solo quando lo usi nel posto sbagliato. I codici affini come 403, 404, 410 e soft 404 hanno ciascuno il proprio ruolo nella decisione: il posto del 204 è fuori dalla pagina.

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.