403 Terlarang
Pahami arti HTTP 403 Forbidden, cara Google menangani halaman yang diblokir, penyebab umum seperti kontrol akses dan WAF, serta langkah memperbaiki 403 untuk SEO.
Bahasa
1 sinyal bukti di halaman ini
- Alat aktif terkaitHTTP Status & Redirect Checker
403 Forbidden berarti server memahami permintaan tetapi menolak akses; penolakan itu tidak harus berkaitan dengan kredensial. Berbeda dari 404 dan 401, 403 adalah penolakan aktif. Untuk SEO, halaman yang terus mengembalikan 403 kepada Googlebot tidak diindeks dan halaman yang sudah diindeks dapat dihapus, dengan hasil yang menyerupai noindex tetapi melalui mekanisme berbeda karena Google tidak dapat membaca konten dari respons 4xx. Googlebot tidak pernah mengirim kredensial, sehingga 403 pada halaman publik layak diselidiki—penyebabnya bisa CDN/WAF, blokir IP atau user-agent, plugin keamanan, atau kesalahan izin. Jangan gunakan 403 untuk throttle crawling; gunakan 429/503 sebentar bila memang perlu. Periksa niat terlebih dahulu karena 403 pada staging, admin, atau konten berpagar sering kali benar.
TL;DR — 403 Forbidden berarti server memahami permintaan tetapi menolaknya—peminta tidak memiliki izin. Ini berbeda dari 404 (“nothing here” (terjemahan) “tidak ada apa-apa di sini”) dan 401 (“log in first” (terjemahan) “login terlebih dahulu”). Untuk SEO, halaman yang terus mengembalikan 403 kepada Googlebot tidak akan diindeks; jika sebelumnya sudah diindeks, halaman itu akan keluar dari indeks. Jadi, jika halaman tersebut ingin Anda ditemukan orang, 403 adalah masalah yang perlu diperbaiki.
Apa sebenarnya arti 403
Jika Anda pengunjung yang baru saja menemukan 403 di situs yang tidak Anda kelola: itu adalah aturan di sisi server, bukan masalah browser. Coba jaringan atau perangkat lain, pastikan situs tidak memblokir VPN Anda, dan hapus cookie—tetapi jika tetap terjadi, perbaikannya ada di sisi pemilik situs, dan sisa artikel ini ditulis untuk mereka.
Saat Anda (atau bot mesin pencari) meminta halaman, server mengirimkan kode status. 200 berarti “here it is.” (terjemahan) “ini dia.” 403 Forbidden berarti “I understood what you asked for, and I’m refusing to give it to you.” (terjemahan) “Saya memahami permintaan Anda, tetapi menolak memberikannya.” Penolakan itu tidak harus berkaitan dengan kredensial—server dapat menolak karena alasan lain, dan bahkan boleh mengirim 404 jika ingin menyembunyikan bahwa sumber daya terlarang itu ada. Evidence for this claim A 403 response means the server understood the request but refuses to fulfill it, and authenticating does not necessarily make a difference. Scope: RFC 9110 defines the protocol semantics; it does not identify the application, firewall, or policy responsible for a specific response. Confidence: high · Verified: IETF: RFC 9110 §15.5.4 — 403 Forbidden
Cara termudah membedakan kode 4xx:
- 404 Not Found—“There’s nothing here.” (terjemahan) “Tidak ada apa-apa di sini.” Halaman tidak ada.
- 403 Forbidden—“There’s something here, but you can’t have it.” (terjemahan) “Ada sesuatu di sini, tetapi Anda tidak boleh mengaksesnya.” Blokir aktif.
- 401 Unauthorized—“You need to log in / authenticate first.” (terjemahan) “Anda harus login / melakukan autentikasi terlebih dahulu.” (403 lebih tegas: login pun tidak akan membantu.)
Jadi 403 bukan berarti server rusak. Server bekerja persis seperti yang diperintahkan—pertanyaannya, apakah ia diperintahkan melakukan hal yang benar.
Mengapa ini penting untuk SEO
Googlebot harus dapat mengambil halaman agar bisa mengindeksnya. Jika meminta halaman Anda lalu mendapat 403, Google tidak dapat membaca konten apa pun dari respons itu—akses ditolak sebelum prosesnya sejauh itu. Google tidak akan mengindeks halaman yang mengembalikan 403, dan halaman yang sudah diindeks akhirnya akan keluar dari hasil jika terus mengembalikannya. Hasil akhirnya mirip menambahkan noindex: halaman menghilang dari Google, tetapi mekanismenya berbeda. Tag noindex harus diambil dan dibaca, sedangkan 403 mencegah Google membaca apa pun sejak awal. Evidence for this claim Google does not index 4xx URLs and removes already-indexed 4xx URLs over time. Scope: Google's crawler documentation supports the indexing outcome for persistent 403 responses, not the article's analogy to noindex. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers
Inilah sisi 403 yang perlu dipahami: Googlebot tidak pernah login. Ia tidak mengirim kata sandi atau kredensial. Jadi 403—yang sering berarti “kredensial Anda tidak diterima”—tidak dapat bermakna demikian, khususnya bagi Googlebot. Namun itu tidak otomatis berarti kesalahan; blokirnya bisa disengaja (situs staging, area admin, atau konten berpagar yang memang tidak ingin Anda crawl). Artinya, 403 pada halaman yang ingin Anda jadikan publik layak diselidiki—aturan keamanan, firewall, atau plugin mungkin menganggap Googlebot mencurigakan. Panduan Google juga memiliki ruang lingkup yang sama: jika ingin halaman diindeks, izinkan Googlebot tanpa autentikasi.
Penyebab yang umum
Saya tidak memiliki data kuat tentang penyebab yang paling sering—anggap ini checklist, bukan daftar peringkat:
- CDN atau firewall (WAF) memblokir bot—Bot Fight Mode Cloudflare sering menjadi penyebab, menangkap Googlebot bersama bot buruk.
- Aturan server atau hosting memblokir alamat IP atau user-agent tertentu.
- File
robots.txtatau.htaccesssalah konfigurasi. - Plugin keamanan (misalnya Wordfence di WordPress) terlalu agresif.
- Dinding login—apa pun di balik autentikasi akan menghasilkan 403 untuk bot, dan ini sering disengaja, bukan bug.
- Kesalahan izin file di server.
Jalur perbaikan singkat
- Di Google Search Console, buka laporan Page Indexing dan cari “Blocked due to access forbidden (403).” (terjemahan) “Diblokir karena akses terlarang (403).”
- Jalankan URL melalui alat URL Inspection dan tekan Test Live URL untuk melihat apa yang diterima Googlebot saat ini.
- Jika menggunakan Cloudflare atau CDN/firewall lain, periksa log keamanannya untuk melihat apakah Googlebot diblokir, lalu izinkan bot pencari yang terverifikasi.
- Setelah aturan diperbaiki, gunakan Validate Fix di Search Console.
Satu hal yang jangan dilakukan: jangan pernah memakai 403 untuk mencoba memperlambat Googlebot. Itu tidak berhasil dan dapat membuat halaman Anda dihapus dari indeks. Jika bot membebani server, gunakan 429 dan 503.
Ingin versi mendalam—diagnosis Cloudflare/WAF, jebakan 403 pada robots.txt, dan cara mengizinkan bot dengan benar? Beralihlah ke tab Advanced.
TL;DR — 403 berarti server memahami permintaan lalu menolaknya berdasarkan akses—berbeda dari 404 (hilang) dan 401 (autentikasi). Untuk pengindeksan, hasilnya menyerupai
noindex: Google tidak mengindeks URL 403 dan menghapus URL yang sudah diindeks, walau mekanismenya (blokir server/CDN/WAF) sama sekali berbeda dari meta tag. Karena Googlebot tidak pernah mengirim kredensial, 403 kepada Googlebot hampir selalu salah konfigurasi—paling sering penyaringan bot CDN/WAF (Bot Fight Mode Cloudflare), blokir IP/UA server, plugin keamanan, atau.htaccess/izin. 403 tidak memengaruhi laju crawl—jangan gunakan untuk throttle (gunakan 429/503). Dan kasus kebalikannya penting: 403 pada robots.txt sendiri diperlakukan permisif, sedangkan 403 pada halaman adalah blokir keras.
403 vs 401 vs 404—bangun model mental yang benar
Ketiganya terus-menerus tercampur, padahal perbedaannya menentukan diagnosis. Definisi dasarnya berasal dari spesifikasi HTTP, RFC 9110 §15.5.4: server memahami permintaan tetapi menolak memenuhinya. Beberapa nuansa di bagian yang sama lebih penting daripada yang sering diakui:
- Penolakan tidak harus tentang kredensial. RFC 9110 mengizinkan 403 karena alasan yang tidak terkait autentikasi—403 tidak selalu membuktikan peminta “dikenal” atau kredensial terlibat. Jangan membaca setiap 403 sebagai cerita autentikasi.
- 403 tidak harus mengakui sumber daya itu ada. Spesifikasi secara eksplisit mengizinkan origin server yang ingin menyembunyikan keberadaan sumber daya terlarang untuk merespons dengan 404. Jadi sebaliknya juga benar: 404 tidak selalu berarti “tidak pernah ada”—kadang berarti “ada, tetapi saya tidak ingin Anda tahu.”
- 401 vs. 403 bukan sekadar “lebih lemah vs. lebih kuat.” 401 adalah tantangan autentikasi—spesifikasi mengharuskannya membawa header
WWW-Authenticateyang memberi tahu cara autentikasi. 403 tidak memiliki kewajiban tersebut; ini penolakan lebih luas yang tidak menjanjikan autentikasi ulang (dengan kredensial yang sama atau berbeda) akan mengubah hasil. Versi bahasa sederhana MDN: 403 “similar to 401, except that … authenticating or re-authenticating makes no difference. The request failure is tied to application logic, such as insufficient permissions.” (terjemahan) “mirip dengan 401, kecuali autentikasi atau autentikasi ulang tidak mengubah apa pun; kegagalan terkait logika aplikasi seperti izin yang tidak memadai.” Evidence for this claim A 403 response means the server understood the request but refuses to fulfill it, and authenticating does not necessarily make a difference. Scope: RFC 9110 defines the protocol semantics; it does not identify the application, firewall, or policy responsible for a specific response. Confidence: high · Verified: IETF: RFC 9110 §15.5.4 — 403 Forbidden - 404 Not Found, sebagai pembanding, biasanya berarti “tidak ada apa-apa di sini”, meski lihat poin penyembunyian di atas.
Perbedaan itu menjelaskan mengapa 403 kepada Googlebot layak diperiksa lagi, bukan diterima begitu saja. 401 kepada bot pada halaman khusus anggota mungkin berfungsi—area itu memang memerlukan login. 403 kepada bot pada halaman yang seharusnya publik berarti suatu aturan memutuskan peminta tidak diterima; namun, seperti di bawah, pastikan dahulu halaman itu memang dimaksudkan publik sebelum menyebutnya bug.
Cara Google menangani 403 (hasil menyerupai noindex; mekanismenya tidak)
Google memasukkan 403 ke keluarga 4xx lainnya. Dari dokumentasi Search Central: “Google doesn’t index URLs that return a 4xx status code, and URLs that are already indexed and return a 4xx status code are removed from the index.” (terjemahan) “Google tidak mengindeks URL yang mengembalikan kode status 4xx, dan URL yang sudah diindeks lalu mengembalikan kode status 4xx dihapus dari indeks.” Selain itu: “All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.” (terjemahan) “Semua kesalahan 4xx, kecuali 429, diperlakukan sama: crawler Google memberi tahu sistem pemrosesan berikutnya bahwa konten tidak ada.” Google juga mencatat frekuensi crawl URL yang sudah dikenal berkurang bertahap semakin lama URL mengembalikan 4xx—efek per-URL, terpisah dari laju crawl situs secara keseluruhan. Evidence for this claim Google does not index 4xx URLs and removes already-indexed 4xx URLs over time. Scope: Google's crawler documentation supports the indexing outcome for persistent 403 responses, not the article's analogy to noindex. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers
Jadi hasilnya menyerupai noindex: halaman tidak masuk indeks, dan jika sudah ada, keluar seiring waktu. Namun mekanismenya benar-benar berbeda, bukan hanya kosmetik: tag noindex harus diambil dan diparsing dari HTML agar berlaku, sedangkan 403 menghentikan Google membaca konten apa pun—tidak ada halaman untuk diproses. Dua jalur berbeda yang kebetulan berujung pada hasil sama, yaitu tidak muncul di Penelusuran. Karena itu, dalam panduan HTTP Status Codes saya saya menyebut 403 sebagai “the client is known but doesn’t have access rights,” (terjemahan) “klien dikenal tetapi tidak memiliki hak akses,” dan mencatat bahwa 4xxs membuat halaman keluar dari indeks—meski “dikenal” di sana adalah ringkasan laporan Google, bukan klaim bahwa setiap 403 melibatkan peminta berkredensial.
Mengapa 403 kepada Googlebot layak diselidiki (tidak selalu kesalahan)
Bagian ini bertumpu pada dokumen bantuan Page Indexing Google. Untuk halaman yang memang ingin diindeks, Google menjelaskan bahwa Googlebot tidak pernah memberikan kredensial; karena itu 403 yang muncul sebagai penolakan kredensial menandakan konfigurasi akses yang keliru dan halaman tidak akan diindeks. Bacalah dalam konteks: ini panduan khusus laporan untuk halaman yang diasumsikan ingin Anda indeks, bukan klaim universal bahwa setiap 403 kepada Googlebot adalah bug. Googlebot tidak melakukan autentikasi, sehingga 403 yang dirumuskan sebagai “kredensial Anda tidak cukup” tidak sepenuhnya berlaku—tetapi banyak 403 tidak berkaitan dengan kredensial, dan server dapat secara sah memutuskan Googlebot (atau siapa pun) tidak memperoleh sumber daya, titik.
Sebelum mengejar perbaikan, tanyakan: apakah ini halaman yang benar-benar ingin Anda jadikan publik dan indeks? Jika staging, area admin, paywall, atau apa pun yang digate, 403 kepada Googlebot benar dan tidak perlu diperbaiki (lihat “Kapan 403 sebenarnya wajar” di bawah). Jika memang publik, kemungkinan besar aturan salah mengenai peminta—WAF menandai crawler, blokir rentang IP mencakup rentang Google, atau plugin keamanan terlalu paranoid—tetapi saya tidak memiliki data andal tentang frekuensi tiap penyebab, jadi anggap daftar berikut kandidat pemeriksaan, bukan diagnosis. Panduan Google untuk halaman yang seharusnya publik: izinkan pengguna tanpa login, atau izinkan Googlebot tanpa autentikasi setelah identitasnya diverifikasi.
403 tidak memengaruhi laju crawl—jangan gunakan untuk throttle
Orang kadang memakai 403 (atau 404) agar Googlebot mundur dari server yang kewalahan. Jangan. Google tegas bahwa 401 dan 403 bukan alat pembatasan laju crawl: kode 4xx selain 429 tidak memengaruhi laju tersebut. Perhatikan ruang lingkupnya: Google secara terpisah mengatakan frekuensi crawl URL yang dikenal berkurang semakin lama URL menghasilkan 4xx—itu penyempitan minat pada satu URL, bukan throttle laju crawl seluruh situs. Jika membutuhkan yang terakhir, 403 tidak melakukannya.
Gary Illyes menulis artikel khusus tentang ini (Don’t 404 my yum): “All 4xx HTTP status codes (again, except 429) will cause your content to be removed from Google Search.” (terjemahan) “Semua kode status HTTP 4xx (sekali lagi, kecuali 429) akan membuat konten Anda dihapus dari Google Penelusuran.” Tuas darurat yang benar adalah 500, 503, atau 429 selama jendela singkat (jam, bukan hari) —dan itu pun bukan izin bebas: Google memperingatkan respons 5xx yang menetap berhari-hari juga berisiko menghapus halaman dari indeks. Barry Schwartz merangkum dampak insiden sebelumnya: situs “lost load[s] of their pages from our index because they were serving them with a 403 status code instead of a 503.” (terjemahan) “kehilangan banyak halaman dari indeks karena menyajikannya dengan kode 403, bukan 503.” 503 dipahami sementara; 403 membuat Anda dihapus dari indeks.
Jebakan robots.txt: 403 pada robots.txt permisif, bukan restriktif
Inilah perbedaan yang hampir selalu dilewatkan artikel lain, dan ini membalik intuisi. 403 pada halaman adalah blokir keras. Namun 403 pada file robots.txt itu sendiri diperlakukan sebaliknya. Dari spesifikasi robots.txt Google: “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (terjemahan) “Crawler Google memperlakukan semua kesalahan 4xx, kecuali 429, seolah-olah file robots.txt yang valid tidak ada. Artinya Google menganggap tidak ada pembatasan crawl.” Evidence for this claim A 403 on `/robots.txt` is handled differently from a 403 on a page: Google treats a non-429 4xx robots response as if no valid robots file exists and assumes no restrictions from that file. Scope: robots.txt fetch only Confidence: high · Verified: How Google interprets the robots.txt specification
Jika firewall mulai mengembalikan 403 untuk robots.txt, Google menyimpulkan Anda tidak memiliki aturan dan crawl dengan bebas—termasuk jalur yang ingin Anda larang. Versi Illyes yang berwarna: jika ada aturan yang melarang “dirty laundry” (terjemahan) “aib Anda”, kini Googlebot juga mengetahuinya. Jangan samakan “robots.txt saya mengembalikan 403” (Google mengabaikan aturan) dengan “halaman saya mengembalikan 403” (URL dihapus dari indeks). Efeknya berlawanan, dan salah mendiagnosis membuat Anda memperbaiki hal yang keliru.
Cara Bing menangani 403
Sejujurnya, dokumentasi publik Bing tentang 403 lebih tipis daripada dokumentasi Google, jadi saya membatasi klaim. Bingbot ditolak oleh mekanisme yang sama dengan Googlebot—aturan robots.txt, blokir IP/user-agent di tingkat server, dan aturan WAF/firewall. Bing Webmaster Tools menampilkan kesalahan crawl melalui peringatan crawl-error. Kesimpulan praktisnya sama di kedua mesin: izinkan crawler terverifikasi melewati lapisan keamanan, dan verifikasi bot melalui rentang IP yang dipublikasikan serta reverse DNS, bukan dengan mempercayai string user-agent. Memperbaiki Googlebot tidak otomatis memperbaiki semua bot; periksa alat kedua mesin setelah perubahan WAF.
Penyebab umum (tidak diurutkan—saya tidak memiliki data prevalensi lintas situs)
Perlindungan bot CDN/WAF—penyebab yang paling kurang dilayani dalam konten SEO saat ini. Saya akan mulai memeriksa ini pada 2026, meski tidak dapat memastikan seberapa sering dibanding penyebab lain. Bot Fight Mode dan Super Bot Fight Mode Cloudflare, WAF Managed Rules, serta aturan firewall khusus rutin mengembalikan 403 kepada Googlebot dan Bingbot sebagai kerusakan sampingan. Tandanya: blokir terjadi di edge, sehingga server origin dan CMS terlihat bersih sementara GSC tetap melaporkan 403. Periksa Security Events di dasbor CDN untuk melihat crawler ditantang atau diblokir.
2. Blokir IP atau user-agent di tingkat server/hosting. Sebagian host memblokir berdasarkan user-agent atau membatasi laju secara default, dan blokir rentang IP untuk lalu lintas abusif dapat menangkap rentang crawler.
3. Salah konfigurasi robots.txt / .htaccess. Deny from yang tersisa atau aturan rewrite rusak dapat melarang seluruh direktori. (Ingat jebakan robots.txt di atas.)
4. Plugin keamanan. Wordfence, iThemes Security, dan alat serupa dikirim dengan default pemblokiran bot agresif yang dapat menangkap crawler sah.
5. Dinding login / konten terautentikasi. Apa pun di balik autentikasi akan menghasilkan 403s untuk bot—Googlebot tidak pernah login. Ini sering disengaja (lihat bagian terakhir).
6. Kesalahan izin file/direktori. Penyebab klasik admin server. Di WordPress, Rank Math mendokumentasikan nilai wajar—direktori 755/750, file 644/640, wp-config.php 400/440—serta “regenerate .htaccess” melalui pengaturan Permalinks sebagai perbaikan umum.
7. Malware / situs yang disusupi menyuntikkan aturan akses buruk, dan 8. pemblokiran geo yang tidak sengaja menangkap rentang IP crawler.
Mendiagnosis 403—pisahkan lapisan mana yang mengeluarkannya
Sebagian besar panduan langsung menyuruh “nonaktifkan plugin”. Keterampilan sebenarnya adalah menemukan lapisan yang menolak permintaan—kode status 403 saja tidak memberi tahu; Anda memerlukan header respons, log, atau entri peristiwa keamanan yang menunjuk CDN, WAF, aplikasi, host, izin, geografi, atau cache sebelum menyebut penyebab. Jangan langsung menyimpulkan “pasti WAF” tanpa bukti. Berikut perbedaan perbaikannya menurut lapisan:
- GSC Page Indexing → “Blocked due to access forbidden (403)” untuk melihat URL terdampak, lalu URL Inspection → Test Live URL untuk respons langsung.
- Reproduksi dengan curl, ganti user-agent, untuk memastikan status yang dikirim server:
Jika UA browser biasa mendapat# As a generic client curl -I https://example.com/page/ # Spoofing Googlebot's UA (tests UA-based rules) curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/page/200tetapi UA Googlebot mendapat403, Anda menemukan aturan user-agent. - Periksa status robots.txt sendiri (apakah juga 403? masalahnya berbeda—lihat di atas).
- Tinjau Security Events CDN/WAF untuk crawler yang ditantang atau diblokir.
- Verifikasi crawler benar-benar Googlebot melalui reverse + forward DNS, bukan string UA (yang mudah dipalsukan).
- Isolasi dengan menonaktifkan bertahap—satu aturan WAF atau plugin setiap kali—sampai 403 hilang.
Memperbaikinya—allowlist bot dengan cara yang benar
Perbaikan yang menggoda adalah mengizinkan string user-agent Googlebot. Jangan berhenti di sana—string UA mudah dipalsukan, jadi allowlist hanya berdasarkan UA adalah celah keamanan yang membiarkan scraper mana pun yang mengaku Googlebot masuk. Verifikasi dengan benar:
- Konfirmasikan bot melalui reverse DNS + forward DNS atau terhadap rentang IP yang dipublikasikan Google/Bing.
- Sebagian besar CDN/WAF menyediakan kategori “verified bots” yang melakukan validasi ini; pilih itu daripada aturan UA mentah.
- Perbaiki aturan spesifik (WAF managed rule, satu aturan firewall, satu setelan plugin), bukan menonaktifkan seluruh keamanan.
- Lalu Validate Fix di laporan Page Indexing GSC dan, bila mendesak, minta pengindeksan ulang melalui URL Inspection.
Kapan 403 sebenarnya wajar—jangan “perbaiki” ini
Tidak setiap 403 adalah bug. 403 tepat dan disengaja untuk situs staging, area admin, bagian privat anggota, dan konten berbayar/berpagar yang memang tidak ingin Anda indeks. Dalam audit Ahrefs atau Screaming Frog, 403 pada area itu bukan masalah—perbaikan hanya diperlukan jika halaman yang seharusnya publik dan dapat diindeks terblokir tanpa sengaja. Jangan refleks menyelesaikan setiap 403 dari audit; pastikan dulu halaman memang ingin Anda masukkan ke indeks.
Untuk keluarga yang lebih luas—perbedaan 4xx dan 5xx, serta posisi 403—lihat panduan Kode Status HTTP dan Dampaknya bagi SEO saya, serta pendalaman saudara 401 Unauthorized dan 404 Not Found dalam klaster ini.
Ringkasan AI
Ringkasan versi Advanced:
- 403 = “understood, but refused.” (terjemahan) “dipahami, tetapi ditolak.” Menurut RFC 9110, penolakan tidak harus tentang kredensial, dan server bahkan dapat mengirim 404 untuk menyembunyikan keberadaan sumber daya terlarang. Berbeda dari 404 (biasanya tidak ada) dan 401 (tantangan autentikasi spesifik yang memerlukan header
WWW-Authenticate) —autentikasi ulang tidak selalu memperbaiki 403. - Hasil pengindeksan menyerupai
noindex, tetapi mekanismenya berbeda. Tagnoindexharus diambil dan dibaca; 403 menghalangi Google membaca konten apa pun. Keduanya membuat halaman tidak muncul di Penelusuran melalui jalur berbeda. - 403 kepada Googlebot layak diselidiki, bukan otomatis kesalahan. Pastikan dulu halaman memang publik. Jika ya, penyebabnya mungkin aturan yang salah terpicu (WAF, blokir IP, plugin keamanan) —tetapi tidak ada data andal tentang penyebab paling umum, jadi perlakukan sebagai checklist, bukan peringkat.
- 403 tidak memengaruhi laju crawl seluruh situs. Frekuensi crawl URL yang dikenal menurun semakin lama menghasilkan 4xxs, tetapi itu bukan throttle situs. Jangan gunakan 401/403 untuk throttle Googlebot; gunakan 429/503/500 sebentar—dan itu pun berisiko menghapus indeks jika terlalu lama.
- Jebakan robots.txt (efek berlawanan): 403 pada halaman adalah blokir keras; 403 pada robots.txt sendiri diperlakukan permisif—Google menganggap tidak ada aturan crawl.
- Diagnosis berdasarkan bukti, bukan asumsi. 403 tanpa konteks tidak mengidentifikasi sumbernya—konfirmasikan melalui header respons, log, atau peristiwa keamanan CDN sebelum menyalahkan lapisan tertentu. GSC Page Indexing + Test Live URL → curl dengan/tanpa UA Googlebot → CDN Security Events → verifikasi bot melalui DNS/IP, bukan UA → nonaktifkan bertahap.
- Perbaikan: allowlist bot yang terverifikasi (DNS/IP atau kategori CDN “verified bots”), bukan string UA mentah. Lalu Validate Fix di GSC.
- Sebagian 403 memang benar: staging, admin, anggota, dan konten berbayar—jangan “perbaiki”. Periksa niat sebelum menganggap bug.
Dokumentasi resmi
Dokumentasi sumber utama tentang penanganan 403 dan keluarga 4xx.
Protokol
- RFC 9110 §15.5.4: 403 Forbidden —spesifikasi HTTP dasar: penolakan tidak harus tentang kredensial, dan origin dapat mengirim 404 untuk menyembunyikan sumber daya terlarang.
- Cara kode status HTTP memengaruhi crawler Google —pernyataan definitif bahwa URL 4xx (kecuali 429) dihapus dari indeks dan tidak memengaruhi laju crawl.
- Laporan Page Indexing—Bantuan Search Console —status “Blocked due to access forbidden (403)” dan penjelasan “Googlebot tidak pernah memberikan kredensial”.
- Jangan gunakan 403 atau 404 untuk pembatasan laju —Gary Illyes, Februari 2023, tentang mengapa 4xx bukan alat throttle crawl.
- Mengurangi laju crawl Google —pendekatan benar: kembalikan 500/503/429 sebentar, bukan 403/404.
- Cara Google menafsirkan spesifikasi robots.txt —nuansa bahwa 4xx pada robots.txt diperlakukan sebagai tanpa pembatasan.
- Memverifikasi Googlebot —reverse DNS dan rentang IP yang dipublikasikan untuk allowlist dengan benar.
Bing / Microsoft
- Daftar peringatan kesalahan crawl—Bing Webmaster Tools —kategori kesalahan crawl Bing.
CDN/WAF
- Deteksi bot palsu yang memblokir permintaan sah —dokumentasi Cloudflare tentang aturan fake-bot terkelola yang dapat menghasilkan blokir false positive, berguna untuk mengonfirmasi (bukan mengasumsikan) lapisan penerbit.
Referensi web umum
- MDN—403 Forbidden —definisi dasar yang otoritatif dan perbedaan 401-vs-403 yang jelas.
Kutipan dari sumber
Pernyataan tercatat. Setiap tautan adalah deep link yang melompat ke bagian kutipan pada halaman sumber.
Google—cara 4xx / 403 ditangani
- “Google doesn’t use the content from URLs that return 4xx status codes… Google doesn’t index URLs that return a 4xx status code, and URLs that are already indexed and return a 4xx status code are removed from the index.” (terjemahan) “Google tidak menggunakan konten dari URL yang mengembalikan kode status 4xx… Google tidak mengindeks URL yang mengembalikan kode status 4xx, dan URL yang sudah diindeks lalu mengembalikan kode status 4xx dihapus dari indeks.” — Dokumentasi Google Search Central. Lompat ke kutipan
- “All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.” (terjemahan) “Semua kesalahan 4xx, kecuali 429, diperlakukan sama: crawler Google memberi tahu sistem pemrosesan berikutnya bahwa konten tidak ada.” Lompat ke kutipan
- “Don’t use 401 and 403 status codes for limiting the crawl rate. The 4xx status codes, except 429, have no effect on crawl rate.” (terjemahan) “Jangan gunakan kode status 401 dan 403 untuk membatasi laju crawl. Kode status 4xx, kecuali 429, tidak memengaruhi laju crawl.” Lompat ke kutipan
Google—poin “Googlebot tidak pernah melakukan autentikasi”
- “HTTP 403 means that the user agent provided credentials, but was not granted access. However, Googlebot never provides credentials, so your server is returning this error incorrectly. The page will not be indexed.” (terjemahan) “HTTP 403 berarti agen pengguna memberikan kredensial tetapi tidak diberi akses. Namun Googlebot tidak pernah memberikan kredensial, jadi server Anda mengembalikan kesalahan ini secara tidak benar. Halaman tidak akan diindeks.” — Bantuan Search Console, “Blocked due to access forbidden (403)”. Lompat ke kutipan
Gary Illyes, Google—jangan batasi laju dengan 4xx
- “All 4xx HTTP status codes (again, except 429) will cause your content to be removed from Google Search. What’s worse, if you also serve your robots.txt file with a 4xx HTTP status code, it will be treated as if it didn’t exist.” (terjemahan) “Semua kode status HTTP 4xx (sekali lagi, kecuali 429) akan membuat konten Anda dihapus dari Google Penelusuran. Yang lebih buruk, jika file robots.txt juga disajikan dengan kode status HTTP 4xx, file itu diperlakukan seolah-olah tidak ada.” — Blog Google Search Central, Februari 2023. Lompat ke kutipan
- “Return a 500, 503, or 429 HTTP status code to Googlebot when it’s crawling too fast.” (terjemahan) “Kembalikan kode status HTTP 500, 503, atau 429 kepada Googlebot ketika crawling terlalu cepat.” Lompat ke kutipan
Google—kebalikan 403 pada robots.txt
- “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (terjemahan) “Crawler Google memperlakukan semua kesalahan 4xx, kecuali 429, seolah-olah file robots.txt valid tidak ada. Artinya Google menganggap tidak ada pembatasan crawl.” — Cara Google Menafsirkan Spesifikasi robots.txt. Lompat ke kutipan
MDN—definisi umum dan perbedaan 401-vs-403
- “The HTTP 403 Forbidden client error response status code indicates that the server understood the request but refused to process it. This status is similar to 401, except that for 403 Forbidden responses, authenticating or re-authenticating makes no difference.” (terjemahan) “Kode status respons kesalahan klien HTTP 403 Forbidden menunjukkan bahwa server memahami permintaan tetapi menolak memprosesnya. Status ini mirip dengan 401, kecuali pada respons 403 Forbidden, autentikasi atau autentikasi ulang tidak mengubah apa pun.” — MDN Web Docs. Lompat ke kutipan
Barry Schwartz, Search Engine Roundtable—tingkat keparahan 403-vs-503 Laporan ulang tentang pernyataan Google, bukan halaman Google pihak pertama; URL sumber sendiri mengembalikan 403 kepada pengambil otomatis (ironi yang relevan) —konfirmasikan melalui browser sebelum menjadikannya final.
- Melaporkan peringatan Google: situs “lost load[s] of their pages from our index because they were serving them with a 403 status code instead of a 503.” (terjemahan) “kehilangan banyak halaman dari indeks karena menyajikannya dengan kode status 403, bukan 503.” Baca liputannya
Diagnosis 403—decision tree
Mulai dari apa yang benar-benar diterima Googlebot, lalu persempit berdasarkan lapisan.
Q1. Apakah 403 terjadi pada halaman yang ingin Anda indeks?
- Tidak (staging, admin, khusus anggota, berbayar) → kemungkinan benar. Biarkan. Berhenti di sini.
- Ya → lanjutkan.
Q2. Apakah yang mengembalikan 403 adalah halaman atau robots.txt?
- robots.txt mengembalikan 403 → masalah berbeda: Google mengabaikan semua aturan crawl (menganggap robots.txt tidak ada). Perbaiki robots.txt agar mengembalikan
200; 403 halaman bisa menjadi masalah terpisah. - Halaman mengembalikan 403 → lanjutkan.
Q3. Apakah curl mereproduksinya—dan apakah bergantung pada user-agent?
curl -I https://example.com/page/
curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/page/- UA browser = 200, UA Googlebot = 403 → aturan user-agent memblokir bot (WAF, konfigurasi server, atau plugin). Lanjut ke Q4.
- Keduanya = 403 → blokir lebih luas (rentang IP, izin direktori,
.htaccessDeny). Periksa konfigurasi server dan izin file. - Keduanya = 200 tetapi GSC tetap menampilkan 403 → blokir kemungkinan di edge/CDN, berdasarkan IP atau status bot terverifikasi. Lanjut ke Q4 dan periksa CDN Security Events.
Q4. Apakah Anda berada di balik CDN/WAF (Cloudflare dan sejenisnya)?
- Ya → periksa Security Events untuk crawler yang ditantang/diblokir. Curigai Bot Fight Mode / Super Bot Fight Mode, WAF Managed Rules, atau aturan firewall khusus. Izinkan bot pencari yang terverifikasi (bukan allowlist UA mentah).
- Tidak → periksa blokir IP/UA tingkat server, lalu plugin keamanan (Wordfence dan sejenisnya), kemudian
.htaccessdan izin file.
Q5. Aturannya sudah diperbaiki?
- Izinkan berdasarkan bot terverifikasi / DNS / rentang IP, jangan string UA saja → Validate Fix di GSC Page Indexing → minta pengindeksan ulang melalui URL Inspection jika mendesak.
Anti-pattern—kesalahan 403 yang terus saya lihat
Menggunakan 403 (atau 404) untuk memperlambat Googlebot. Mitosnya, 403 membatasi crawling. Tidak—4xx (kecuali 429) tidak memengaruhi laju crawl, dan justru menghapus halaman yang Anda beri 403. Jika perlu memperlambat crawl, kembalikan 429, 503, atau 500 selama jendela singkat (jam sampai satu-dua hari), atau gunakan laporan laju crawl Search Console. 403 tidak pernah menjadi alat kontrol crawl, bahkan sementara.
Memperlakukan 403 persis seperti 404 dalam audit. Keduanya akhirnya mengeluarkan URL dari indeks sehingga mudah dikelompokkan. Namun 404 biasanya berarti “hilang”, sedangkan 403 berarti “akses ditolak secara aktif”—kadang salah konfigurasi yang bisa diperbaiki, kadang blokir disengaja. Menyatukannya menutupi masalah sebenarnya. Diagnosis penyebab dan niat, bukan hanya hasil.
Menganggap Googlebot “melakukan sesuatu yang mencurigakan” hingga diblokir. Googlebot tidak pernah mengirim kredensial, jadi 403 yang dibingkai sebagai “kredensial buruk” tidak benar-benar berlaku. Itu tidak berarti setiap blokir bug; pastikan dahulu halaman dimaksudkan publik. Jika ya, jangan merasionalisasi blokir sebagai ulah Googlebot—temukan aturan yang terpicu (WAF, blokir IP, plugin).
Allowlist hanya berdasarkan string user-agent. String UA mudah dipalsukan, sehingga aturan allow if UA contains "Googlebot" mengundang setiap scraper yang berpura-pura menjadi Google. Verifikasi melalui reverse + forward DNS atau rentang IP yang dipublikasikan, atau gunakan kategori verified-bots CDN.
Mencampuradukkan 403 pada robots.txt dengan 403 pada halaman. Efeknya berlawanan. 403 pada halaman adalah blokir keras yang menghapusnya dari indeks. 403 pada robots.txt membuat Google menganggap Anda tidak memiliki aturan crawl—jalur yang ingin dilarang dapat di-crawl. Diagnosis yang mana sebelum memperbaiki apa pun.
“Memperbaiki” 403 yang disengaja. Situs staging, area admin, anggota, dan konten berbayar memang seharusnya memberi 403 kepada crawler. Menyelesaikan semua 403 dalam audit secara refleks dapat mengekspos hal yang tidak ingin Anda indeks. Pastikan halaman publik terlebih dahulu.
Kerangka niat, ruang lingkup, dan lapisan penerbit
Audit 403 menjadi lebih cepat jika saya menjawab tiga pertanyaan secara berurutan:
- Niat: apakah sumber daya ini harus publik? Biarkan blokir area privat yang disengaja. Perlakukan 403 pada halaman yang dapat diindeks sebagai insiden.
- Ruang lingkup: apakah kegagalan memengaruhi satu URL, satu direktori, satu user-agent, satu geografi, atau semua permintaan? Batasnya biasanya mengidentifikasi aturan yang bertanggung jawab lebih cepat daripada mengganti plugin secara acak.
- Lapisan penerbit: bandingkan peristiwa CDN/WAF, log akses origin, log aplikasi, dan header respons. Ubah lapisan pertama yang benar-benar mengeluarkan 403, bukan semua lapisan yang mungkin.
Setelah perbaikan, verifikasi akses anonim dan akses crawler terverifikasi secara terpisah. User-agent Googlebot yang diklaim berguna untuk mereproduksi aturan UA, tetapi bukan bukti identitas crawler.
Prompt: pisahkan 403 berdasarkan lapisan
Diagnose this HTTP 403 using only the evidence I paste. Classify the likely issuing
layer as CDN/WAF, web server, application/security plugin, filesystem permissions,
or intentional access control. Compare generic and claimed-bot responses, identify
which observation supports each conclusion, and give the smallest safe change plus
an anonymous curl test and Search Console validation. Do not recommend disabling all
security or trusting a user-agent string as identity.
[PASTE SANITIZED HEADERS, CURL OUTPUT, SECURITY EVENT, AND LOG LINES]Prompt: tinjau pengecualian WAF
Review this WAF rule intended to stop 403s for legitimate search crawlers. Check its
scope, whether crawler identity is verified, what non-crawler traffic it could admit,
and whether robots.txt behaves differently from page URLs. Return a least-privilege
rewrite, test cases, and rollback conditions. Do not invent provider syntax.
[PASTE RULE AND PROVIDER] Alat untuk mendiagnosis respons 403
- Bulk HTTP Status Code Checker: cari apakah blokir terisolasi atau memengaruhi pola URL tanpa membawa sesi login.
- HTTP Header Checker: periksa sidik jari CDN, ID permintaan, dan header keamanan yang membantu mengidentifikasi lapisan penerbit.
- Googlebot Verifier: validasi bukti IP sebelum mengizinkan crawler; jangan pernah menganggap user-agent saja sebagai bukti.
- Inspeksi URL dan Page Indexing Search Console: dapatkan kumpulan terdampak, uji respons langsung, dan validasi setelah perbaikan.
- Peristiwa keamanan CDN/WAF plus log origin: jika edge mencatat blokir sementara origin tidak mencatat permintaan, perbaikannya berada di edge.
Uji diri: 403 Forbidden
Lima pertanyaan singkat tentang arti 403 dan cara menanganinya. Pilih jawaban untuk setiap pertanyaan, lalu periksa hasilnya.
Sumber yang layak dibaca
Tulisan terkait saya
- Kode Status HTTP dan Dampaknya bagi SEO —rangkum 4xx/5xx, posisi 403, dan mekanisme “4xx mengeluarkan halaman dari indeks”.
- Panduan Pemula SEO Teknis —posisi masalah akses crawl/indeks seperti 403 dalam gambaran besar.
- Robots.txt dan SEO: Semua yang Perlu Anda Ketahui —nuansa 403 pada robots.txt dan cara kerja kontrol crawl.
Presentasi saya
- Cara Kerja Penelusuran (SlideShare) —alur crawl → render → indeks → sajikan; 403 adalah kegagalan di gerbang pertama. (Penafian tetap: “Ini pemahaman saya tentang sistem… tidak akan 100% lengkap atau akurat.”)
Dari industri
- Jangan gunakan 403 atau 404 untuk membatasi laju (Blog Google Search Central) —Gary Illyes tentang 4xx sebagai alat throttle yang salah.
- Mengurangi laju crawl Google (Google Search Central) —pendekatan 500/503/429 yang benar sebagai pembanding.
- Google memperingatkan penyalahgunaan kode status 403 (Search Engine Roundtable) —anekdot tingkat keparahan 403-vs-503 (verifikasi melalui browser; halaman memberi 403 kepada bot).
- Google: Jangan gunakan respons kesalahan 403/404 untuk membatasi Googlebot (Search Engine Journal) —liputan panduan 2023.
- Cara memperbaiki Blocked Due to Access Forbidden (403) di Google Search Console (SEOTesting) —struktur penyebab/perbaikan, termasuk pertanyaan apakah setiap 403 perlu diperbaiki.
- Cara memperbaiki Blocked Due to Access Forbidden (403) (Rank Math) —nilai
chmodWordPress dan alur Health Check. - Kode Status HTTP: Mengapa Situs Saya Tidak Bisa Di-crawl? (Screaming Frog) —diagnosis sisi crawler (pergantian UA, rendering JS, allowlist IP/UA).
Log perubahan
Diperbarui 22 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 6 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 6 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 6 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 6 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 6 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 17 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
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.