13 dk okuma
HTTP yönlendirme durum kodları: 301, 302, 303, 307 ve 308
3xx durum kodları ne anlama gelir? 301, 302, 303, 307 ve 308'in kalıcılık, metot, önbellek ve SEO farkları; nginx, Apache ve PHP örnekleriyle.
Yazıyı okuÜcretsiz yönlendirme aracı
Bir URL'nin kalıcı mı yoksa geçici mi yönlendirdiğini öğrenin. TrueURL her adımı inceler ve arama motorlarının bu taşımayı kalıcı olarak değerlendirip değerlendirmeyeceğini söyler.
Kontrol etmek için Enter tuşuna basın
Cloudflare'in uç ağı sertifikaları her zaman doğrular; bu nedenle bu seçenek doğrulamayı atlayamaz. Sertifika sorunları sonuçta raporlanır.
İlk istekle birlikte gönderilir, en fazla 16 KB. Content-Type başlığı ayarlamadığınız sürece JSON gövdeler application/json, diğerleri form verisi olarak gönderilir.
1 ile 50 arası; bu adım sayısına ulaşılınca takip durur. Tarayıcılar 20 yönlendirmeden sonra durur.
Siteler telefonları, tarama botlarını ve bağlantı önizleme botlarını farklı yönlendirebilir.
Zincirdeki her istekle birlikte gönderilir.
Özel başlık yok.
Bu başlığı göndermek için bir değer girin. Başlık değerleri hiçbir zaman kaydedilmez.
HTML sayfalarında bulunan <meta http-equiv="refresh"> etiketlerini ve Refresh başlıklarını takip eder.
Sayfa betiklerindeki location.href = "…" gibi basit, koşulsuz yönlendirmeleri takip eder.
Ayarlar bu tarayıcıda hatırlanır. Çerezler, başlık değerleri ve POST gövdesi hiçbir zaman kaydedilmez.
Sunucu, taşımanın türünü arama motorlarına durum koduyla bildirir. Kalıcı yönlendirme (301 veya 308), eski URL'nin bir daha kullanılmayacağını söyler; bu yüzden arama motorları yeni URL'yi dizine ekler ve bağlantılar gibi sinyalleri onda birleştirir. Geçici yönlendirme (302, 303 veya 307) ise eski URL'nin geri döneceğini söyler; bu yüzden eski URL genellikle dizinde kalır.
Ziyaretçiler aradaki farkı hiç görmez; yanlış bir kodun aylarca gözden kaçabilmesinin nedeni budur. Pek çok araç, aksi belirtilmedikçe geçici yönlendirme gönderir: PHP'nin header('Location: ...') fonksiyonu, Express'in res.redirect() metodu ve Apache'nin Redirect yönergesi varsayılan olarak 302 kullanır.
TrueURL yalnızca ilk adımı değil, zincirin her adımını kontrol eder:
301 ve 308'in ikisi de kalıcıdır ve Google ikisini aynı şekilde değerlendirir. Fark istek metodundadır: 301'den sonra tarayıcılar bir POST isteğini GET'e çevirebilir; 308 ise metodun ve gövdenin korunmasını garanti eder. Normal sayfalar için 301, POST istekleri almaya devam etmesi gereken API uç noktaları veya form hedefleri için 308 kullanın. Geçici ikili de aynı şekilde çalışır: 302 metodu değiştirebilir, 307 asla değiştirmez.
Tüm 3xx kodlarının kapsamlı karşılaştırması için HTTP yönlendirme durum kodları rehberimizi okuyun.
Diğer tüm durumlarda, özellikle site taşımalarında ve değişen URL'lerde 301 kullanın.
13 dk okuma
3xx durum kodları ne anlama gelir? 301, 302, 303, 307 ve 308'in kalıcılık, metot, önbellek ve SEO farkları; nginx, Apache ve PHP örnekleriyle.
Yazıyı okuEski URL'yi yukarıdaki alana girin. TrueURL, yönlendirmeleri otomatik olarak takip etmeden URL'yi ister ve her adımın tam durum kodunu gösterir. Komut satırında curl -I https://example.com/old-page komutu, -L eklemediğiniz sürece yalnızca ilk yanıtı gösterir ve meta refresh ya da JavaScript yönlendirmelerini tespit etmez. URL yönlendirmeleri nasıl kontrol edilir rehberimiz curl seçeneklerini açıklıyor.
Google, 301, 302 ve diğer sunucu taraflı yönlendirmelerin PageRank kaybettirmediğini açıkladı. Farklı olan canonical sinyalidir: 301, Google'a yeni URL'yi dizine eklemesini söyler; 302 ise eskisinin korunmasını önerir. Her iki sayfa da yeniden tarandıktan sonra sıralamalar genellikle yeni URL'ye oturur.
Google yönlendirmeleri en az bir yıl korumanızı önerir; süresiz tutmak ise daha güvenlidir: eski bağlantılar, yer işaretleri ve diğer sitelerdeki referanslar eski URL'yi yıllarca kullanmaya devam eder. Bir yönlendirme kuralını korumanın maliyeti neredeyse sıfırdır.
Yaygın nedenler, varsayılan olarak 302 kullanan bir eklenti veya framework, sizin kuralınızdan önce çalışan bir CDN ya da hosting kuralı veya önbelleğe alınmış eski bir yanıttır. Her adıma bakın: 302, kuralınızın işlediğinden farklı bir ana makineden veya yoldan geliyorsa onu başka bir katman ekliyordur.
Evet. Tarayıcılar 301 ve 308 yönlendirmelerini uzun süre, çoğu zaman önbellek temizlenene kadar saklayabilir; bu yüzden hatalı bir 301, onu zaten takip etmiş ziyaretçilerde uzun süre kalabilir. Yeni bir kuralı test ederken 302 ya da kısa bir Cache-Control: max-age kullanın, kural doğru çalıştığında 301'e geçin. TrueURL yanıtları önbelleğe almaz; bu nedenle her zaman sunucunun o anda gönderdiği yanıtı gösterir.
Google ikisini aynı şekilde değerlendirdiği için SEO açısından hayır. 308 yalnızca istek metodunun korunması gerektiğinde daha iyidir; örneğin POST istekleri alan bir API uç noktası için. Bazı çok eski istemciler 308'i anlamaz; bu yüzden web sayfaları için güvenli varsayılan seçenek hâlâ 301'dir.
Yalnızca ana sayfa gerçekten en iyi alternatifse. Google, kaldırılan sayfaların ana sayfaya yönlendirilmesini soft 404 olarak değerlendirebilir. En yakın eşdeğer sayfaya yönlendirin; böyle bir sayfa yoksa 410 Gone veya 404 Not Found döndürün.