401 Yetkisiz
HTTP 401 Unauthorized yanıtının ne anlama geldiğini, 403 Forbidden yanıtından farkını, Google'ın kimlik doğrulama duvarlı sayfaları nasıl ele aldığını ve SEO etkilerini açıklayan rehber.
Diller
Bu sayfada 1 kanıt sinyali
- İlgili canlı araçHTTP Status & Redirect Checker
401 Unauthorized, isteğin geçerli kimlik doğrulama bilgilerini taşımadığı ve sunucunun giriş yapmanızı istediği anlamına gelir. Kimlik bilgileri verilmiş ancak erişim reddedilmişse 403 Forbidden oluşur; ancak dizine ekleme açısından Google bunları aynı ele alır: Googlebot hiçbir zaman kimlik bilgisi göndermez, bu nedenle 401 döndüren sayfanın içeriği Google için fiilen yoktur, dizine eklenmez ve daha önce dizine eklenmişse zamanla düşer. 401 otomatik olarak kötü değildir — staging sitelerini ve yalnızca üyelerin girdiği alanları kapatmanın doğru yoludur — yalnızca sıralanmasını istediğiniz bir sayfayı etkilediğinde sorundur. Yaygın bir mite rağmen tarama hızına etkisi yoktur.
TL;DR — 401 Unauthorized, sunucunun sayfayı teslim etmeden önce giriş yapmanızı istediği anlamına gelir — kimlik bilgileriniz eksik, yanlış veya süresi dolmuştur. Arama motorları hiçbir zaman giriş yapmaz; bu nedenle bir sayfa Googlebot’a 401 döndürürse Google onu göremez ve arama sonuçlarına koymaz. Özel sayfalar (staging, yalnızca üyeler) için tam olarak istediğiniz şey budur — yalnızca insanların bulmasını istediğiniz bir sayfada gerçekleştiğinde sorundur.
401 ne anlama gelir?
Tarayıcınız (veya bir arama motorunun tarayıcısı) bir sunucudan sayfa istediğinde sunucu bir durum koduyla yanıt verir. 401 Unauthorized, sunucunun “Kim olduğunuzu kanıtlayana kadar bunu size göstermeyeceğim” deme biçimidir. Gönderdiğiniz kimlik bilgileri eksik, geçersiz veya süresi dolmuştur; bu nedenle giriş yapmanız gerekir. 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 “I’m not going to show you this until you prove who you are.” (Türkçe çeviri) Bu cümle, uygulamadaki kararın dayandığı normatif noktayı açıklıyor.
Bir sayfa her kullanıcı adı/şifre kutusu açtığında veya sizi giriş ekranına yönlendirdiğinde bunu görmüşsünüzdür. Arka planda bu çoğu zaman 401’dir.
SEO açısından neden önemlidir?
İşin püf noktası şudur: Googlebot ve Bingbot hiçbir zaman giriş yapmaz. Siteniz için kullanıcı adları ve şifreleri yoktur; giriş kutularına da yazı yazmazlar. Bu nedenle bir tarayıcı 401 ile karşılaştığında kapının ötesine geçemez. Google açısından o sayfadaki içerik fiilen yoktur.
Pratik sonuç:
- 401 döndüren bir sayfa dizine eklenmez — aramada görünemez.
- Daha önce sıralanan ancak artık 401 döndüren bir sayfa zamanla dizinden çıkar. 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 ne zaman normaldir (ve ne zaman sorundur)?
401 otomatik olarak düzeltilmesi gereken bir hata değildir. Özel olması gereken sayfalar için doğru yanıttır:
- İyi 401: staging siteniz, yalnızca üyelerin girdiği bir alan, dahili bir yönetim aracı veya müşteri portalı. Bunların Google’dan gizli kalmasını istersiniz ve giriş duvarı bunu sağlar.
- Kötü 401: herkese açık olması gereken bir blog yazısı, ürün sayfası veya açılış sayfası aniden giriş istemeye başlar — bunun nedeni genellikle yanlış yapılandırılmış bir güvenlik duvarı, geride kalmış parola koruması, süresi dolmuş token veya eklenti çakışmasıdır.
En yaygın yanlış alarm “ama bende sorunsuz yükleniyor!” ifadesidir — çünkü siz giriş yapmış durumdasınız, tarayıcı ise değil. Googlebot’un gördüğünü görmek için sayfayı özel/gizli bir pencerede açın veya Google Search Console’daki URL Inspection aracını kullanın. “but it loads fine for me!” (Türkçe çeviri) Kaynak cümlesi, bu durum kodunun hangi koşulda kullanıldığını netleştiriyor.
401 ve 403 — hızlı sürüm
401’i çoğu zaman 403 Forbidden yanında görürsünüz. Benzer duyulurlar ama farklı anlamlara gelirler:
- 401 = “Kimsin?” Kimlik bilgileri eksik — giriş yapın.
- 403 = “Kim olduğunu biliyorum ve hayır.” Sunucu isteği anladı ancak erişimi yine de reddediyor. “I know who you are, and no.” (Türkçe çeviri) Bu alıntı, kaynakta tanımlanan güvenli uygulama yolunu işaret ediyor.
Google açısından ise sonuç aynıdır: tarayıcı içeriğe her iki durumda da ulaşamadığı için hiçbiri dizine eklenmez.
Teknik ayrıntıyı — 401’in göndermesi gereken tam başlığı, Google’ın belgelerinin gerçekte ne söylediğini ve istenmeyen bir 401’in nasıl düzeltileceğini — mi istiyorsunuz? Advanced sekmesine geçin.
Kısa özet — 401 Unauthorized, istekte geçerli kimlik doğrulama bilgileri bulunmadığını belirten istemci hatasıdır (RFC 7235’in yerini alan RFC 9110 §15.5.2). Bu, yalnızca hiç gönderilmeyen bilgileri değil, gönderilip reddedilen bilgileri de kapsar. Uyumlu 401 yanıtı, beklenen şemayı belirten
WWW-Authenticatebaşlığını da gönderir. 403’ten farkı, 403 reddinin böyle bir kimlik doğrulama çağrısı gerektirmemesi ve kimlik bilgilerinden tamamen bağımsız olabilmesidir. Google ise dizine ekleme açısından 429 dışındaki tüm 4xx kodlarını aynı ele alır: içerik “mevcut değil” sayılır, dizine eklenmez ve daha önce dizine eklenmiş URL zamanla çıkarılır. Sıradan Googlebot kimlik bilgisi göndermediğinden Googlebot’a verilen 403, Google’ın ifadesiyle genellikle sunucu yanlış yapılandırmasına işaret eder. 401/403, site genelindeki tarama hızını etkilemez; ancak sürekli 4xx döndüren tekil URL zamanla daha seyrek yeniden taranır. Gerçekten özel içeriği kapatmak için 401 doğru ve Google’ın önerdiği yoldur; yalnızca dizine eklenmesini istediğiniz sayfaya uygulandığında sorundur. Ücretli içerik için genel 401 yerine onaylanmış ayrı bir yol vardır.
401 aslında nedir?
401 Unauthorized, istemci hatası yanıtıdır. MDN’nin tanımı, teknik açıdan en temiz ifadedir:
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 UnauthorizedKısa özet — Bu değerlendirme, 401 yetkilendirmesi için yanıtın ne anlattığını ve ne anlatmadığını açıklar; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun.
WWW-Authenticate
Buradan iki nokta çıkar. İlk nokta, isteği yapan kişinin kimliğini kanıtlamamış olmasıdır. Bu genellikle eksik, geçersiz veya süresi dolmuş kimlik bilgileri anlamına gelir; ancak 401, gönderilip reddedilen bilgilerden sonra da dönebilir. İsteği gerçekten incelemeden kimlik doğrulama başlığının hiç gönderilmediğini varsaymayın. İkincisi, spesifikasyona uygun 401 yanıtı mutlaka WWW-Authenticate başlığını taşımalıdır. Eski RFC 7235’in yerini alan RFC 9110 §15.5.2 uyarınca bu başlık, istemciye beklenen şemayı veya şemaları (HTTP Basic Auth, Bearer belirteci, oturum çerezi akışı vb.) bildirir. 401 hatasını ayıklarken önce bu başlığın bulunup bulunmadığını ve hangi şemayı belirttiğini inceleyin. 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
Bu karar çerçevesi, 401 yetkilendirmesi için yanıtın ne anlattığını ve ne anlatmadığını açıklar. Kaynak “the client hasn’t identified or verified itself when needed.” (Türkçe çeviri) Kaynak cümlesi, bu durum kodunun hangi koşulda kullanıldığını netleştiriyor.
401 ve 403 Forbidden — önemli ayrım
Çoğu kişinin bulanıklaştığı yer burasıdır; bu yüzden ayrımı netleştireyim. Tek cümleyle:
- 401 = “Kimsin?” — kimlik bilgileri eksik veya geçersizdir; kimliğinizi doğrulayıp tekrar deneyin.
- 403 = “Kim olduğunu biliyorum ama hayır.” — istek anlaşılmıştır, ancak erişim kimlik bilgilerinden bağımsız olarak reddedilir. “I know who you are, but no.” (Türkçe çeviri) İfade, kodun anlamını SEO ve sunucu davranışıyla karıştırmamak için bir çıpa sağlıyor.
MDN bunu aynı şekilde çerçeveler:
Kısa özet — Bu teknik not, 401 yetkilendirmesi için uygulama sırasında izlenecek sinyalleri bir araya getirir; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun., 403, 403
Buradaki bölüm, 401 yetkilendirmesi için uygulama sırasında izlenecek sinyalleri bir araya getirir., 403 “the client hasn’t identified or verified itself when needed,” (Türkçe çeviri) İfade, kodun anlamını SEO ve sunucu davranışıyla karıştırmamak için bir çıpa sağlıyor. “the client is known but doesn’t have access rights.” (Türkçe çeviri) Bu ifade, makaledeki karar ağacının dayandığı resmi açıklamayı taşıyor.
Bu kısa açıklama güvenilir bir özettir; ancak kodda veya WAF kuralında iki seçenek arasında karar vermeniz gerekiyorsa daha kesin protokol testi şudur: 401, WWW-Authenticate çağrısını gerektirir; RFC 9110 bunu MUST kılar. 403 ise böyle bir çağrı gerektirmez, çünkü ret IP engeli, izin kuralı veya hız sınırı politikası gibi kimlik bilgileriyle ilgisiz bir nedenden kaynaklanabilir. Bu nedenle “kimlik bilgileri mevcut muydu?” sorusu tek başına güvenilir ayrım değildir; 401 yalnızca eksik değil, reddedilmiş bilgilerden sonra da dönebilir. Hangi kodu vereceğinize karar verirken kimlik doğrulama çağrısı mı yaptığınızı (401), yoksa doğrudan mı reddettiğinizi (403) sorun.
İşte gözden kaçan SEO nüansı ve Google’ın 403 hakkındaki kendi noktası. Sıradan Googlebot hiçbir zaman kimlik bilgisi göndermez. Bu nedenle özellikle Googlebot’a sunulan 403, Google’ın kendi ifadeleriyle sunucunun işi yanlış yaptığı anlamına gelir:
Kısa özet — Bu uygulama notu, durum kodu yetkilendirmesi için uygulama sırasında izlenecek sinyalleri bir araya getirir; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun., 403
Bu yararlı bir tanı ölçütüdür. Googlebot’a verilen 401 kasıtlı olabilir; sayfa tasarım gereği kapalıdır. Googlebot’a verilen 403 ise genellikle yanlış yapılandırmaya işaret eder. Googlebot kimlik bilgisi göndermediğinden, onun için “kimlik bilgileri reddedildi” yanıtını tetikleyen bir şey olmamalıdır. Googlebot’un erişmesi gereken sayfalarda 403 görüyorsanız önce CDN, WAF veya sunucu yapılandırmasını inceleyin. Bu açıklama Google’ın yaygın tarayıcıları içindir. Google özel amaçlı tarayıcıları ve kullanıcı tarafından tetiklenen getiricileri kendi davranışları olan ayrı kategorilerde belgeler; “asla kimlik bilgisi göndermez” kuralını doğrulamadan her Google ürün entegrasyonuna genellemeyin.
Bu anlatım, 401 yetkilendirmesi için uygulama sırasında izlenecek sinyalleri bir araya getirir. WWW-Authenticate, 403
“I know you, no” (Türkçe çeviri) Bu cümle, uygulamadaki kararın dayandığı normatif noktayı açıklıyor.
Son satır ana fikirdir: dizine ekleme açısından Google bunları aynı ele alır.
Google 401 sayfalarını nasıl ele alır?
Google’ın HTTP durum kodları belgesi 4xx ailesi konusunda nettir:
“Google doesn’t use the content from URLs that return
4xxstatus codes. If a URL was previously used but is now returning4xxstatus code, Google systems will stop using the URL over time. In the case of Google Search, Google doesn’t index URLs that return a4xxstatus code, and URLs that are already indexed and return a4xxstatus code are removed from the index.” (çeviri) “Google,4xxdurum kodu döndüren URL’lerdeki içeriği kullanmaz. Daha önce kullanılan URL artık4xxdöndürüyorsa Google sistemleri zamanla onu kullanmayı bırakır. Google Search,4xxdöndüren URL’leri dizine eklemez; zaten dizinde olup4xxdöndürmeye başlayan URL’leri dizinden çıkarır.” 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 bu aile içinde özel bir durum değildir. Belgedeki tabloda 401 (unauthorized) ile 403 (forbidden), aynı açıklamayı paylaşan ayrı satırlar olarak listelenir:
Kısa özet — Kaynak özeti, durum kodu yetkilendirmesi için okurun ilgili durumu güvenle doğrulamasına yardımcı olur; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun.
4xx429
Sonuç ikili durumdur, sıralama düşüşü değildir. 401 döndüren sayfa “daha düşük sıralanmaz”; hiç dizine eklenmez veya daha önce dizindeyse tamamen çıkarılır. Kısmi ceza yoktur. Bu, kendi rehberimdeki 4xx kodlarının sayfaları dizinden çıkaracağı temel açıklamayla uyumludur. Bu makale bunun 401’e özgü ayrıntılı incelemesidir.
Zamanlama konusunda bir nüans vardır: çıkarma ilk kötü getirmede değil, “over time” gerçekleşir. Google’ın belgeleri kademeli bir süreç tarif eder ve tarama sisteminin geçmişte, bir URL’yi gerçekten yok saymadan önce kısa süreli hatalara tolerans gösterdiği belirtilmiştir.
Tarama hızı miti — 401 taramayı YAVAŞLATMAZ
Bu, aksi hâlde iyi olan pek çok yazıda karşınıza çıkar; bu yüzden kesin konuşmak istiyorum. 401 (veya 403), Google’ın tarama hızını yavaşlatmaz. Google bunu doğrudan söyler:
“Don’t use
401and403status codes for limiting the crawl rate. The4xxstatus codes, except429, have no effect on crawl rate.” (çeviri) “Tarama hızını sınırlamak için401ve403durum kodlarını kullanmayın.429dışındaki4xxdurum kodları tarama hızını etkilemez.”
Bu önemlidir; çünkü sayfaları 401 arkasına almanın “tarama bütçesini koruduğu” veya “tarama bütçesini boşa harcadığı” yönünde öneriler görebilirsiniz. İki çerçeve de yanlıştır. Yalnızca 429 ve 503 gibi 5xx türü sinyaller Googlebot’a yavaşlamasını söyler. 401 bir hız sınırlayıcı değildir; dizine ekleme açısından “içerik mevcut değil” sinyalidir. Taramayı geçici olarak yavaşlatmak istiyorsanız 401/403 değil, 429/503 kullanın.
Bu iki iddianın kolayca birbirine karışması nedeniyle kapsamı ayıralım: “tarama hızına etkisi yok” ifadesi sitenizin genel tarama hızıyla ilgilidir. Ayrı olarak Google, sürekli 4xx döndüren tek bir URL’nin zamanla daha seyrek yeniden tarandığını söyler — kendi yeniden deneme sıklığı kademeli olarak düşer. Bunlar farklı kapsamlardır: site genelindeki tarama bütçeniz sınırlanmaz, ancak sürekli 401 döndüren belirli bir URL Google onu daha düşük önceliğe aldığı için daha seyrek kontrol edilir. “no effect on crawl rate” (Türkçe çeviri) Bu ifade, arama motoru davranışının ilgili sınırını netleştirir.
Bilinmesi gereken özel bir durum daha vardır: sıradan sayfadaki 401 ile /robots.txt dosyasındaki 401 aynı şekilde ele alınmaz. robots.txt, 429 dışındaki bir 4xx kodunu (401 dâhil) döndürürse Google bunu dosya hiç yokmuş gibi değerlendirir. Tüm sitenin erişilemez olduğunu değil, dosyadan gelen tarama kısıtlaması bulunmadığını varsayar. /robots.txt dosyasını özel sayfalarınızla aynı kimlik doğrulama duvarının arkasına koymayın.
401 her zaman sorun mudur? Hayır.
401, yalnızca herkese açık olmasını istediğiniz sayfada kasıtsız olduğunda hatadır. Sayfa gerçekten özelse 401, onu arama sonuçlarının dışında tutmanın doğru yoludur ve Google bunu önerir. John Mueller, Search Engine Journal üzerinden aktarılan açıklamasında ideal yaklaşımın normal kullanıcıların içeriği görmesini engelleyen sunucu tarafı kimlik doğrulaması olduğunu ve bunun “that would include GoogleBot” (çeviri) “Googlebot’u da kapsayacağını” söyledi. Bu açıklama, 2019’daki bir Google hangout’undan Search Engine Journal tarafından aktarılmıştır; parçası doğrulanmış birebir alıntı yerine doğru aktarılmış temsilci açıklaması olarak değerlendirin.
Sunucu tarafı kimlik doğrulama (401’i üreten mekanizma), herkese açık olmayan içeriği gizlemek için robots.txt’nin önünde önerdiği yöntemdir; çünkü botlardan uzak durmalarını istemek yerine erişimi gerçekten engeller.
Bu nedenle karar çerçevesi basittir:
- 401 olarak kalmalı: staging ortamları, yalnızca üyelerin girdiği alanlar, dahili araçlar ve gerçekten özel olan her şey. Tasarlandığı gibi çalışıyor. “Düzeltmeyin.”
- Düzeltilmesi gerekiyor: yanlışlıkla 401 döndüren herkese açık, dizine eklenebilir bir sayfa — CDN/WAF yanlış pozitifliği, geride kalmış Basic Auth, süresi dolmuş token veya eklenti/middleware çakışması.
SEO etkileri ve “bende çalışıyor” tuzağı
“it works for me” (Türkçe çeviri) Bu ifade, kaynakta belirtilen temel HTTP kuralını özetliyor.
Pratikteki arıza biçimleri:
- Dizine eklenmesini istediğiniz sayfalar, kapı kaldırılana kadar görünmez kalır.
- Daha önce sıralanan sayfalar, 401 döndürmeye başlarsa kaybolur.
- “Bende çalışıyor” tuzağı: testi yapan kişi kimliğini doğrulamış, oturum açmış veya izin verilen IP’dedir; tarayıcı değildir. Google’ın 401 için önerisi “You can verify this error by visiting the page in incognito mode.” (çeviri) “Sayfayı gizli modda ziyaret ederek bu hatayı doğrulayabilirsiniz.” Daha iyisi,
curl -I https://example.com/pageile kimliksiz test yapın veya Search Console URL Inspection / Live Test kullanın.
Gerçek bir tarayıcının geçmesine izin vermeniz gerektiğinde bunu user-agent dizesine tek başına güvenerek değil, IP / reverse-DNS ile doğrulayın — user-agent dizeleri kolayca taklit edilebilir; bu nedenle ada göre “Googlebot” izin listesine almak bir düzeltme değil, güvenlik açığıdır.
Ücretli veya yalnızca abonelere açık içerik ne olacak?
Buradaki bölüm, 401 yetkilendirmesi için kaynakta verilen uyarıyı pratik bir kontrol adımına çevirir. isAccessibleForFree Kaynak
Kısa özet — Kaynak özeti, durum kodu yetkilendirmesi için kaynakta verilen uyarıyı pratik bir kontrol adımına çevirir; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun.
Bunun içindeki uyarı şudur: yapılandırılmış veri açıklaması olmadan yalnızca Googlebot’a sessizce tam içerik sunmak cloaking’dir — spam politikası riski taşır. Kısıtlı içeriğin dizine eklenmesini istiyorsanız onaylı yolu (işaretleme + tarayıcı erişimi) kullanın; sessiz bir geçişi değil.
İstenmeyen 401 nasıl düzeltilir?
- Gerçekten istenmeyen bir durum olduğunu doğrulayın. Sayfanın herkese açık olması mı gerekiyor? Hazırlık ortamı veya yalnızca üyelere özel sayfaysa düzeltilecek bir şey yoktur.
- Herkese açık sayfalardaki kimlik doğrulama gereksinimini kaldırın: kalan Basic Auth yapılandırmasını (
.htaccess/nginx) temizleyin, süresi dolmuş belirteçleri düzeltin, eklenti veya middleware çakışmalarını çözün. - CDN/WAF katmanını kontrol edin ve 401’i hangi katmanın verdiğini bildiğinizi varsaymayın. Yanıt ve
WWW-Authenticatebaşlığı bir çağrı yapıldığını gösterir; bunun uygulamadan, kimlik doğrulama proxy’sinden, CDN/WAF bot yönetimi kurallarından veya kaynak sunucudan hangisinin geldiğini söylemez. Edge bot yönetimi kurallarındaki yanlış pozitifler yaygın nedendir. Her katmanın günlüklerini inceleyin ve izin listesine eklemeden önce Googlebot’u ters DNS ile doğrulayın. - Doğrulanmış tarayıcılara user-agent yerine IP/ters DNS temelinde izin verin.
- Herkese açık yapabileceğiniz sayfayı dizinden çıkarmak için 401 kullanmayın; taramaya izin verip
noindexkullanın. Giriş duvarı gerçekten özel kalması gereken içerik içindir. - Düzeltmeyi URL Inspection Live Test ile doğrulayın, ancak başarıyı garanti değil, yalnızca o anki getirmenin doğrulaması sayın. Google, 401 düzeltmesinden sonra sabit yeniden tarama, yeniden dizine ekleme veya sıralama toparlanma süresi taahhüt etmez. Başarılı Live Test, Google’ın canlı getirmesinin geçtiğini gösterir; planlanmış tarama veya dizine eklemenin yetiştiğini göstermez. Anında dönüş beklemek yerine zaman tanıyın ve Page Indexing raporunu yeniden kontrol edin.
Tam Google Search Console teşhis-düzeltme-doğrulama iş akışını, özellikle Page Indexing durumundaki “Blocked due to unauthorized request (401)” için görmek isterseniz ilgili yardımcı yazıya bakın — bu yazı protokol/kavram düzeyinde kalır.
Bing
Bing işlevsel olarak aynı davranır: Bingbot’a 401 (veya 403) döndüren bir URL erişilemez ve dizine eklenmez. Bingbot da Googlebot gibi kimlik doğrulaması olmadan erişime ihtiyaç duyar; izin listesi için user-agent yerine yayımlanmış IP aralıklarıyla doğrulama yaparsınız.
AI özeti
Advanced sürümün kısa özeti:
- 401 = eksik, geçersiz veya reddedilmiş kimlik bilgileri (“kimsiniz?”). RFC 7235’in yerini alan RFC 9110 §15.5.2, istemcinin kullanacağı şemayı belirten
WWW-Authenticatebaşlığını gerektirir. 401, hiç kimlik bilgisi gönderilmediğini kanıtlamaz; gönderilip reddedilen bilgilerden sonra da dönebilir. - 401 ile 403 için güvenilir test: 401,
WWW-Authenticateçağrısını gerektirir; 403 gerektirmez, çünkü ret IP engeli, izin kuralı veya hız sınırı gibi kimlik bilgilerinden bağımsız olabilir. Sıradan Googlebot kimlik bilgisi göndermediğinden Googlebot’a verilen 403, Google’a göre genellikle sunucu yanlış yapılandırmasıdır. Google diğer tarayıcı/getirici kimliklerini ayrı belgeler; bunu her Google istemcisine genellemeyin. - Dizine ekleme sonucu aynıdır: Google, 429 dışındaki tüm 4xx kodlarını aynı ele alır. İçerik “mevcut değil” sayılır, dizine eklenmez ve daha önce dizindeki URL’ler zamanla çıkarılır. Bu ikili durumdur, sıralama düşüşü değildir.
- Site genelinde tarama hızı etkisi yoktur, ancak URL sıklığı düşer: 401/403 genel tarama hızını sınırlamaz; bunu yalnızca 429 ve 5xx türü sinyaller yapar. Ayrı olarak sürekli 4xx döndüren tekil URL zamanla daha seyrek taranır.
/robots.txtüzerindeki 401 ise engel değil, “robots.txt yok” şeklinde ele alınır. - 401 çoğu zaman doğrudur: sunucu tarafı kimlik doğrulaması, hazırlık/üye/özel sayfaları gizlemek için Google’ın önerdiği yoldur. Yalnızca dizine eklenmesini istediğiniz sayfaya geldiğinde sorundur; yanıt tek başına kodu hangi katmanın (uygulama, kimlik proxy’si, CDN/WAF, kaynak) verdiğini söylemez.
- “Bende çalışıyor” tuzağı: siz kimliğinizi doğruladınız, tarayıcı doğrulamadı. Gizli modda,
curl -Iile veya URL Inspection kullanarak test edin. Başarılı Live Test yalnızca güncel getirmeyi doğrular; yeniden tarama ve toparlanma süresini garanti etmez. - Ücretli duvarlar: genel 401 yerine
isAccessibleForFreeişaretlemesi ve tarayıcı erişimi kullanın. Googlebot’a tam içeriği gizlice sunmak cloaking’dir. - Düzeltme: kimlik doğrulama gereksinimini kaldırın; tarayıcıları user-agent ile değil IP/ters DNS ile doğrulayın; herkese açık yapabileceğiniz sayfayı dizinden çıkarmak için 401 yerine
noindexkullanın.
Resmî belgeler
Google ve HTTP spesifikasyonundan birincil kaynak belgeleri.
- HTTP durum kodlarının, ağ ve DNS hatalarının Google Search’e etkisi — 4xx kodlarının ele alınmasını, “aynı değerlendirilir” kuralını ve 401/403 için tarama hızı uyarısını açıklar.
- Sayfa dizine ekleme raporu — “Yetkisiz istek nedeniyle engellendi (401)” ve “Erişim yasak olduğu için engellendi (403)” durumlarının tanımlarını verir.
- Abonelik ve ücretli içerik için yapılandırılmış veri —
isAccessibleForFreeve genel 401 yerine onaylanmış seçeneği açıklar. - Googlebot ve diğer Google tarayıcılarını doğrulama — izin listesine almadan önce user-agent yerine IP/ters DNS ile doğrulamayı anlatır.
Standartlar / referans
- RFC 9110 §15.5.2 — HTTP Semantics: 401 Unauthorized — RFC 7235’in yerini alan güncel 401 ve
WWW-Authenticatespesifikasyonu. - MDN — 401 Unauthorized — geliştiricilere yönelik teknik tanım; ikincil kaynaktır ve SEO’ya özgü değildir.
Kaynaktan alıntılar
Kayıtlı açıklamalar. Her bağlantı, kaynak sayfasındaki alıntılanan bölüme giden derin bağlantıdır.
Google — 4xx (401 dahil) nasıl ele alınır
- “Google doesn’t use the content from URLs that return
4xxstatus codes… Google doesn’t index URLs that return a4xxstatus code, and URLs that are already indexed and return a4xxstatus code are removed from the index.” (Türkçe çeviri) “Google,4xxdurum kodu döndüren URL’lerdeki içeriği kullanmaz ve bu URL’leri dizine eklemez; daha önce dizine eklenmiş URL’ler ise dizinden çıkarılır.” — Google Search Central docs. Jump to quote - “All
4xxerrors, except429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.” (Türkçe çeviri) “429dışındaki tüm4xxhataları aynı şekilde ele alınır; Google tarayıcıları sonraki işleme sistemine içeriğin mevcut olmadığını bildirir.” Jump to quote - “Don’t use
401and403status codes for limiting the crawl rate. The4xxstatus codes, except429, have no effect on crawl rate.” (Türkçe çeviri) “Tarama hızını sınırlamak için401ve403durum kodlarını kullanmayın.429dışındaki4xxdurum kodlarının tarama hızına etkisi yoktur.” Jump to quote
Google — Search Console Help, 401 ve 403 girdileri
- “The page was blocked to Googlebot by a request for authorization (401 response)… You can verify this error by visiting the page in incognito mode.” (Türkçe çeviri) “Sayfa, yetkilendirme isteği nedeniyle Googlebot’a engellendi (401 yanıtı). Bu hatayı sayfayı gizli modda ziyaret ederek doğrulayabilirsiniz.” — Google Search Console Help, Page Indexing report. Jump to quote
- “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.” (Türkçe çeviri) “HTTP 403, kullanıcı aracısının kimlik bilgileri sunduğu ancak erişim izni alamadığı anlamına gelir. Googlebot kimlik bilgisi sunmadığı için sunucunuz bu hatayı yanlış döndürüyor. Sayfa dizine eklenmez.” Jump to quote
Google — ücretli içerik
- Kural: Bu teknik not, durum kodu yetkilendirmesi için incelemenin ilgili noktasını kısa bir örnekle somutlaştırır; kanıtı ve doğru kullanım kararını Türkçe olarak uygulayın. Kaynak “This structured data helps Google differentiate paywalled content from the practice of cloaking, which violates spam policies.” (Türkçe çeviri) “Bu yapılandırılmış veri, Google’ın ücretli içeriği spam politikalarını ihlal eden cloaking uygulamasından ayırt etmesine yardımcı olur.”
MDN — teknik tanım
- “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.” (Türkçe çeviri) “HTTP 401 Unauthorized istemci hata yanıtı durum kodu, istenen kaynak için geçerli kimlik doğrulama bilgileri bulunmadığından isteğin başarısız olduğunu belirtir.” — MDN Web Docs (ikincil teknik kaynak; SEO’ya özgü değildir). Jump to quote
- “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.” (Türkçe çeviri) “401 Unauthorized, 403 Forbidden yanıtına benzer; ancak 403, istekte geçerli kimlik bilgileri bulunduğu hâlde istemcinin belirli bir eylemi gerçekleştirme izni olmadığında döndürülür.” Jump to quote
John Mueller, Google (Search Engine Journal tarafından aktarıldı)
- Kural: Bu uygulama notu, durum kodu yetkilendirmesi için incelemenin ilgili noktasını kısa bir örnekle somutlaştırır; kanıtı ve doğru kullanım kararını Türkçe olarak uygulayın. Kaynak “that would include GoogleBot” (Türkçe çeviri) Bu cümle, uygulamadaki kararın dayandığı normatif noktayı açıklıyor.
401 ve 403 — hangisini görüyorum, düzeltmem gerekiyor mu?
Okurların gerçekten sahip olduğu iki soru şudur: bu 401 mi, 403 mü? ve sorun mu? İçeriğe geçin.
Diagnosing a 401 / 403 on your page
İstem: istenmeyen bir 401’i teşhis etme
Etkilenen bir URL’nin anonim yanıt başlıklarını ve ilgili auth, CDN veya middleware yapılandırmasını yapıştırın. Önce token’ları, çerezleri ve sırları kaldırın.
Diagnose why this public URL returns HTTP 401 to an unauthenticated client. Check for
a valid WWW-Authenticate challenge, separate origin authentication from CDN/WAF and
application middleware, and distinguish an intentional private gate from a public-page
regression. Return: evidence, likely issuing layer, minimum safe fix, and exact
anonymous validation requests. Do not recommend user-agent-only bot allowlisting.
[PASTE SANITIZED HEADERS, LOG EVENT, AND CONFIG]İstem: bir kimlik doğrulama istisnasını inceleme
Review this proposed crawler-access rule for a gated site. Identify whether it relies
only on a spoofable user-agent, whether crawler identity is verified by published IP
ranges or reverse-and-forward DNS, and whether serving different content would create
a cloaking risk. Give a least-privilege alternative and a rollback test.
[PASTE SANITIZED RULE] Shell: anonim meydan okumayı inceleme
Bunu tarayıcı çerezleri veya kimlik bilgileri olmadan bir terminalde çalıştırın.
URL='https://example.com/private'
curl -sS -D - -o /dev/null "$URL"Gerçek 401 için WWW-Authenticate başlığını inceleyin. Herkese açık URL kimliksiz istekte 401, oturum açtığınız tarayıcıda 200 döndürüyorsa yukarıda anlatılan kimlik doğrulama durumu tuzağına düşmüşsünüzdür.
PowerShell: aynı anonim yanıtı inceleme
$response = Invoke-WebRequest -Uri 'https://example.com/private' -SkipHttpErrorCheck
$response.StatusCode
$response.Headers['WWW-Authenticate']Shell: genel ve iddia edilen bot user-agent’larını karşılaştırma
URL='https://example.com/page'
curl -sS -o /dev/null -w 'generic %{http_code}\n' "$URL"
curl -sS -o /dev/null -w 'claimed-bot %{http_code}\n' -A 'Googlebot' "$URL"Karşılaştırma bir user-agent kuralını açığa çıkarabilir, ancak Googlebot’u doğrulamaz; herhangi bir istemci bu dizeyi gönderebilir. Erişim kurallarını değiştirmeden önce gerçek tarayıcı trafiğini IP veya reverse-and-forward DNS ile ayrıca doğrulayın.
401’i döndüren katmanı bulmaya yarayan araçlar
- Bulk HTTP Status Code Checker: tarayıcı oturumunuz olmadan hangi herkese açık URL’lerin 401 döndürdüğünü doğrulayın ve etkilenen kümeyi dışa aktarın.
- HTTP Header Checker: yanıtı veren katmana ilişkin ipuçları için
WWW-Authenticate, önbellek/CDN başlıkları ve yönlendirme sıçramalarını inceleyin. - Googlebot Verifier: erişim istisnası oluşturmadan önce tarayıcı IP kanıtını doğrulayın; user-agent dizesi tek başına hiçbir şeyi kanıtlamaz.
- Search Console URL Inspection, Live Test: düzeltmeden sonra Google’ın canlı getirmesinin neye erişebildiğini doğrulayın.
- CDN/WAF güvenlik olayları ve kaynak günlükleri: 401’i edge, uygulama veya kaynak katmanından hangisinin ürettiğini belirlemek için istek kimliği ile zamanı eşleştirin.
Kendinizi test edin: 401 Unauthorized
401’in ne anlama geldiği ve arama motorlarının bunu nasıl ele aldığı hakkında beş kısa soru. Her biri için bir yanıt seçin, ardından kontrol edin.
Değişiklik günlüğü
22 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
9 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
17 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
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.