301 ve 302 yönlendirme farkı: Hangi yönlendirme ne zaman kullanılır?

301 yönlendirme kalıcı, 302 yönlendirme geçici bir taşınmayı bildirir. Bir sayfanın adresi kalıcı olarak değiştiğinde 301 kullanılır ve Google zamanla arama sonuçlarında yeni adresi göstermeye başlar. Sayfa kısa bir süre için başka bir adrese gönderiliyorsa, örneğin bakım ya da geçici bir kampanya için, 302 kullanılır ve Google genellikle eski adresi sonuçlarda tutar. Yanlış türü seçmek, yeni adresin sonuçlarda geç görünmesine ya da eski adresin hiç bırakılmamasına yol açabilir.
Yönlendirme, SEO’nun en sık kullanılan araçlarından biri. Ürün adı değişir, kategori taşınır, kampanya biter, site yenilenir. Her seferinde bir adres başka bir adrese gönderilir. Hangi türün seçildiği ve yönlendirmelerin nasıl kurulduğu, bu değişikliklerin sıralamaya etkisini belirler.
Kalıcı yönlendirmeler: 301 ve 308
301 yönlendirme, sayfanın yeni adrese kalıcı olarak taşındığını söyler. Google bunu, yeni adresin sayfanın asıl adresi olduğuna dair güçlü bir sinyal olarak kullanır. Eski adresin sıralaması ve linkleri zamanla yeni adrese aktarılır.
308 de kalıcı bir yönlendirmedir. 301’den farkı, gelen isteğin türünü değiştirmeden yönlendirmesidir. SEO açısından 301 ile aynı şekilde değerlendirilir.
Kalıcı yönlendirme şu durumlarda kullanılır:
- Bir sayfanın adresi değiştiğinde
- İki sayfa tek sayfada birleştirildiğinde
- Kaldırılan bir sayfanın yerini tutan bir sayfa olduğunda
- Sitenin
httpvehttps,wwwvewww’suz sürümleri tek bir sürüme toplandığında - Site yeni bir alan adına taşındığında
Geçici yönlendirmeler: 302 ve 307
302 yönlendirme, sayfanın kısa bir süre için başka bir adreste olduğunu söyler. Google yönlendirmeyi takip eder, ama asıl adres olarak genellikle eski adresi tutar. 307 de geçici bir yönlendirmedir ve 302 gibi değerlendirilir.
Geçici yönlendirmenin doğru kullanıldığı durumlar azdır:
- Sayfa bakımdayken ziyaretçiyi geçici bir sayfaya göndermek
- Kısa süreli bir kampanya için bir sayfayı başka bir sayfaya yönlendirmek
- Ziyaretçiyi diline ya da konumuna göre farklı bir sayfaya göndermek
Sahada en sık gördüğüm hata, kalıcı bir değişiklik için 302 kullanılması. Bunun sebebi çoğu zaman bilinçli bir tercih değildir: bazı altyapılar ve eklentiler yönlendirme türünü sormadan 302 kurar. Google uzun süre yerinde kalan bir 302’yi zamanla kalıcı gibi değerlendirmeye başlayabilir, ama bu onun kararıdır ve zaman alır. Taşınma kalıcıysa en baştan 301 kullanın.
Meta refresh ve JavaScript yönlendirmeleri
Yönlendirme sunucu tarafında yapılamıyorsa iki seçenek daha var.
Meta refresh, sayfanın HTML’ine eklenen bir etikettir ve tarayıcıya belirli bir süre sonra başka bir adrese gitmesini söyler. Google, sıfır saniyelik (anında) meta refresh’i kalıcı yönlendirme olarak, gecikmeli olanı ise geçici yönlendirme olarak değerlendirir.
JavaScript yönlendirmesi, sayfa yüklendikten sonra çalışan bir kodla yapılır. Google bunu ancak sayfayı işledikten sonra görebilir. İşleme bir sebeple başarısız olursa yönlendirmeyi hiç görmeyebilir. Bu yüzden Google, JavaScript yönlendirmesini yalnızca sunucu tarafında yönlendirme ve meta refresh mümkün olmadığında önerir. Bu konuyu JavaScript SEO yazısında anlattım.
Sıralama açıktır: önce sunucu tarafında 301, olmuyorsa anında meta refresh, en son çare olarak JavaScript.
Yönlendirme zincirleri
Yönlendirme zinciri, bir adresin başka bir adrese, o adresin de başka bir adrese yönlenmesidir:
/eski-urun/ → /urun-v2/ → /urun-v3/ → /urun/
Zincirler genellikle zamanla oluşur. Bir sayfa birkaç kez taşınır ve her seferinde yalnızca son adresten yeni adrese bir yönlendirme eklenir. Eski yönlendirmeler güncellenmez.
Google bir zinciri belirli bir sayıya kadar takip eder. Google’ın dokümanlarına göre Googlebot en fazla 10 yönlendirmeyi takip eder, bu sınır aşılırsa Search Console’da yönlendirme hatası gösterilir. Ama sınıra ulaşılmasa da her adım sayfanın açılmasını yavaşlatır ve tarama sırasında gereksiz istekler oluşturur.
Çözüm basittir: her eski adres doğrudan son adrese yönlenmelidir.
/eski-urun/ → /urun/
/urun-v2/ → /urun/
/urun-v3/ → /urun/
Bir sayfayı taşıdığınızda, o sayfaya daha önce yönlenen adresleri de kontrol edin ve yeni adrese güncelleyin.
Yönlendirme döngüleri
Döngü, bir adresin sonunda kendisine geri yönlenmesidir: A’dan B’ye, B’den A’ya. Ziyaretçi sayfayı açamaz ve tarayıcı “çok fazla yönlendirme” hatası verir. Google da sayfaya ulaşamaz.
Döngüler genellikle iki farklı kuralın birbiriyle çakışmasından doğar. Örneğin sunucuda adresin sonuna eğik çizgi ekleyen bir kural, bir eklentide de eğik çizgiyi kaldıran bir kural varsa. Yeni bir yönlendirme kuralı eklediğinizde etkilediği birkaç adresi tarayıcıda açarak kontrol edin.
Site içi linkler
Yönlendirme kurulduktan sonra sitenin içindeki linkler de güncellenmelidir. Menüde, kategori sayfalarında ve yazılarda eski adrese verilen linkler yönlendirmeden geçerek çalışmaya devam eder, ama her tıklama ve her tarama gereksiz bir adım içerir. Google’a da hangi adresin asıl adres olduğu konusunda karışık bir sinyal gönderir.
Site haritası da yalnızca son adresleri içermelidir. Yönlenen bir adresi site haritasında tutmak, Google’a “bu sayfayı dizine ekle” derken aynı anda “bu sayfa taşındı” demektir.
Yönlendirmeleri nasıl kontrol edersiniz?
Tek bir adresin yönlendirmesini kontrol etmek için tarayıcı eklentileri ya da çevrimiçi HTTP durum kodu kontrol araçları kullanılabilir. Bu araçlar adresin hangi kodu döndürdüğünü ve hangi adrese yönlendiğini adım adım gösterir.
Sitenin tamamı için Screaming Frog gibi bir tarama aracı kullanın. Bu araçlar sitedeki bütün yönlendirmeleri, zincirleri ve döngüleri listeler, eski adrese link veren sayfaları da gösterir.
Search Console’da Sayfalar raporundaki “Yönlendirmeli sayfa” ve “Yönlendirme hatası” satırları da fikir verir. İlki normaldir ve yönlenen adreslerin dizine eklenmediğini gösterir. İkincisi ise incelenmesi gereken bir sorundur. Google’ın sitenizi nasıl taradığını görmek için tarama istatistikleri raporu da yanıt kodlarının dağılımını gösterir.
Kaldırılan sayfalar için yönlendirme mi yoksa 404 mü gerektiğine karar vermek ayrı bir konu. Bunu 404 hataları yazısında anlattım. Adres değişikliğine hiç gerek kalmaması için en baştan kalıcı adresler kurmanın yolunu da SEO uyumlu URL yapısı yazısında bulabilirsiniz.
Sık Sorulan Sorular
301 ile 302 arasındaki fark nedir?
301 kalıcı yönlendirmedir ve Google'a sayfanın yeni adrese kalıcı olarak taşındığını söyler. Google zamanla arama sonuçlarında yeni adresi gösterir. 302 geçici yönlendirmedir ve sayfanın kısa bir süre için başka bir adreste olduğunu söyler. Google bu durumda genellikle eski adresi sonuçlarda tutar.
Yanlışlıkla 302 kullandım, ne olur?
Yönlendirme uzun süre yerinde kalırsa Google bunu çoğu zaman kalıcı bir taşınma gibi değerlendirmeye başlar. Ama bu Google'ın kendi kararıdır ve zaman alır. Taşınma kalıcıysa yönlendirmeyi 301 olarak düzeltmek en temiz yoldur.
Yönlendirmeleri ne kadar süre tutmalıyım?
Mümkünse kalıcı olarak. Google yeni adresi öğrendikten sonra da eski adrese başka sitelerden link verilmeye, yer imlerinden ve eski paylaşımlardan ziyaret gelmeye devam eder. Yönlendirme kaldırılırsa bu ziyaretler ve linkler 404 hatasına düşer.
308 ve 307 yönlendirme nedir?
308, 301 gibi kalıcı, 307 ise 302 gibi geçici bir yönlendirmedir. Farkları teknik bir ayrıntıdır: istek türünü (örneğin bir form gönderimini) değiştirmeden yönlendirirler. Google 308'i 301 gibi, 307'yi 302 gibi değerlendirir.