429 terlalu banyak permintaan

Apa arti status HTTP 429, bagaimana Google memperlakukan pembatasan laju dan mundur dari crawling, dampaknya pada anggaran crawling, serta cara mengonfigurasi server untuk mengirim 429 tanpa menyebabkan deindeksasi.

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

429 Too Many Requests adalah satu-satunya kode 4xx yang diperlakukan Google seperti galat 5xx. Setelah melihat cukup banyak respons 5xx, Google membacanya sebagai sinyal server kelebihan beban — kelompok yang sama dengan 5xx — lalu memperlambat laju crawling Googlebot di seluruh hostname, bukan menghapus konten. Ini adalah cara yang benar dan direkomendasikan Google untuk memperlambat crawler (bukan 403 atau 404). Namun ini alat jangka pendek: gunakan selama beberapa jam atau 1–2 hari, kirim header Retry-After sebagai praktik terbaik, dan batasi hanya pada lalu lintas yang tepat. 429 yang bertahan berhari-hari pada URL yang sama tetap dapat membuat URL tersebut dikeluarkan dari indeks.

TL;DR — 429 adalah satu-satunya kode 4xx yang diperlakukan Google seperti 5xx: setelah menemukan banyak respons 500/503/429, Google membacanya sebagai sinyal server kelebihan beban dan memperlambat laju crawl Googlebot di seluruh hostname, bukan menghapus konten. Inilah satu kode yang direkomendasikan Google untuk memperlambat crawler — jangan gunakan 403 atau 404. Dokumentasi Google memberi panduan penggunaan darurat “a couple of hours, or 1–2 days” (terjemahan) “beberapa jam, atau 1–2 hari” — bukan jendela aman yang dijamin; 429 yang bertahan pada URL yang sama selama beberapa hari berisiko membuat URL dikeluarkan dari indeks. Setelah volume galat turun, laju crawl mulai meningkat lagi (tidak selalu seketika atau sepenuhnya). RFC 6585 menyatakan bahwa respons 429 SHOULD menjelaskan kondisinya dan MAY menyertakan Retry-After — mengirimkannya adalah praktik yang disarankan, bukan kewajiban kepatuhan. Batasi pembatasan pada lalu lintas yang tepat dan verifikasi identitas crawler sebelum membuat pengecualian.

Arti 429 pada tingkat protokol

Menurut definisi MDN, 429 muncul ketika klien mengirim terlalu banyak permintaan dalam jangka waktu tertentu. Mekanisme untuk meminta klien memperlambat laju permintaan ini disebut pembatasan laju. Evidence for this claim A 429 response means the user sent too many requests in a given time, and the response may include Retry-After. Scope: RFC 9110 defines the status and optional Retry-After field; it does not define a universal rate threshold. Confidence: high · Verified: IETF: RFC 9110 §15.5.20 — 429 Too Many Requests

RFC 6585 §4 lebih presisi dibanding ringkasan umum. Representasi 429 SEBAIKNYA menjelaskan kondisi dan BOLEH menyertakan header Retry-After yang memberi klien jumlah detik konkret (RFC 9110 juga mengizinkan tanggal HTTP) untuk menunggu sebelum mencoba lagi—Retry-After adalah praktik yang disarankan, bukan kewajiban kepatuhan. Spesifikasi juga tidak menentukan bagaimana klien diidentifikasi atau bagaimana permintaan dihitung; semuanya diserahkan kepada penerbit respons (per IP, sesi, kunci API, atau sumber daya—kebijakan implementasi, bukan protokol). Satu aturan yang mudah terlewat: RFC 6585 menyatakan bahwa respons 429 TIDAK BOLEH disimpan oleh cache. Jika Anda melihat 429 yang tampak di-cache atau diputar ulang pada origin yang sehat, itu adalah perantara (CDN atau proxy) yang keliru, bukan origin yang kembali memutuskan untuk membatasi Anda.

Dalam panduan Kode Status HTTP & Dampaknya terhadap SEO, saya menjelaskannya secara sederhana: 429 adalah “a form of rate-limiting to protect the server because the client sent too many requests to the server too fast.” (terjemahan) “bentuk pembatasan laju untuk melindungi server karena klien mengirim terlalu banyak permintaan ke server dengan terlalu cepat.” Secara nominal ini adalah galat klien—klien dianggap keliru karena meminta terlalu banyak. Namun, justru di sinilah kisah SEO menyimpang dari spesifikasi.

