401 Tidak Terotorisasi

Pahami arti respons HTTP 401 Tidak Terotorisasi, perbedaannya dari 403 Forbidden, cara Google menangani halaman yang digate autentikasi, dan dampaknya bagi SEO.

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

401 Tidak Terotorisasi berarti permintaan tidak memiliki kredensial autentikasi yang valid, sehingga server meminta Anda masuk. Ini berbeda dari 403 Forbidden, tetapi untuk pengindeksan Google memperlakukan keduanya sama: Googlebot tidak pernah mengirim kredensial, jadi konten halaman 401 secara efektif tidak ada, tidak diindeks, dan dapat keluar dari indeks seiring waktu. 401 tepat untuk halaman staging dan area khusus anggota; masalah hanya muncul ketika mengenai halaman publik yang ingin Anda indeks. Kode ini juga tidak memengaruhi laju crawl situs secara keseluruhan.

TL;DR — 401 Tidak Terotorisasi adalah kesalahan klien (RFC 9110 §15.5.2, yang menggantikan RFC 7235) yang berarti permintaan tidak memiliki kredensial autentikasi yang valid—termasuk kredensial yang sudah dikirim tetapi ditolak, bukan hanya yang tidak pernah dikirim. 401 yang sesuai spesifikasi juga mengirim header WWW-Authenticate yang menyebutkan skema yang diharapkan. Ini berbeda dari 403 (penolakan yang tidak memerlukan tantangan tersebut dan bisa sama sekali tidak berkaitan dengan kredensial), tetapi Google memperlakukan semua 4xx kecuali 429 dengan cara sama untuk pengindeksan: kontennya “doesn’t exist” (Terjemahan: “tidak ada”), sehingga tidak diindeks dan URL yang sebelumnya diindeks akan turun dari indeks seiring waktu. Karena Googlebot biasa tidak pernah mengirim kredensial, 403 kepada Googlebot—menurut pernyataan Google sendiri—biasanya merupakan salah konfigurasi server. 401/403 tidak memengaruhi laju crawl seluruh situs (mitos yang sering diulang), walaupun URL individual yang terus menghasilkan 4xx akan lebih jarang di-crawl ulang. 401 adalah cara yang benar dan direkomendasikan Google untuk membatasi konten yang benar-benar privat; ini hanya masalah ketika mengenai halaman yang ingin Anda indeks. Untuk konten berbayar ada jalur yang disetujui, bukan 401 menyeluruh.

Apa sebenarnya 401 itu

401 Tidak Terotorisasi adalah respons kesalahan klien. Definisi MDN adalah penjelasan teknis yang paling jelas:

“The HTTP 401 Unauthorized client error response status code indicates that a request was not successful because it lacks valid authentication credentials for the requested resource. This status code is sent with an HTTP WWW-Authenticate response header that contains information on the authentication scheme the server expects the client to include to make the request successfully.” (terjemahan) “Kode status respons kesalahan klien HTTP 401 Tidak Terotorisasi menunjukkan bahwa permintaan tidak berhasil karena tidak memiliki kredensial autentikasi yang valid untuk sumber daya yang diminta. Kode status ini dikirim bersama header respons HTTP WWW-Authenticate yang berisi informasi tentang skema autentikasi yang diharapkan server untuk disertakan klien agar permintaan berhasil.”

Evidence for this claim A 401 response means the request lacks valid authentication credentials and the response must include a WWW-Authenticate challenge. Scope: RFC 9110 defines the status semantics and required challenge header; it does not prescribe a site's authentication product or login flow. Confidence: high · Verified: IETF: RFC 9110 §15.5.2 — 401 Unauthorized

