Tarayıcınız veya Googlebot bir sayfa istediğinde sunucu, isteğin sonucunu üç haneli bir HTTP durum kodu ile bildirir. Bu kodlar, bir sayfanın dizine eklenip eklenmeyeceğini, yönlendirmelerde sinyallerin taşınıp taşınmayacağını ve sitenizin sağlıklı olup olmadığını belirler. Teknik SEO'nun en temel konularından biridir.

Kod aileleri

SEO için önemli kodlar

200 OK

Sayfa başarıyla döndü. Dizine eklenmesini istediğiniz tüm sayfalar 200 dönmelidir.

301 ve 308: kalıcı yönlendirme

İçerik kalıcı olarak yeni bir adrese taşındı. Arama motorları yeni adresi dizinde tutar ve eski adresin sinyallerini (bağlantı değeri dahil) büyük ölçüde yeni adrese aktarır. Alan adı değişikliği, URL yapısı değişikliği ve http'den https'e geçişte kullanılır.

302 ve 307: geçici yönlendirme

Taşıma geçicidir; eski adres ileride geri gelecektir. Google uzun süre geçici yönlendirilen URL'yi zamanla kalıcıymış gibi ele alabilir, ancak niyetinizi doğru kodla bildirmek en iyisidir. Kalıcı bir taşıma için 302 kullanmak sık yapılan bir hatadır.

404 Not Found

Sayfa bulunamadı. Silinen veya hiç var olmayan sayfalar için normal ve doğrudur. Google, 404 dönen sayfaları zamanla dizinden çıkarır. Sitenizde 404'ler olması bir "ceza" sebebi değildir; sorun, önemli sayfalarınızın yanlışlıkla 404 vermesi veya hâlâ bağlantı aldığınız sayfaların yok olmasıdır.

410 Gone

Sayfa kalıcı olarak kaldırıldı ve geri gelmeyecek. Google, 404 ile 410'u aynı şekilde ele alır; ikisi de sayfanın dizinden çıkarılmasına yol açar. Fark yalnızca niyetinizi ("bu sayfa bir daha gelmeyecek") açıkça bildirmenizdir.

Soft 404

Sayfa "bulunamadı" mesajı gösterirken sunucu 200 kodu dönüyorsa buna soft 404 denir. Arama motoru bunu fark eder ve Search Console'da raporlar. Yok olan sayfa için gerçek 404 (veya 410) dönmelisiniz; "Sayfa bulunamadı" şablonu 200 ile sunulmamalıdır.

500 ve 503

500 sunucunun beklenmedik bir hata aldığını gösterir. Uzun süren veya sık tekrarlanan 5xx hataları, Google'ın taramayı yavaşlatmasına yol açabilir. 503 Service Unavailable ise geçici bakım için doğru koddur; mümkünse Retry-After başlığıyla birlikte verilir ve arama motoruna "birazdan tekrar deneyin" der. Bakım sırasında 200 ile bir "bakımdayız" sayfası göstermek, bu sayfanın dizine eklenmesine yol açabilir.

429 Too Many Requests

İstek sınırı aşıldı. Sunucunuz botlara aşırı agresif davranırsa taramayı sınırlayabilirsiniz, ama sıkı sınırlar tarama hacmini düşürür.

Sponsorlu Bağlantı

Yönlendirme zincirleri ve döngüleri

A sayfası B'ye, B de C'ye yönlendiriyorsa buna yönlendirme zinciri denir. Her adım gecikme ekler ve sinyal kaybı riski taşır; Googlebot yönlendirmeleri sınırlı sayıda (belgelerde yaklaşık 10 adım) izler. Zincirleri kısaltın: A doğrudan C'ye yönlendirilsin. Döngüler (A→B→A) ise sayfanın hiç açılmamasına neden olur.

JavaScript veya meta refresh ile yapılan yönlendirmeler, sunucu tarafı yönlendirmelere göre daha az güvenilirdir; mümkünse sunucu düzeyinde (Apache .htaccess, Nginx, uygulama) yapın.

Kodları kontrol etme

Komut satırında curl -I yalnızca başlıkları gösterir:

curl -I https://www.ornek.com/eski-sayfa
HTTP/2 301
location: https://www.ornek.com/yeni-sayfa

Yönlendirmeleri sonuna kadar izlemek için curl -IL kullanın. Tarayıcı geliştirici araçlarının "Network" sekmesi ve Search Console'ın URL Denetleme aracı da durum kodunu gösterir.

Site taşırken akılda tutulacaklar

Kaynaklar ve ileri okuma

Sık Sorulan Sorular

301 yönlendirme tüm sıralama değerini aktarır mı?

Google, 301 yönlendirmesinin sinyalleri aktardığını ve sıralama kaybı yaratmadığını belirtir; ancak yeni sayfanın içeriği eskisinden çok farklıysa sıralama doğal olarak değişebilir.

Çok sayıda 404 sitemi kötü etkiler mi?

Silinmiş sayfalar için 404 normaldir. Önemli olan, hâlâ bağlantı alan veya trafik getiren sayfaların yönlendirmesiz silinmemesi ve kendi iç bağlantılarınızın kırık adreslere gitmemesidir.

Bakım modunda hangi kodu dönmeliyim?

Kısa süreli bakım için 503 ve mümkünse Retry-After başlığı. Böylece arama motorları sayfaları dizinden çıkarmaz, daha sonra tekrar dener.