204 tanpa konten

Pahami arti HTTP 204, mengapa Google memperlakukannya mirip soft 404s, kapan 204 digunakan secara sah untuk API dan beacon, serta apa yang harus disajikan sebagai gantinya untuk halaman web.

Pertama kali diterbitkan: 27 Jun 2026 · Terakhir diperbarui: 22 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

HTTP 204 Tanpa Konten adalah kode sukses 2xx yang sengaja mengembalikan body kosong—ini bukan error, tidak berkaitan dengan keberadaan URL, dan spesifikasi tidak membatasinya pada daftar metode tertentu. Respons ini tepat untuk panggilan REST API DELETE/PUT dan beacon analitik (sendBeacon, Measurement Protocol GA4), meski praktisi berbeda pendapat tentang seberapa sering API perlu menggunakannya. Konsekuensi SEO-nya sempit: dokumentasi Google menyatakan 204 tidak memberi konten untuk diproses, sehingga halaman yang ingin Anda rangking tidak akan diindeks dari respons itu; dalam praktik, halaman seperti ini sering muncul sebagai soft 404 di Search Console, meski Google tidak menjamin label atau jadwal penghapusan tertentu. Jadi, 204 tepat untuk endpoint API dan beacon, tetapi keliru untuk apa pun yang dimaksudkan untuk mendapat peringkat. Jika halaman benar-benar hilang, gunakan 404 atau 410; jika berpindah, gunakan 301; jika seharusnya berisi konten, perbaiki server/CDN yang mengirim 204 alih-alih 200 dengan body nyata.

TL;DR — 204 adalah kode sukses 2xx yang sesuai spesifikasi (RFC 9110 §15.3.5) dan mengembalikan body kosong berdasarkan desain—body harus kosong (tanpa Content-Length, bahkan 0), dan peramban dapat menolak 204 yang mengirim konten. Ini bukan galat dan tidak menyatakan apakah resource ada; RFC tidak membatasinya pada daftar metode tertentu. Penggunaan sah hampir semuanya bukan respons dokumen: REST API DELETE/PUT dan beacon analitik (sendBeacon(), Measurement Protocol GA4) —meski praktisi berbeda pendapat tentang seberapa sering API seharusnya memilihnya. Konsekuensi SEO-nya sempit: tabel kode status Google menyatakan untuk 204, “Google wasn’t able untuk receive any konten dan therefore tidak dapat process it” (terjemahan) “Google tidak dapat menerima konten apa pun sehingga tidak dapat memprosesnya”—artinya halaman yang ingin Anda rangking tidak akan diindeks dari respons tersebut. Dalam praktik, halaman itu sering ditandai sebagai soft 404 di pencarian Console, meski Google tidak menjamin label spesifik atau jadwal penghapusannya. Perbaiki 204 tingkat halaman yang tidak disengaja dengan memulihkan 200 nyata, atau gunakan 404/410/301 sesuai maksudnya.

Apa kata spesifikasi tentang 204

RFC 9110 (HTTP Semantics) tidak ambigu: 204 berarti “the server has successfully fulfilled the request and that there is no additional content to send in the response payload body.” (terjemahan) “server telah memenuhi permintaan dengan berhasil dan tidak ada konten tambahan untuk dikirim dalam body payload respons.” Ini kode sukses—masih keluarga 2xx seperti 200 OK—dengan perbedaan sengaja bahwa tidak ada 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

Tiga detail operasional penting. Pertama, body memang harus kosong: MDN mencatat bahwa 204 “must not include any content or the Content-Length header (browsers may reject responses that include content).” (terjemahan) “tidak boleh menyertakan konten atau header Content-Length (browser dapat menolak respons yang menyertakan konten).” Ini larangan nyata, bukan konvensi longgar—RFC 9110 §8.6 melarang Content-Length pada 204 sepenuhnya, jadi “just send Content-Length: 0(terjemahan) “cukup kirim Content-Length: 0” (perbaikan yang pernah saya lihat direkomendasikan) tetap tidak sesuai; respons berakhir pada bagian header. Kedua, header yang dibawa 204—ETag atau Last-Modified—menjelaskan representasi yang dipilih setelah tindakan selesai, bukan body yang dikirim. Ketiga, ETag muncul pada sebagian 204 (contoh MDN adalah PUT yang memperbarui resource di tempat), tetapi RFC tidak mewajibkan setiap 204 memilikinya—jangan menganggapnya selalu ada. 204 dapat di-cache secara heuristik secara default kecuali metode atau header cache-control eksplisit menyatakan lain.

Yang penting, 204 tidak berkaitan dengan ada atau tidaknya URL. Endpoint API yang berfungsi dapat mengembalikan 204 selamanya. Inilah bedanya dari 404 (tidak ditemukan) atau 410 (hilang) —kedua kode itu menyatakan ketiadaan, sedangkan 204 menyatakan permintaan berhasil tanpa payload.

Cara Google memperlakukan 204

