İçeriğe geç

301, 302, 307 ve 308 Yönlendirme Kodlarının Farkları

Kısa cevap: HTTP yönlendirmesi, tarayıcı veya botun isteği başka bir URL üzerinden sürdürmesini sağlar. 301 ve 308 kalıcı; 302 ve 307 geçici yönlendirme bildirir. 307 ile 308, isteğin HTTP yönteminin ve gövdesinin korunması açısından daha belirgin kurallar taşır. Her kodun aynı olduğunu varsaymak özellikle form ve API uçlarında soruna neden olabilir.

Dört kodun karşılaştırması

Kod Taşınmanın niteliği İstek yöntemi Tipik kullanım
301 Moved Permanently Kalıcı Tarihsel istemciler POST’u GET’e çevirebilir Kalıcı sayfa adresi değişikliği
302 Found Geçici İstemciler POST’u GET’e çevirebilir Kısa süreli alternatif URL
307 Temporary Redirect Geçici Yöntem ve gövde korunur Geçici API veya işlem yönlendirmesi
308 Permanent Redirect Kalıcı Yöntem ve gövde korunur Kalıcı işlem ucu taşınması

URL taşındığında hangi kod seçilir?

Eski bir rehber tamamen yeni bir URL’ye taşındıysa ve ziyaretçinin aynı amaçtaki içeriği yeni adreste bulması bekleniyorsa kalıcı yönlendirme uygun olabilir. Geçici bakım veya kısa süreli ayrı sayfa gösterimi için geçici kod değerlendirilebilir. İçeriği kaldırılmış her adresi ana sayfaya yönlendirmek doğru çözüm değildir; kullanıcıya karşılığı bulunmuyorsa 404 veya 410 yanıtı daha anlamlı olabilir.

Google, kalıcı yönlendirmeleri hedef URL’nin kanonik olarak tercih edilmesine ilişkin güçlü bir sinyal; geçici yönlendirmeleri ise daha zayıf bir sinyal olarak ele alır. Ancak bir yönlendirme kurmak yeni adresin arama sonuçlarında belirli bir sıraya çıkmasını garanti etmez.

Örnek: Eski bir rehberin adresi değişti

https://example.com/eski-rehber/ adresinin yerine https://example.com/yeni-rehber/ geçtiğini varsayalım. İki sayfa anlam bakımından eşdeğerse eski adreste HTTP 301/308 dönüşü ve Location başlığında yeni URL verilmesi beklenir. Eski adresteki tüm dahili bağlantılar da mümkünse doğrudan yeni adrese çevrilir. Böylece ziyaretçi gereksiz yönlendirme zinciri izlemez.

HTTP/1.1 301 Moved Permanently
Location: https://example.com/yeni-rehber/

Bu bir HTTP yanıtı örneğidir; WordPress içine yapıştırılacak PHP kodu değildir. Gerçek uygulama web sunucusu veya yönlendirme aracı üzerinde yapılandırılır.

307 ve 308 neden API’lerde önemlidir?

Bir formun POST isteği başka adrese aktarılırken gövdenin ve yöntemin korunması gerekiyorsa 307 veya 308 tercih edilebilir. Bir API isteği alışveriş sepeti veya kimlik doğrulama işlemi başlatıyorsa yöntemin yanlışlıkla GET‘e dönmesi işlevsel hata yaratabilir. Bununla birlikte tarayıcı davranışını gerçek entegrasyon üzerinde test etmek gerekir. Gizli form verilerini kayıt dosyalarında veya URL parametrelerinde tutmayın.

Yönlendirme testinde bakılacaklar

  1. Eski URL’de tam hangi durum kodu dönüyor, Location nereye işaret ediyor?
  2. Yeni hedef 200 yanıtı ve beklenen içeriği sunuyor mu?
  3. Birden fazla atlama veya yönlendirme döngüsü var mı?
  4. HTTP’den HTTPS’ye geçiş tutarlı mı?
  5. İç bağlantı, canonical ve XML sitemap yeni URL’yi mi gösteriyor?
  6. POST gibi özel yöntemlerin gerektiği yerde korunduğu test edildi mi?

404 ve yönlendirme rehberi, canonical URL anlatımı ve sitemap kontrolü bu süreci tamamlar.

Sık sorulan sorular

301 ile 308 arama motoru için aynı mı?

İkisi de kalıcı taşıma bildirir; ancak HTTP yöntemini koruma davranışları farklıdır. Uygulama gereksinimini dikkate alın.

Her kırık bağlantıyı ana sayfaya yönlendirmeli miyim?

Hayır. Eski içeriğin gerçek karşılığı varsa ona yönlendirin; karşılığı yoksa uygun 404/410 durumunu değerlendirin.

302 kullanınca Google yeni URL’yi asla indekslemez mi?

Böyle kesin bir kural yoktur. Geçici yönlendirme, kalıcı olana göre farklı bir kanonik sinyal verir.

Resmî kaynaklar

Bu içerik genel bilgilendirme içindir. Yazıdaki teknik önerileri kendi altyapınızın sürümüne ve ihtiyaçlarına göre doğrulayın. Hata fark ederseniz editörlere bildirin.