Satu-satunya pengecualian di antara kode 4xx

Fakta terpenting di halaman ini: Google tidak memperlakukan 429 seperti anggota keluarga 4xx lainnya. Gary Illyes menulis posting Google Search Central khusus tentang hal ini pada Februari 2023, karena cukup banyak situs dan CDN menyalahgunakan 404 untuk memperlambat Googlebot sehingga Google harus meminta mereka berhenti.

Aturannya jelas: 429 adalah satu-satunya pengecualian dan menjadi sinyal bagi robot yang berperilaku baik, termasuk Googlebot, untuk memperlambat diri ketika server terbebani. Sebaliknya, Google mengatakan bahwa 401 dan 403 bukan alat untuk membatasi laju crawl; kode status 4xx selain 429 tidak memengaruhi laju tersebut.

Jadi, ketika 403 dan 404 menghapus konten Anda dari Search, 429 memberi Anda perlambatan sementara. Google secara harfiah mengelompokkannya dengan galat server: “Google’s crawlers treat the 429 status code as a signal that the server is overloaded, and it’s considered a server error.” (terjemahan) “Crawler Google memperlakukan kode status 429 sebagai sinyal bahwa server kelebihan beban, dan kode ini dianggap sebagai galat server.” Evidence for this claim Google treats 429 as a server-overload signal that reduces crawl rate and recommends 429, 500, or 503 for temporary crawl reduction instead of other 4xx codes. Scope: Google's guidance covers Google crawler behavior and short-term overload; it does not promise indexing preservation during prolonged unavailability. Confidence: high · Verified: Google: Reduce Google crawl rate

Inilah yang menjadikan 429 saudara berguna dari 503 Service Unavailable (sinyal pemeliharaan/tidak tersedia sementara)—dan kebalikan persis dari 403 Forbidden, alat yang keliru untuk pembatasan laju meskipun banyak firewall menggunakannya sebagai bawaan.

Dampak laju crawl berlaku di seluruh hostname—dengan ambang

Dua cakupan berbeda sering tercampur di sini dan perlu dipisahkan. Cara Anda menghitung dan memberi kunci batas laju—per IP, sesi, kunci API, sumber daya, atau server—adalah kebijakan Anda sendiri; spesifikasi HTTP tidak menentukannya. Perilaku Google terhadap galat yang diamati adalah hal terpisah dan terdokumentasi, serta bergantung pada volume, bukan satu respons: “Google’s crawling infrastructure reduces your site’s crawling rate when it encounters a significant number of URLs with 500, 503, or 429 HTTP response status codes.” (terjemahan) “Infrastruktur crawling Google mengurangi laju crawl situs Anda ketika menemukan sejumlah besar URL dengan kode status respons HTTP 500, 503, atau 429.” Setelah ambang itu tercapai, “the reduced crawl rate affects the whole hostname of your site (for example, subdomain.example.com), both the crawling of the URLs that return errors, as well as the URLs that return content.” (terjemahan) “Laju crawl yang berkurang memengaruhi seluruh hostname situs Anda (misalnya subdomain.example.com), baik crawl URL yang mengembalikan galat maupun URL yang mengembalikan konten.”

Dengan kata lain, jika Anda mengembalikan 429 pada sebagian halaman (misalnya jalur API yang berat) dalam volume nyata, Googlebot memperlambat crawl seluruh hostname—termasuk halaman yang masih mengembalikan 200. Biasanya itulah efek yang diinginkan ketika tujuan Anda mengurangi beban total. Namun, satu 429 yang terisolasi pada satu jalur tidak dengan sendirinya membuktikan dampak di seluruh hostname—redaksi Google menyebut sejumlah besar respons galat, bukan satu respons saja.

Evidence for this claim When Google encounters a significant number of 500, 503, or 429 responses, its documented crawl-rate reduction affects the whole hostname, including error URLs and URLs still returning content; one isolated 429 does not establish that site-wide effect. Scope: hostname crawl-load incidents Confidence: high · Verified: Reduce Google crawl rate

Panduan 1–2 hari—saat 429 mulai berisiko

