HTTP Durum Kodları
İnternetin hayatımıza girmesiyle birlikte karşılaştığımız kavramlardan biri olan HTTP (Hyper Text Transfer Protocol – Hiper Metin Transfer Protokolü), bilgisayarımızdaki ya da telefonumuzdaki ekranda web sayfalarını görmemizi sağlayan iletişim protokolü olarak tanımlanabilir.
Safari, Chrome ya da Mozilla fark etmeksizin herhangi bir tarayıcıdan herhangi bir web sayfasını görüntülemek istediğimizde cihazımızdan web sayfasının sunucusuna bir istek gider ve bu isteğe gelen yanıta yani durum koduna bağlı olarak da web sayfasına erişim durumumuz neticelenir.
Örneğin; gönderilen isteğe sunucu tarafından yanıt gelmediği durumda en popüler HTTP durum kodlarından biri olan 500 ile karşılaşırken, istek gönderdiğimiz web sayfasının bulunamaması halinde ise 404 yanıt kodu ile dönüş alırız.
HTTP Durum Kodları Neden Önemli?
Kullanıcıların ya da arama motoru botlarının çeşitli nedenlerden ötürü bir web sitesinin akışı içerisinde yer alan web sayfalarına ulaşamaması, SEO (Arama Motoru Optimizasyonu) performansı üzerinde belirgin ölçüde olumsuz etkiye sahiptir. Dolayısıyla web sayfasının kullanıcının tarayıcısındaki durumunu ifade eden HTTP durum kodlarının düzenli takip edilmesi hayli önemlidir.
Özellikle akışın yoğun olduğu içerik ya da e-ticaret sitelerinde 3xx – 4xx yanıt kodları ile karşılaşılması hayli muhtemeldir. Kullanıcı ve arama motoru botlarının deneyimlerini olumsuz yönde etkileyen bu HTTP durum kodlarının takibinde Screaming Frog, Ahrefs ve Oncrawl başta olmak üzere birçok farklı analiz aracı kullanılabilir.
Yine yaygın bir şekilde karşılaşılan ve sunucu kaynaklı problemleri ifade eden 5xx yanıt kodlarının takibinde ise analiz araçlarının yanı sıra Google’ın Search Console’da verdiği “host status” datalarını takip edebiliriz. Bu datalarda doğrudan 5xx yanıt kodlarına yer verilmese de sunucudaki kesintilerin takip edilmesini sağlaması açısından önemlidir.
Periyodik kontroller ile tercih edeceğimiz analiz aracında düzenli audit’ler aldığımız takdirde web sitemizin akışı içerisinde yer alan sayfaların tümüne kullanıcıların ve arama motoru botlarının sorunsuz bir şekilde ulaştığından emin olabiliriz.
Burada dikkat edilmesi gereken nokta; web sitelerinin dinamik yapılar olması nedeniyle kapsamına da bağlı olarak 3xx – 4xx yanıt kodlarının hayli doğal olduğudur. Binlerce ürünü ve yüze yakın kategorisi olan bir e-ticaret sitesinde karşılaştığımızda %0.5’lik 4xx yanıt kodlarının crawl budget performansı üzerinde devasa bir etkiye sahip olduğunu söyleyemeyiz.
Arama motoru botlarının crawl akışına ettiği web sayfalarının HTTP durum kodları noktasındaki oranını Search Console’da “crawl stats” bölümümden takip edebiliriz.
Örnekte görülen çıktılara baktığımızda, ilgili web sitesinin crawl akışındaki web sayfalarının %90’ının 200 yanıt kodu, %6’sının 301 yanıt kodu, %3’ünün ise 404 yanıt kodu döndürüğünü görüyoruz.
HTTP Durum Kodlarına Genel Bakış
Tarayıcı ve sunucu arasındaki iletişimi ifade eden birçok HTTP durum kodu olsa da bu kodların temelde 5 farklı grupta toplandığını görürüz. HTTP durum kodlarındaki bu gruplandırmayı aşağıdaki gibi detaylandırabiliriz.
- 1xx: İsteğin tarayıcı tarafından sunucuya gönderildiğini ve sunucu tarafında bu isteğe yanıt verme işleminin başlayacağını ifade eden HTTP durum kodlarıdır.
- 2xx: Tarayıcıdaki isteğin sunucuya sorunsuz bir şekilde ulaştığı ve sunucuda başarıyla yanıt bulduğu yani web sayfasının kullanıcıya gösterildiği durumda döndürülen HTTP kodlarıdır.
- 3xx: Erişim isteği gönderilen web sayfası ya da web sitesinin farklı bir kaynakta olması durumunda karşılaşacağımız durum kodlarıdır.
- 4xx: Tarayıcının bulunduğu isteğin sunucuda başarıyla yanıtlanmasına karşın istekte bulunulan web sitesi ya da web sayfasına ulaşılamaması durumunda ortaya çıkan HTTP durum kodlarıdır.
- 5xx: Tarayıcının erişim isteğini sunucuya başarıyla iletmesine karşın bu isteğe sunucunun yanıt verememesi halinde ortaya çıkan durum kodlarıdır.
3xx ve 4xx Yanıt Kodları Nasıl Optimize Edilir?
Kullanıcıların bir web sitesinin akışı içerisinde yer alan web sayfalarına çeşitli yollarla ulaşmaya çalışırken bu sayfalara ulaşamaması ya da yönlendirme ile ulaşması, web sitesinin SEO performansına zarar vermesi dolayısıyla çözümlenmesi gereken bir problemdir.
Bir önceki satırlarda da ifade ettiğimiz gibi 3xx ve 4xx yanıt kodlarını tespit ederken On Page SEO Audit yapan Screaming Frog, Ahrefs ve Oncrawl başta olmak üzere daha birçok farklı SEO aracı kullanılabilir.
Örneğin; X sayfamızdan, kullanıcıların ilgisini çekebilecek ve arama motoru botları boyutunda ilişkisellik kavramını destekleyecek bir strateji uygulayarak Y sayfamıza “örnek link” text’i ile internal link çıkışı yaptığımızı, bir süre sonra da çeşitli nedenlerden ötürü bu Y sayfamızı sildiğimizi düşünelim.
Farklı kaynaklardan trafik alan yani kullanıcı çeken ve arama motoru botlarının belirli periyotlarda crawl amacıyla ziyaret ettiği X sayfasında 404 yanıt kodu döndüren bu link, kullanıcı deneyimini olumsuz yönde etkiler ve bu nedenle “örnek link” text’indeki bağlantıyı kaldırmamız gerekir.
Örneğimizdeki durumları tespit etmek amacıyla Screaming Frog kullandığımızı varsayalım. Analiz aracımızda crawl tamamlandıktan sonra “Response Codes” altında yer alan “Client Error (4xx)” bölümüne geldiğimizde web sitemizde 4xx yanıt kodu döndüren URL’leri bulabiliriz.
4xx yanıt kodu döndüren URL’lerden herhangi birine tıkladığımızda “Inlinks” bölümünde “From – To – Anchor – Status Code – Status” vb. birçok detayı yani aslında ilgili URL’imizin web sitemizdeki akış içerisinde yer aldığı noktayı göreceğiz. Bu noktayı tespit ettikten sonra tek yapmamız gereken bu URL’i akıştan kaldırmak adına müdahale etmek.
4xx ya da 3xx bağlantılar header ve footer menü yapısında, sidebar alanlarında ve text bölümlerinde karşımıza çıkabilir. From-to mantığı ile bu bağlantıların akışını tespit ettikten sonra ilgili URL’leri varsa 200 yanıt kodu döndürecek doğru URL formları ile değiştirebiliriz.
4xx URL’leri Yönlendirmeli miyiz?
Web sitemizin akışı içerisinde artık yer almamasına karşın dijital dünyanın farklı noktalarında kullanıcıların erişebildiği bir X sayfası ve bu sayfa ile Google sonuçlarında karşılaşarak sayfayı ziyaret eden bir kullanıcı düşünelim.
X sayfası artık yayında olmadığı için 404 yanıt kodu döndüren bir sayfayı ziyaret edecek ve bu da kullanıcı deneyimini olumsuz etkileyecektir. Her ne kadar artık yayında olmayan X sayfasının mutlaka başak bir sayfaya yönlendirilmesi gerekir gibi dursa da Google’ın bu noktadaki tavsiyesi;
“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.”
şeklindedir.
Google, 404 yanıt kodu döndüren bir sayfada kullanıcı deneyimini geliştirerek kullanıcıyı akışa kazandırabilmek ve web sitesinde kalmasını sağlamak adına efektif bir 404 sayfa tasarımı noktasında;
- 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.
önerilerini sıralar.
Başka bir örneğimizde de içeriğinin değişmesi ve genişlemesine bağlı olarak URL yapısı değişen bir Y sayfası düşünelim.
/y-eski olan URL yapısının /y-yeni olması durumunda /y-eski URL’inin 404 yanıt kodu döndürmesini engellemek adına /y-eski >> 301 Redirection >> /y-yeni yapmamız gerekir.
Bir önceki durumdan farklı olan bu örnekte yapacağımız yönlendirme ile kullanıcı ve arama motoru botlarına web sayfamızın taşındığını ifade edebiliriz.
Konuyla İlgili
https://developers.google.com/search/docs/advanced/crawling/soft-404-errors