Ada dua hal penting dari definisi itu. Pertama, “autentikasi”—peminta belum membuktikan identitasnya. Biasanya berarti kredensial hilang, tidak valid, atau kedaluwarsa, tetapi 401 juga dapat muncul setelah kredensial sudah dikirim lalu ditolak; jadi jangan menganggap tidak ada header autentikasi tanpa memeriksa permintaannya. Kedua, 401 yang sesuai spesifikasi harus membawa header WWW-Authenticate—menurut RFC 9110 §15.5.2, yang menggantikan RFC 7235—untuk memberi tahu klien skema yang diharapkan (HTTP Basic Auth, token Bearer, alur cookie sesi, dan sebagainya). Saat men-debug 401, header itu adalah hal pertama yang harus diperiksa: apakah ada sama sekali dan skema apa yang disebutkannya. Evidence for this claim A 401 response means the request lacks valid authentication credentials and the response must include a WWW-Authenticate challenge. Scope: RFC 9110 defines the status semantics and required challenge header; it does not prescribe a site's authentication product or login flow. Confidence: high · Verified: IETF: RFC 9110 §15.5.2 — 401 Unauthorized

Dalam panduan kode status saya sendiri, saya merangkum 401 sebagai: “the client hasn’t identified or verified itself when needed.” (terjemahan) “klien belum mengidentifikasi atau memverifikasi dirinya ketika diperlukan.” Itulah intinya—belum ada yang menyatakan identitasnya.

401 vs 403 Forbidden—perbedaan yang penting

Di sinilah banyak orang menjadi rancu, jadi mari kita pertegas. Dalam satu baris:

  • 401 = “Who are you?” (terjemahan) “Siapa Anda?”—kredensial hilang atau tidak valid; lakukan autentikasi lalu coba lagi.
  • 403 = “I know who you are, but no.” (terjemahan) “Saya tahu siapa Anda, tetapi tidak.”—permintaan dipahami, tetapi akses ditolak terlepas dari kredensial.

MDN menjelaskannya dengan cara yang sama:

“A 401 Unauthorized is similar to the 403 Forbidden response, except that a 403 is returned when a request contains valid credentials, but the client does not have permissions to perform a certain action.” (terjemahan) “401 Tidak Terotorisasi mirip dengan respons 403 Forbidden, kecuali 403 dikembalikan ketika permintaan berisi kredensial yang valid tetapi klien tidak memiliki izin untuk melakukan tindakan tertentu.”

Saya membuat kontras yang sama dalam panduan saya: 401 adalah “the client hasn’t identified or verified itself when needed,” (terjemahan) “klien belum mengidentifikasi atau memverifikasi dirinya ketika diperlukan,” sedangkan 403 adalah “the client is known but doesn’t have access rights.” (terjemahan) “klien sudah dikenal tetapi tidak memiliki hak akses.” Ini adalah perbedaan autentikasi dan otorisasi.

Ringkasan itu dapat diandalkan, tetapi berikut uji protokol yang lebih tajam jika Anda harus memilih di kode atau aturan WAF: 401 memerlukan tantangan WWW-Authenticate—RFC 9110 menyatakannya sebagai MUST—sedangkan 403 tidak wajib memilikinya karena penolakan 403 dapat disebabkan hal yang sama sekali tidak berkaitan dengan kredensial (blokir IP, aturan izin, atau kebijakan pembatasan laju). Jadi “apakah kredensial ada?” bukan cara yang andal untuk membedakan keduanya: 401 dapat mengikuti kredensial yang ditolak, bukan hanya yang hilang. Saat menentukan kode yang dikembalikan, tanyakan: apakah saya mengeluarkan tantangan autentikasi (401) atau penolakan langsung (403)?

Inilah twist SEO yang tidak terlalu terlihat, dan ini memang poin Google tentang 403. Googlebot biasa tidak pernah mengirim kredensial. Jadi 403 yang diberikan khusus kepada Googlebot berarti, menurut Google sendiri, server salah menanganinya:

Google memperingatkan bahwa 403 kepada Googlebot biasanya menandakan salah konfigurasi: Googlebot tidak pernah mengirim kredensial, sehingga penolakan yang dibingkai sebagai kredensial ditolak tidak semestinya terjadi. Halaman yang terus mengembalikan 403 tidak akan diindeks.