429 adalah sinyal jangka pendek, dan Google memberi panduan darurat yang konkret—bukan jendela aman yang dijamin atau batas tegas. Dari dokumentasi “reduce crawl rate”: “If you need to urgently reduce the crawl rate for short period of time (for example, a couple of hours, or 1-2 days), then return 500, 503, or 429 HTTP response status code instead of 200 to the crawl requests.” (terjemahan) “Jika Anda perlu segera mengurangi laju crawl untuk waktu singkat (misalnya beberapa jam atau 1–2 hari), kembalikan kode status respons HTTP 500, 503, atau 429 alih-alih 200 untuk permintaan crawl.”

Lewati jangka itu dan risikonya meningkat, meskipun Google menyampaikannya sebagai kemungkinan, bukan kepastian: “We don’t recommend that you do this for a long period of time (meaning, longer than 1-2 days) as it may have a negative effect on how your site appears in Google products… if Googlebot observes these status codes on the same URL for multiple days, the URL may be dropped from Google’s index.” (terjemahan) “Kami tidak menyarankan melakukan ini dalam waktu lama (lebih dari 1–2 hari) karena dapat berdampak negatif pada tampilan situs Anda di produk Google… jika Googlebot mengamati kode status ini pada URL yang sama selama beberapa hari, URL itu mungkin dikeluarkan dari indeks Google.” Referensi kode status mengatakan hal serupa untuk 5xx dan 429: “already indexed URLs are preserved in the index, but eventually dropped.” (terjemahan) “URL yang sudah diindeks dipertahankan dalam indeks, tetapi pada akhirnya dikeluarkan.”*

Model risikonya, secara jujur: 429 jangka pendek berada dalam jendela penggunaan darurat yang direkomendasikan Google; 429 yang terus dikirim pada URL yang sama selama beberapa hari adalah saat bahasa Google berubah menjadi “mungkin” dan “pada akhirnya dikeluarkan”—risiko yang terdokumentasi, bukan hasil yang pasti. Dinamikanya sama dengan 503 yang berkepanjangan.

Laju crawl pulih secara otomatis

Sisi yang menenangkan: tidak ada tanda penalti yang terus mengikuti situs Anda. Setelah galat mereda, Google mengatakan “the crawl rate will automatically start increasing again.” (terjemahan) “laju crawl akan mulai meningkat lagi secara otomatis.” Anda tidak perlu mengajukan apa pun atau meminta crawl ulang. Perhatikan kata-katanya: Google mengatakan “starts increasing,” (terjemahan) “mulai meningkat,” bukan “instantly returns to your prior rate.” (terjemahan) “langsung kembali ke laju sebelumnya.” Anggap pemulihan sebagai arah yang didokumentasikan tanpa jadwal tetap atau titik akhir yang dijamin, bukan SLA.

Evidence for this claim Google says crawl rate automatically starts increasing after the number of overload responses falls; this describes direction, not an immediate return, fixed recovery time, or guaranteed prior crawl rate. Scope: hostname crawl-load incidents Confidence: high · Verified: Reduce Google crawl rate

(Bandingkan dengan masalah sebaliknya—ingin Google merayapi Anda lebih sedikit secara permanen. Jika menyajikan galat tidak memungkinkan, Google menyarankan “file a special request to report a problem with unusually high crawl rate” (terjemahan) “ajukan permintaan khusus untuk melaporkan masalah laju crawl yang sangat tinggi”—jalur manual yang dapat memakan waktu berhari-hari dan tidak dijamin. Pemulihan tidak memiliki hambatan seperti itu.)

How Bing handles 429

Bingbot banyak dilaporkan berperilaku serupa—sinyal 429/500/503 menunjukkan beban berlebih dan Bingbot mengurangi laju—meskipun saya tidak dapat mengonfirmasi sendiri redaksi terkini pada halaman bantuan Bing dalam riset ini (halamannya berupa SPA yang dirender JavaScript dan tidak menghasilkan teks statis yang dapat diambil). Perlakukan klaim kesetaraan itu sebagai laporan industri, bukan sesuatu yang telah saya verifikasi terhadap dokumentasi Bing saat ini. Yang dikonfirmasi Bing dalam panduan historisnya adalah dua kontrol proaktif yang tidak ditawarkan Google dalam bentuk yang sama:

  • Crawl Control di Bing Webmaster Tools adalah kisi permintaan per detik untuk mengatur kecepatan Bingbot berdasarkan jam.
  • Direktif crawl-delay pada robots.txt. Panduan Bing Webmaster saat ini mendokumentasikan nilai 1–20 detik. Ini khusus Bing; direktif ini tidak membatasi Googlebot.