Inilah keseluruhan cerita SEO, dan cakupannya lebih sempit daripada yang dibuat oleh boilerplate blog vendor. Google mengindeks konten. 204 tidak memiliki konten. Dokumentasi status Google menyoroti 204 dengan pernyataan spesifik dan terbatas: jika aturan umum 2xx mengatakan “Google considers the content for processing,” (terjemahan) “Google mempertimbangkan konten untuk diproses,” baris khusus 204 justru mengatakan “Google wasn’t able to receive any content and therefore can’t process it.” (terjemahan) “Google tidak dapat menerima konten apa pun sehingga tidak dapat memprosesnya.”

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

Itulah batas sebenarnya, dan penting untuk presisi tentang apa yang dijanjikan. Panduan 2xx umum di halaman tersebut mengatakan konten kosong atau mirip error dapat dilaporkan sebagai soft 404—tetapi baris 204 sendiri tidak menjamin setiap 204 mendapat label Search Console itu, dan Google tidak menerbitkan jadwal penghapusan. Yang pasti: 204 pada URL konten memberi pipeline pengindeksan Google tidak ada bahan untuk diproses, sehingga menyatakan URL tidak akan diindeks dari respons itu adalah inferensi yang wajar—bukan klaim bahwa “kerugian peringkat seluruh situs yang dijamin” atau “pemulihan anggaran crawl otomatis” pasti terjadi, karena dokumentasi Google tidak menjanjikan keduanya. Dalam praktik, Search Console sering menampilkan ini sebagai soft 404—itulah pola yang saya lihat dan tulis—tetapi perlakukan label dan waktunya sebagai perilaku teramati, bukan jaminan terdokumentasi.

Inilah posisi yang saya pegang dalam tulisan saya sendiri. Dalam panduan Kode Status HTTP & Dampak SEO-nya di blog Ahrefs, pada bagian tentang cara Google menangani respons 2xx, saya menuliskannya secara langsung: “Most 2xxs will allow pages to be indexed. However, 204s will be treated as soft 404s and won’t be indexed.” (terjemahan) “Sebagian besar status 2xx memungkinkan halaman diindeks. Namun, respons tanpa konten diperlakukan sebagai error lunak dan tidak diindeks.” Saya tetap menganggapnya sebagai pembacaan praktis; rumusan yang lebih presisi dan terkini dari dokumen Google sendiri adalah framing “can’t receive or process content” (terjemahan) “tidak dapat menerima atau memproses konten” di atas, dan itulah rujukan untuk batas resmi yang tepat.

Soft 404 didokumentasikan terus dirayapi dan menghabiskan anggaran crawl—tetapi itu panduan umum Google tentang soft 404, bukan janji khusus 204. Menggunakan 204 tidak otomatis membebaskan atau mengalihkan sumber daya crawl; kualifikasi Google sendiri menyatakan alokasi sumber daya bergantung pada batas penyajian, kualitas situs, dan inventaris, bukan kode status yang memicu pengecualian. Kesimpulan aman: perbaiki 204 yang tidak disengaja karena membuat halaman tidak diindeks, bukan karena Anda berhak atas dividen anggaran crawl tertentu.

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 vs. codes ini adalah confused dengan

CodeBodyberartiRight gunakan
200 (nyata konten)PopulatedSuccess, here’s halamansebuah halaman Anda ingin terindeks
200 (empty / “not found” (terjemahan) “tidak ditemukan” copy)Empty atau error textSuccess claimed, no nyata konten — sebuah soft 404Nothing; ini adalah sebuah bug untuk fix
204Empty oleh designSuccess, intentionally no bodyAPIs, beacons — tidak pernah sebuah halaman URL
404apa puntidak ditemukansebuah halaman itu’s hilang dengan no replacement
410apa punhilang (permanent)sebuah halaman deliberately, permanently dihapus
301Moved permanentlysebuah halaman itu moved untuk sebuah baru URL

trap adalah itu 204, empty-200, 404, dan 410 dapat semua end up “soft 404” (terjemahan) “soft 404” di GSC when there’s no usable konten — tetapi mereka signal very berbeda intents untuk sebuah spec-compliant client. 410 adalah deliberate “this existed and is permanently gone” (terjemahan) “ini existed dan adalah permanently hilang” signal; 204 adalah tidak pernah designed untuk itu meaning dan shouldn’t sit pada halaman URLs di semua.

Kapan 204 tepat (bukan bug)