Itu diagnosis yang berguna. 401 kepada Googlebot dapat disengaja (halaman memang digate). 403 kepada Googlebot biasanya menunjukkan salah konfigurasi—Googlebot tidak mengirim kredensial, jadi tidak ada alasan untuk memicu respons “kredensial ditolak” untuknya. Jika Anda melihat 403 pada halaman yang seharusnya dapat dijangkau Googlebot, curigai konfigurasi CDN, WAF, atau server terlebih dahulu. (Ini menjelaskan crawler Google yang umum. Google mendokumentasikan crawler khusus dan pengambil yang dipicu pengguna sebagai kategori terpisah dengan perilaku masing-masing, jadi jangan menggeneralisasi aturan “tidak pernah mengirim kredensial” ke setiap integrasi produk Google tanpa memeriksanya.)

401 Unauthorized403 Forbidden
ArtiKredensial hilang/tidak valid—“siapa Anda?”Dipahami, tetapi akses ditolak—“saya tahu Anda, tetapi tidak”
Header wajibWWW-Authenticate (RFC 9110)Tidak ada yang diwajibkan
Pemicu umumDinding login, token kedaluwarsa, Basic Auth, sesi habisAturan izin, blokir IP/geo, aturan WAF, pembatasan direktori
Untuk GooglebotDapat disengaja (halaman digate)Biasanya salah konfigurasi server (Googlebot tidak mengirim kredensial)
Hasil pengindeksanTidak diindeks; turun seiring waktuTidak diindeks; turun seiring waktu

Baris terakhir adalah intinya: untuk pengindeksan, Google memperlakukan keduanya sama.

Cara Google memperlakukan halaman 401

Dokumentasi kode status HTTP Google menjelaskan keluarga 4xx secara tegas:

“Google doesn’t use the content from URLs that return 4xx status codes. If a URL was previously used but is now returning 4xx status code, Google systems will stop using the URL over time. In the case of Google Search, 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. Jika URL sebelumnya digunakan tetapi kini mengembalikan kode status 4xx, sistem Google akan berhenti menggunakan URL itu seiring waktu. Dalam Google Penelusuran, Google tidak mengindeks URL yang mengembalikan kode status 4xx, dan URL yang sudah diindeks lalu mengembalikan kode status 4xx dihapus dari indeks.” 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 Search indexing outcome for 401 responses; it does not address access decisions for private users. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers

401 bukan pengecualian dalam keluarga itu. Dalam tabel dokumentasi, 401 (unauthorized) dan 403 (forbidden) tercantum sebagai baris terpisah dengan satu penjelasan yang sama:

“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 tersebut tidak ada.”

Jadi hasilnya biner, bukan penurunan peringkat. Halaman yang menghasilkan 401 tidak “berperingkat lebih rendah”—halaman itu sama sekali tidak diindeks, atau dihapus jika sebelumnya sudah diindeks. Tidak ada penalti parsial. Ini sejalan dengan klaim dasar dalam panduan saya: 4xxs akan membuat halaman keluar dari indeks. Artikel ini adalah pendalaman khusus 401 di atas dasar tersebut.

Ada satu nuansa tentang waktu: penghapusan terjadi “over time” (Terjemahan: “seiring waktu”), bukan pada pengambilan pertama yang buruk. Dokumentasi Google menggambarkan proses bertahap, dan sistem crawling secara historis memang menoleransi kesalahan singkat sebelum menganggap URL benar-benar hilang.

Mitos laju crawl—401 TIDAK memperlambat crawling

Hal ini sering menjebak artikel yang sebenarnya bagus, jadi mari kita tepat. 401 (atau 403) tidak memperlambat laju crawl Google. Google mengatakannya secara langsung:

Google menyatakan bahwa kode status 401 dan 403 bukan alat untuk membatasi laju crawl; semua kode 4xx selain 429 tidak berdampak pada laju tersebut.