Jadi, di Bing Anda dapat membatasi laju secara proaktif dengan crawl-delay atau Crawl Control, bukan secara reaktif dengan kode status. (Google menghentikan penggeser laju crawl manualnya pada 2024 dan kini sepenuhnya mengandalkan respons server Anda.)

Catatan: halaman Crawl Control dan bantuan galat crawl Bing saat ini dirender JavaScript; redaksi crawl-delay di atas berasal dari posting blog Bing tahun 2009, yaitu panduan yang masih dipertahankan, bukan tangkapan layar UI saat ini. Klaim kesetaraan 429 di atas serta keadaan crawl-delay/Crawl Control sekarang sama-sama perlu ditinjau terhadap dokumentasi Bing primer terkini—konfirmasikan redaksi masa kini di Bing Webmaster Tools sebelum mengutipnya sebagai fakta terbaru.

Kapan Anda sengaja mengirim 429

Alasan yang sah untuk sengaja mengembalikan 429:

  • Beban server darurat—lonjakan trafik, migrasi yang gagal, atau pemadaman ketika Anda perlu Googlebot mengurangi laju sekarang juga selama beberapa jam.
  • Melindungi API dan endpoint non-HTML dari penyalahgunaan crawler/bot—crawler mesin pencari, crawler SEO pihak ketiga (Ahrefs, Screaming Frog), dan scraper semuanya dapat mencapai batas laju yang dibuat untuk menghentikan penyalahgunaan.

Yang bukan tujuan 429: memblokir secara permanen bot yang tidak Anda inginkan sama sekali. Jika Anda tidak pernah ingin sesuatu dirayapi, gunakan larangan robots.txt, bukan 429. Jika Anda ingin mempertahankan halaman tetapi mengeluarkannya dari indeks, gunakan noindex. 429 hanya berarti “nanti”, bukan “tidak pernah”.

429 yang tidak disengaja—penyebab umum

Ketika 429 muncul di laporan Page Indexing atau Crawl Stats GSC padahal Anda tidak sengaja membuatnya, sumbernya biasanya salah satu dari berikut ini—saya tidak mengetahui bukti yang baik untuk menentukan mana yang paling umum secara universal, jadi anggap ini sebagai daftar kandidat yang perlu dibuktikan atau disingkirkan, bukan diagnosis:

  • Aturan WAF/firewall salah memicu pada rentang IP crawler yang sah.
  • Batas laju bawaan hosting bersama atau CDN terlalu ketat untuk crawl nyata.
  • Alat manajemen bot salah mengklasifikasikan Googlebot atau Bingbot sebagai trafik berbahaya.
  • Middleware pembatasan laju agresif yang ditujukan untuk penyalahgunaan API ikut menangkap crawler Anda sendiri.

Sebelum mengubah ambang atau menulis aturan yang mengecualikan bot pencari nyata, tetapkan provenansinya terlebih dahulu — jangan menebak lapisan mana yang memiliki respons. Ambil header respons mentah, baris log permintaan yang tepat (bukan ringkasan dasbor), pengenal aturan atau zona pembatasan laju yang terpicu, kunci klien yang dihitung (IP, sesi, kunci API), rute, POP CDN atau lokasi edge, serta jendela waktu. Gabungan ini menunjukkan lapisan yang benar-benar mengeluarkan 429 dan apa yang dihitungnya — baru setelah itu masuk akal untuk melonggarkan batas atau menambahkan pengecualian. Verifikasi identitas crawler dengan DNS reverse-plus-forward (metode resmi Google), bukan hanya string user-agent — user-agent “Googlebot” palsu umum ditemukan. Lens Scripts memiliki perintah persisnya.

Ringkasan singkat playbook

  1. Gunakan 429 atau 503 dengan Retry-After untuk memperlambat crawler—jangan pernah 403 atau 404.
  2. Batasi selama beberapa jam atau 1–2 hari—setelah itu URL dapat dikeluarkan dari indeks.
  3. Ingat, pembatasan berlaku di seluruh hostname dan pulih otomatis ketika galat berhenti.
  4. Batasi cakupan pada trafik yang tepat dan verifikasi identitas crawler sebelum mengecualikan bot.

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.