Almost setiap legitimate 204 adalah sebuah non-document respons:

  • REST API DELETE / PUT. Ketika klien menghapus resource atau memperbaruinya di tempat dan tidak ada yang bermakna untuk dikembalikan, 204 adalah jawaban idiomatis—pola yang direkomendasikan RFC 9110.
  • Beacon analitik dan pelacakan. Spesifikasi Beacon W3C yang menggunakan navigator.sendBeacon() mengharapkan endpoint beacon menjawab 204. Endpoint Measurement Protocol Google Analytics 4 mengembalikan 204 untuk hit yang diterima. Perlu dicatat: GA4 juga mengembalikan 204 untuk payload yang cacat atau tidak valid, jadi 204 hanya mengonfirmasi endpoint terjangkau dan merespons secara struktural—bukan hit benar-benar diproses. Jangan anggap 204 beacon sebagai bukti sukses.
  • UX “Save without navigating away” (terjemahan) “Simpan tanpa meninggalkan halaman”. PUT yang menyimpan status di tempat dan mempertahankan pengguna di halaman saat ini—framing MDN: dengan 204, “the client doesn’t need to navigate away from its current page.” (terjemahan) “klien tidak perlu meninggalkan halaman saat ini.”

melalui-line: ini aren’t URLs anyone seharusnya menjadi pengindeksan, so sebuah 204 adalah correct dan expected. masalah adalah hanya sebuah 204 sitting pada sebuah document URL itu’s supposed untuk peringkat.

Nuansa terkait perlu dicatat: RFC 9110 tidak membatasi 204 hanya untuk DELETE/PUT atau beacon — itu sekadar pola umum. Definisi spesifikasi bersifat netral terhadap metode; yang penting adalah kontrak metode itu sendiri dan apakah mengembalikan representasi akan berguna. Ini berlaku dua arah. Permintaan GET yang mengembalikan 204 sah secara protokol — praktisi di Stack Overflow telah memperdebatkannya selama bertahun-tahun — tetapi pertanyaan sebenarnya untuk halaman yang dapat diindeks bukan “is 204-on-GET allowed,” (terjemahan) “apakah 204 pada GET diperbolehkan,” melainkan “does this URL need to hand Google a representation to be findable,” (terjemahan) “apakah URL ini perlu memberikan representasi kepada Google agar dapat ditemukan,” dan untuk halaman yang ingin Anda peringkatkan, jawabannya selalu ya. Jadi aturan SEO bukan tentang metode HTTP yang digunakan; melainkan apakah URL tersebut memang dimaksudkan sebagai dokumen.

Perlu diketahui pula bahwa anggapan “204 is always right for API responses” (terjemahan) “204 selalu tepat untuk respons API” tidak disepakati secara universal, bahkan di antara perancang API. Tulisan Postman sendiri menyebut 204 sebagai pilihan utama untuk tindakan yang tidak mengembalikan apa pun; Brandur Leach berpendapat sebaliknya—respons sukses kosong dapat sedikit merugikan klien API yang mengharapkan representasi (status terbaru, ID yang dihasilkan, bidang terhitung) bahkan setelah penulisan berhasil. Itu tradeoff desain API yang sah tentang ergonomi pengembang, bukan soal kebenaran HTTP—204 tetap sesuai spesifikasi; ini terpisah dari pertanyaan SEO artikel. Satu hal yang kadang ceroboh dalam tulisan API: mengirim Content-Length: 0 pada 204 “to be safe.” (terjemahan) “demi keamanan.” Jangan lakukan—RFC 9110 §8.6 melarang Content-Length sepenuhnya dalam respons 204, bukan hanya yang bernilai nonzero.

Diagnosing dan fixing sebuah accidental halaman-tingkat 204

jika sebuah crawler (Screaming Frog, Ahrefs situs Audit) atau Anda logs tampilkan sebuah 204 pada sebuah halaman itu seharusnya memiliki konten:

  1. Pastikan apa yang benar-benar diterima Googlebot. Gunakan Pemeriksaan URL di Search Console untuk melihat status dan konten yang dirender Google — bukan hanya apa yang terlihat di browser Anda. CDN, edge worker, WAF, atau rute aplikasi dapat mengembalikan 204 kepada bot atau dalam kondisi tertentu, meskipun bagi Anda tampak baik (pola yang sama dengan pesan “looks fine in my browser” (terjemahan) “terlihat baik di browser saya” akibat 403 yang tidak disengaja).
  2. Perbaiki sesuai maksudnya:
    • Halaman seharusnya ada dengan konten → temukan logika server/CDN/aplikasi yang mengeluarkan 204 dan pulihkan 200 yang benar dengan body sebenarnya.
    • Halaman sudah hilang tanpa pengganti → kembalikan 404 atau 410.
    • Halaman sudah dipindahkan → gunakan 301 ke URL baru.
  3. Pantau. Amati laporan Pengindeksan Halaman GSC untuk entri soft-404, pantau kode status crawl di log, dan atur crawler agar menandai 204 sehingga respons tak sengaja pada template tidak diam-diam menghapus indeks seluruh bagian.

mental model untuk pertahankan: 204 adalah not “bad.” (terjemahan) “buruk.” ini adalah sebuah precise alat itu’s correct untuk API dan beacon endpoints dan wrong untuk documents. failure mode adalah hanya ever menggunakan ini di wrong place. Siblings like 403, 404, 410, dan soft 404 setiap memiliki mereka own place di itu decision — 204’s place adalah off halaman.

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.