Ini penting karena Anda akan menemukan saran bahwa menggating halaman dengan 401 “menghemat anggaran crawl” atau “membuang anggaran crawl”—keduanya keliru. Hanya 429 (dan sinyal gaya 5xx seperti 503) yang memberi tahu Googlebot untuk mundur. 401 bukan throttle; itu sinyal “konten tidak ada” untuk pengindeksan, titik. Jika benar-benar ingin memperlambat crawl sementara, gunakan 429/503, bukan 401/403.

Satu catatan ruang lingkup, karena dua klaim ini mudah tercampur: “tidak memengaruhi laju crawl” berkaitan dengan laju crawl seluruh situs. Secara terpisah, Google mengatakan URL individual yang terus mengembalikan 4xx akan di-crawl ulang lebih jarang seiring waktu—frekuensi percobaannya turun bertahap. Jadi anggaran crawl tingkat situs tidak diperlambat, tetapi URL yang terus menghasilkan 401 memang diperiksa lebih jarang karena Google menurunkan prioritasnya.

Ada juga kasus khusus yang perlu diketahui: 401 pada halaman biasa dan 401 pada /robots.txt sendiri tidak ditangani dengan cara yang sama. Jika file robots.txt mengembalikan non-429 4xx (termasuk 401), Google memperlakukannya seolah-olah tidak ada robots.txt sama sekali—diasumsikan tidak ada pembatasan crawl dari file itu, bukan seluruh situs dianggap tidak dapat dijangkau. Jangan letakkan /robots.txt di balik dinding autentikasi yang sama dengan halaman privat.

Apakah 401 selalu masalah? Tidak.

401 hanya merupakan bug jika tidak disengaja pada halaman yang ingin Anda jadikan publik. Jika halaman memang privat, 401 adalah cara yang tepat untuk menjauhkannya dari pencarian—dan itulah yang direkomendasikan Google. John Mueller pernah menyampaikannya dengan jelas (dikutip Search Engine Journal): pendekatan ideal adalah autentikasi sisi server yang mencegah pengguna biasa melihat konten—“that would include GoogleBot” (terjemahan) “itu termasuk GoogleBot.” (Dikutip oleh Search Engine Journal dari hangout Google tahun 2019; perlakukan sebagai pernyataan yang diparafrasakan secara akurat, bukan kutipan yang diverifikasi per fragmen.)

Autentikasi sisi server (yang menghasilkan 401) adalah mekanisme yang direkomendasikan untuk menyembunyikan konten nonpublik—lebih dahulu daripada robots.txt—karena benar-benar memblokir akses, bukan sekadar meminta bot untuk tidak datang.

Kerangka keputusannya sederhana:

  • Harus tetap 401: lingkungan staging, area khusus anggota, alat internal, dan apa pun yang benar-benar privat. Itu bekerja sesuai rancangan; jangan “perbaiki”.
  • Perlu diperbaiki: halaman publik yang dapat diindeks tetapi secara tidak sengaja mengembalikan 401—false positive CDN/WAF, Basic Auth yang tertinggal, token kedaluwarsa, atau konflik plugin/middleware.

Dampak SEO dan jebakan “di saya berfungsi”

Kegagalan praktis yang mungkin terjadi:

  • Halaman yang ingin diindeks tetap tidak terlihat sampai gerbangnya dilepas.
  • Halaman yang sebelumnya berperingkat menghilang jika mulai mengembalikan 401.
  • Jebakan “di saya berfungsi”: orang yang menguji sudah terautentikasi, login, atau memakai IP yang diizinkan—crawler tidak. Panduan Google sendiri untuk kasus 401: “You can verify this error by visiting the page in incognito mode.” (terjemahan) “Anda dapat memverifikasi kesalahan ini dengan mengunjungi halaman dalam mode incognito.” Lebih baik lagi, uji tanpa autentikasi dengan curl -I https://example.com/page, atau gunakan Inspeksi URL / Live Test Search Console.

