HTTP durum kodları ile ağ ve DNS hatalarının Google Arama'ya etkileri

Bu sayfada, farklı HTTP durum kodları ile ağ ve DNS hatalarının Google Arama üzerindeki etkileri açıklanmaktadır. Açıklamalarda Googlebot'un web'de en sık karşılaştığı 20 durum kodunun yanı sıra, en belirgin ağ ve DNS hatalarına yer verdik. 418 (I'm a teapot) gibi pek yaygın olmayan durum kodlarını bu sayfaya dahil etmedik. Bu sayfada değinilen sorunların her biri, Search Console'un sayfa dizine ekleme raporunda bir hata veya uyarı oluşturur.

HTTP durum kodları

HTTP durum kodları, siteyi barındıran sunucu tarafından web tarayıcısı veya arama motoru tarayıcısı gibi istemcilerin isteklerine yanıt verirken oluşturulur. Her HTTP durum kodunun anlamı farklıdır ancak isteğin ulaştığı sonuç genellikle aynıdır. Örneğin, yönlendirme sinyali taşıyan birden fazla durum kodu vardır ancak bunların sonuçları aynıdır.

Search Console, 4xx–5xx aralığındaki durum kodları ve başarısız olan yönlendirmeler (3xx) için hata mesajları oluşturur. Sunucu yanıtında 2xx durum kodu bulunması halinde, yanıtta alınan içeriğin dizine eklenmesi değerlendirilebilir.

Aşağıdaki tabloda, Googlebot tarafından en çok karşılaşılan HTTP durum kodları ve Google'ın her durum kodunu nasıl işlediğiyle ilgili açıklama bulunmaktadır.

HTTP durum kodları

2xx (success)

Google, içeriği dizine eklemek üzere değerlendirir. İçeriğin boş sayfa veya hata mesajı gibi bir hataya işaret etmesi halinde Search Console soft 404 hatası gösterir.

200 (success)

Google, içeriği, dizine ekleme hattına iletir. Dizine ekleme sistemleri, içeriği dizine ekleyebilir ancak bu garanti edilmez.

201 (created)
202 (accepted)

Googlebot, içerik için belirli bir süre bekler ve ardından, almış olduğu içeriklerin tamamını dizine ekleme hattına iletir. Zaman aşımı, kullanıcı aracısına bağlıdır. Örneğin, Googlebot Akıllı Telefon, Googlebot Görsel'den farklı bir zaman aşımı değerine sahip olabilir.

204 (no content)

Googlebot, dizine ekleme hattına içerik almadığını iletir. Search Console, sitenin sayfa dizine ekleme raporunda bir soft 404 hatası gösterebilir.

3xx (redirection)

Googlebot, en fazla 10 yönlendirme atlamasını izler. Tarayıcı 10 atlama boyunca içerik almazsa Search Console, sitenin sayfa dizine ekleme raporunda yönlendirme hatası gösterir. Googlebot'un kaç atlama izleyeceği, kullanıcı aracısına bağlıdır. Örneğin, Googlebot Akıllı Telefon, Googlebot Görsel'den farklı bir değere sahip olabilir.

Robots.txt bulunması halinde Google, RFC 1945 tarafından tanımlandığı şekilde en az beş yönlendirme atlamasını izler ve ardından durup bunu robots.txt dosyası için bir 404 olarak işler.

Googlebot'un yönlendirme URL'sinden aldığı içerik yoksayılırken nihai hedef URL'lerinin içeriği dizine eklenmek üzere dikkate alınır.

301 (moved permanently)

Googlebot, yönlendirmeyi izler ve yönlendirme, dizine ekleme hattı tarafından yönlendirme hedefinin standart URL olması gerektiği yönünde güçlü bir sinyal olarak kullanır.

302 (found)

Googlebot, yönlendirmeyi izler ve yönlendirme, dizine ekleme hattı tarafından yönlendirme hedefinin standart URL olması gerektiği yönünde zayıf bir sinyal olarak kullanır.

303 (see other)
304 (not modified)

Googlebot, dizine ekleme hattına, içeriğin son tarandığı haliyle aynı olduğunu iletir. Dizine ekleme hattı, URL'nin sinyallerini tekrar hesaplayabilir ancak durum kodunun dizine ekleme üzerinde başka bir etkisi olmaz.

307 (temporary redirect) 302 etiketine eş değer.
308 (moved permanently) 301 etiketine eş değer.

4xx (client errors)

Google'ın dizine ekleme hattı, 4xx durum kodu döndüren URL'leri dizine eklemek üzere değerlendirmez ve halihazırda dizine ekli olup 4xx durum kodu döndüren URL'ler dizinden kaldırılır.

Googlebot'un 4xx durum kodunu döndüren URL'lerden aldığı içerik yoksayılır.

400 (bad request)

429 dışındaki tüm 4xx hataları, aynı şekilde işlenir: Googlebot, dizine ekleme hattına içeriğin mevcut olmadığını iletir.

URL, daha önce dizine eklenmişse dizine ekleme hattı tarafından dizinden kaldırılır. Yeni karşılaşılan 404 sayfaları işlenmez. Tarama sıklığı kademeli olarak azalır.

401 (unauthorized)
403 (forbidden)
404 (not found)
410 (gone)
411 (length required)
429 (too many requests)

Googlebot, 429 durum kodunu sunucunun aşırı yüklü olduğu yönünde bir sinyal olarak işler ve bu durum sunucu hatası olarak kabul edilir.

5xx (server errors)

5xx ve 429 sunucu hataları, Google'ın tarayıcılarını geçici olarak taramayı yavaşlatmaya sevk eder. Halihazırda dizine ekli olan URL'ler dizinde tutulur ancak taranmaları mümkün olmazsa sonunda dizinden çıkarılırlar.

Robots.txt dosyası 30 günden uzun bir süre boyunca sunucu hatası durum kodu döndürürse Google, robots.txt dosyasının önbelleğe alınan en son kopyasını kullanır. Bu kopya mevcut değilse Google, herhangi bir tarama kısıtlamasının olmadığını varsayar.

Googlebot'un 5xx durum kodunu döndüren URL'lerden aldığı içerik yoksayılır.

500 (internal server error)

Googlebot, sitenin tarama hızını düşürür. Tarama hızındaki düşüş, sunucu hatası döndüren ayrı URL'lerin sayısıyla orantılıdır. Google'ın dizine ekleme hattı, kalıcı olarak sunucu hatası döndüren URL'leri dizinden çıkarır.

502 (bad gateway)
503 (service unavailable)

soft 404 hata

soft 404 hatası, bir URL isteğinde kullanıcıya, ilgili sayfanın mevcut olmadığını söyleyen bir sayfayla birlikte ayrıca 200 (success) durum kodunu döndürmesidir. Bazı durumlarda bu, ana içeriği olmayan veya boş olan bir sayfa olabilir.

Bu tür sayfalar, web sitenizin web sunucusu ya da içerik yönetim sistemi veya kullanıcının tarayıcısı tarafından çeşitli nedenlerle oluşturulabilir. Örneğin:

  • Eksik olan bir SSI dosyası.
  • Bozuk bir veritabanı bağlantısı.
  • Boş, dahili arama sonucu sayfası.
  • Yüklenmemiş veya başka nedenle kullanılamayan JavaScript dosyası.

200 (success) durum kodunu döndürüp ardından sayfada bir hata mesajı ya da bir tür hata olduğunu görüntülemek veya önermek kötü bir kullanıcı deneyimidir. Kullanıcılar, sayfanın yayında olan bir sayfa olduğunu düşünürken bir tür hata mesajıyla karşılaşır. Bu tür sayfalar Arama'ya dahil edilmez.

Google'ın algoritmaları tarafından sayfanın içeriğine göre aslında bir hata sayfası olduğu algılandığında, Search Console, sitenin sayfa dizine ekleme raporunda bir soft 404 hatası gösterir.

soft 404 hatalarını düzeltme

Sayfanın durumuna ve istenen sonuca bağlı olarak soft 404 hatalarını birden fazla yöntemle çözebilirsiniz:

Kullanıcılarınız için en iyi çözümün hangisi olduğuna karar verin.

Sayfa ve içerik artık mevcut değil

Sayfayı kaldırdıysanız ve sitenizde yerini alacak benzer içeriğe sahip sayfa yoksa kaldırılan sayfa için 404 (not found) veya 410 (gone) yanıt (durum) kodu döndürün. Bu durum kodları, arama motorlarına hem sayfanın mevcut olmadığını hem de içeriğin dizine eklenmemesi gerektiğini belirtir.

Web sunucunuzun yapılandırma dosyalarına erişiminiz varsa bu hata sayfalarını özelleştirerek kullanıcılarınız için yararlı hale getirebilirsiniz. İyi bir özel 404 sayfası, kullanıcıların aradıkları bilgiyi bulmalarına yardımcı olur, ayrıca kullanıcıların sitenizi daha fazla keşfetmeye yönlendiren diğer yardımcı içerikleri sağlar. Yararlı bir özel 404 sayfası tasarlamaya yönelik bazı ipuçları aşağıda verilmiştir:

  • Ziyaretçilere aradıkları sayfanın bulunamadığını açık bir dille belirtin. Arkadaşça ve davet edici bir dil kullanın.
  • 404 sayfanızda, sitenizin diğer bölümleriyle aynı görünümün kullanıldığından emin olun (gezinme dahil).
  • En popüler makalelerinizin veya postalarınızın bağlantılarıyla, sitenizin ana sayfasının bir bağlantısını ekleyin.
  • Kullanıcıların bozuk bağlantıları nasıl bildireceklerine dair bir yol düşünün.

Özel 404 sayfaları yalnızca kullanıcılar için oluşturulur. Bu sayfalar, arama motoru tarafından kullanılamaz. Bu nedenle, sayfaların dizine eklenmesini önlemek amacıyla sunucunun 404 HTTP durum kodunu döndürdüğünden emin olun.

Sayfa veya içerik artık başka bir yerde

Sayfanız taşındıysa veya sitenizde açık bir şekilde yenisiyle değiştirildiyse kullanıcıyı yönlendirmek için 301 (permanent redirect) döndürün. Bu, kullanıcının göz atma deneyimini kesintiye uğratmadığı gibi sayfanın yeni yerini arama motorlarına bildirmek için de iyi bir yoldur. URL'nizin gerçekten doğru kodu döndürüp döndürmediğini teyit etmek için URL denetleme aracını kullanın.

Sayfa ve içerik hâlâ mevcut

Sorunsuz bir sayfa soft 404 hatasıyla işaretlendiyse büyük olasılıkla Googlebot için düzgün şekilde yüklenmemiştir, kritik kaynaklar eksiktir veya oluşturma sırasında belirgin bir hata mesajı göstermiştir. Oluşturulan içeriği ve döndürülen HTTP kodunu incelemek için URL Denetleme aracını kullanın. Oluşturulan sayfanın büyük bölümü veya tamamı boşsa ya da içerikte bir hata mesajı varsa sayfanız yüklenemeyen birçok kaynağa (resimler, komut dosyaları ve metin dışı diğer öğeler) referans veriyor olabilir ve bu durum soft 404 olarak yorumlanabilir. Kaynakların yüklenememesinin çeşitli nedenleri vardır. Örneğin, engellenmiş kaynaklar (robots.txt tarafından engellenmiş), bir sayfada çok fazla kaynağın bulunması, çeşitli sunucu hataları ya da yavaş yüklenen/çok büyük kaynaklar gibi.

Ağ ve DNS hataları

URL'lerin Google Arama'daki varlığı üzerinde ağ ve DNS hatalarının etkisi hızlı ve olumsuz olur. Googlebot, ağ zaman aşımlarını, bağlantı sıfırlamalarını ve DNS hatalarını 5xx sunucu hataları gibi işler. Ağ hataları, sunucunun trafik yükünü taşıyamadığına işaret ediyor olabilir. Bu nedenle, ağ hatalarında tarama hızı derhal düşmeye başlar. Googlebot, siteyi barındıran sunucuya ulaşamadığından Google, sunucudan herhangi bir içerik almamıştır. İçerik eksikliği, Google'ın taranan URL'leri dizine ekleyemeyeceği anlamına gelir. Erişilemeyen URL'ler ise birkaç gün içinde Google'ın dizininden çıkarılır. Search Console, ilgili her bir hatayı belirtmek için ayrı ayrı hata oluşturabilir.

Ağ hatalarını ayıklama

Bu hatalar, Google URL'yi taramaya başlamadan önce veya Google URL'yi tararken meydana gelir. Hatalar, sunucu henüz yanıt veremeden oluşabilir ve sorunun ne olduğuna dair bir durum kodu yoktur. Bu nedenle, bu hataların teşhisi daha zor olabilir. Zaman aşımı ve bağlantı sıfırlanma hatalarını ayıklamak için:

  • Güvenlik duvarı ayarlarınıza ve günlüklerinize bakın. Bir engelleme kuralı grubunun kapsamı aşırı geniş olabilir. Googlebot IP adreslerini herhangi bir güvenlik duvarı kuralının engellemediğinden emin olun.
  • Ağ trafiğine bakın. Belirli bir ağ bileşenine veya sunucu modülüne işaret eden anormallikler olup olmadığını görmek için tcpdump ve Wireshark gibi araçlarla TCP paketlerini yakalayıp analiz edebilirsiniz.
  • Şüpheli bir bulguya rastlamazsanız barındırma şirketinizle iletişim kurun.

Hata, ağ trafiğini işleyen herhangi bir sunucu bileşeninden kaynaklanıyor olabilir. Örneğin, aşırı yüklenen ağ arayüzleri, paketleri kaybedebilir ve bu durum, zaman aşımına (bağlantı kurulamaması) ve bağlantının sıfırlanmasına (yanlışlıkla kapatılan bir bağlantı noktası yüzünden RST paketi gönderilmesi) yol açabilir.

DNS hatalarını ayıklama

DNS hatalarının en yaygın sebebi yanlış yapılandırma olsa da bu durum Googlebot DNS sorgularını engelleyen bir güvenlik duvarı kuralından da kaynaklanabilir. DNS hatalarını ayıklamak için aşağıdakileri uygulayın:

  • Güvenlik duvarı kurallarınızı inceleyin. Google IP'lerinin hiçbirini herhangi bir güvenlik duvarı kuralının engellemediğinden ve hem UDP hem de TCP isteklerine izin verildiğinden emin olun.
  • DNS kayıtlarınıza bakın. A ve CNAME kayıtlarınızın sırasıyla doğru IP adreslerine ve ana makine adına işaret ettiğini tekrar kontrol edin. Örneğin:
    dig +nocmd example.com a +noall +answer
    dig +nocmd www.example.com cname +noall +answer
  • Tüm alan adı sunucularınızın sitenizdeki doğru IP adreslerine işaret edip etmediğini kontrol edin. Örneğin:
    dig +nocmd example.com ns +noall +answer
    example.com.    86400  IN  NS  a.iana-servers.net.
    example.com.    86400  IN  NS  b.iana-servers.net.
    dig +nocmd @a.iana-servers.net example.com +noall +answer
    example.com.    86400  IN  A  93.184.216.34
    dig +nocmd @b.iana-servers.net example.com +noall +answer
    ...
  • Son 72 saat içerisinde DNS yapılandırmanızda değişiklikler yaptıysanız bu değişikliklerin global DNS ağı genelinde yayılmasını beklemeniz gerekebilir. Yayılmayı hızlandırmak için Google'ın Açık DNS önbelleğini temizleyebilirsiniz.
  • Kendi DNS sunucunuzu çalıştırıyorsanız sunucunun sağlıklı olduğundan ve aşırı yüklenmediğinden emin olun.