Jika Anda memang perlu membiarkan crawler nyata lewat, verifikasi dengan IP / reverse-DNS, jangan hanya mempercayai string user-agent—string user-agent mudah dipalsukan, sehingga mengizinkan “Googlebot” hanya berdasarkan nama adalah celah keamanan, bukan perbaikan.

Bagaimana dengan konten berbayar atau khusus pelanggan?

401 menyeluruh kepada semua orang (termasuk Googlebot) bukan satu-satunya pilihan jika Anda ingin konten berpagar tetap dapat berperingkat. Google mendukung pengindeksan konten berbayar melalui structured data isAccessibleForFree, disertai pemberian akses kepada identitas crawler Google khusus untuk konten pelanggan/terdaftar. Tujuan markup tersebut adalah:

“This structured data helps Google differentiate paywalled content from the practice of cloaking, which violates spam policies.” (terjemahan) “Data terstruktur ini membantu Google membedakan konten berbayar dari praktik cloaking, yang melanggar kebijakan spam.”

Peringatannya jelas: menyajikan konten penuh secara diam-diam hanya kepada Googlebot, tanpa pengungkapan data terstruktur, adalah cloaking—risiko pelanggaran kebijakan spam. Jika ingin konten berpagar diindeks, lakukan dengan cara yang disetujui (markup + akses crawler), bukan melewati gerbang secara diam-diam.

Cara memperbaiki 401 yang tidak diinginkan

  1. Pastikan memang tidak diinginkan. Apakah halaman ini seharusnya publik? Jika hanya staging atau khusus anggota, tidak ada yang perlu diperbaiki.
  2. Hapus persyaratan autentikasi pada halaman publik—lepaskan Basic Auth yang tertinggal (.htaccess/nginx), perbaiki token kedaluwarsa, dan selesaikan konflik plugin/middleware.
  3. Periksa CDN/WAF—jangan berasumsi sudah tahu lapisan mana yang mengeluarkan 401. Respons (dan header WWW-Authenticate) menunjukkan ada tantangan; itu tidak menunjukkan asalnya. Aplikasi, proxy identitas/autentikasi, aturan manajemen bot CDN/WAF, dan server origin semuanya dapat menghasilkan 401. False positive dari aturan bot di edge sering menjadi penyebab; periksa log di setiap lapisan dan verifikasi Googlebot dengan reverse DNS sebelum membuat allowlist.
  4. Izinkan crawler terverifikasi lewat IP/reverse-DNS, bukan user-agent.
  5. Jangan gunakan 401 untuk menghapus indeks pada halaman yang sebenarnya bisa dibuat publik—gunakan noindex (dengan crawling tetap diizinkan). Dinding login untuk konten yang memang harus privat.
  6. Validasi perbaikan dengan Live Test Inspeksi URL—anggap hasil lulus sebagai konfirmasi pengambilan saat ini, bukan jaminan. Google tidak menjanjikan jadwal tetap untuk crawl ulang, pengindeksan ulang, atau pemulihan peringkat setelah 401 diperbaiki; Live Test yang lulus menunjukkan pengambilan langsung Google berhasil, bukan bahwa crawling terjadwal atau pengindeksan sudah menyusul. Beri waktu dan periksa kembali laporan Page Indexing, jangan mengharapkan pembalikan seketika.

Untuk alur diagnosis–perbaikan–validasi lengkap di Google Search Console, khususnya status Page Indexing “Blocked due to unauthorized request (401)”, lihat artikel pendamping khusus—artikel ini tetap berada pada tingkat protokol dan konsep.

Bing

Bing secara fungsional bekerja dengan cara yang sama: URL yang mengembalikan 401 (atau 403) kepada Bingbot tidak dapat diakses dan tidak akan diindeks. Bingbot memerlukan akses tanpa autentikasi seperti Googlebot; untuk allowlist, verifikasi melalui rentang IP yang dipublikasikan, bukan user-agent.

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.