301 mi, 302 mi (ve 307/308).
301 bir adresin kalıcı olarak taşındığını, 302 ise geçici olarak başka yerde olduğunu bildirir; site yenileme, alan adı değişikliği ve HTTPS’e geçiş gibi kalıcı taşımalarda 301 (ya da 308), geri dönecek bir sayfa için 302 (ya da 307) kullanılır. Google 301’i hedef adresin asıl adres olduğuna dair güçlü, 302’yi zayıf bir sinyal sayar.
İki kod aynı şeyi yapıyor gibi görünür: ikisinde de ziyaretçi yeni adrese ulaşır. Aradaki fark bir niyet bildirimidir ve bu bildirimi en çok arama motoru ve tarayıcı önbelleği dinler. 301 «eski adresi unut» der, 302 «eski adres geri gelecek». Site yenilemede yanlış kodu seçmek sayfayı kırmaz; yalnız arama motoruna yanlış şeyi söyler. Bu yüzden kod seçimi, site yenileme ve taşıma işinin haritasında her satır için ayrı yazılan bir karardır.
307 ve 308 aynı ikiliğin yöntem korumalı sürümleridir. HTTP standardı 301 ve 302’de tarayıcının bir form gönderimini sonraki istekte sıradan bir sayfa isteğine çevirmesine izin verir; 307 ve 308 buna izin vermez. Sıradan sayfalar için bu fark önemli değildir; form ve uygulama uç noktaları için önemlidir.
En sık hata bilinçli bir seçim değil, bir varsayılandır. Apache’nin Redirect yönergesi, Nginx’in return satırı ve Cloudflare’in _redirects dosyası kod yazılmadığında 302 gönderir. Kalıcı bir taşıma, yapılandırmayı yazan kişi kodu unuttuğu için geçici görünebilir. Her ortam için doğru satırlar 301 yönlendirme rehberinde; geçici yönlendirmenin tanımı 302 yönlendirme maddesinde.
Bu sitenin sunucu kodunu okuduk ve canlıda ölçtük. www’siz alan adına gelen her istek yolu değişmeden www’li adrese 301 ile gidiyor; emekli hizmet adresleri ve bir yazım varyantı küçük bir tablodan yeni adreslerine yine 301 ile yönleniyor. Sunucu kodunda 302 ya da dil köküne yönlendirme yok. Sonunda eğik çizgi olmayan biçimleri ve /index.html ile biten adresleri ise barındırma platformu 307 ile eğik çizgili adrese topluyor; o yönlendirme geçici kodlu ama varış sayfası kendini kanonik olarak bildiriyor. Bunların hepsinin tek adrese nasıl toplandığı HTTPS ve www yönlendirmesi rehberinde, zincirin uzunluğu yönlendirme zinciri maddesinde.
Ölçüt
- Ne söyler — 301 · 308 (kalıcı): «Bu adres kalıcı olarak yeni adrese taşındı» · 302 · 307 (geçici): «Bu adres şimdilik başka yerde; eski adres geçerliliğini koruyor»
- Google’daki kanonik sinyal — 301 · 308 (kalıcı): Güçlü — hedef adresin asıl adres olduğuna işaret eder · 302 · 307 (geçici): Zayıf — Google hangi adresin asıl olduğuna diğer sinyallere de bakarak karar verir
- İstek yöntemi (RFC 9110) — 301 · 308 (kalıcı): 301: tarayıcı bir form gönderimini (POST) sonraki istekte GET’e çevirebilir · 308: yöntem ve gövde değişmez · 302 · 307 (geçici): 302: POST, GET’e dönebilir · 307: yöntem ve gövde değişmez
- Tarayıcı önbelleği — 301 · 308 (kalıcı): Sezgisel olarak önbelleklenebilir; yanlış bir 301 sunucuda düzeltilse de bir süre ziyaretçinin tarayıcısında yaşayabilir · 302 · 307 (geçici): Varsayılan olarak önbelleğe alınmaz; geri almak kolaydır
- Uygun olduğu yer — 301 · 308 (kalıcı): Site yenileme, adres yapısı değişikliği, alan adı taşıma, HTTPS’e geçiş, www birleştirme · 302 · 307 (geçici): Bakım sayfası, süreli kampanya, geri dönecek bir sayfa, kısa süreli deneme
- Kod yazılmazsa — 301 · 308 (kalıcı): İncelenen üç yapılandırmanın hiçbirinde varsayılan değil; 301 ya da permanent açıkça yazılmalı · 302 · 307 (geçici): Apache Redirect, Nginx return ve Cloudflare _redirects kodsuz yazılınca 302 gönderir
- Yanlış seçimin bedeli — 301 · 308 (kalıcı): Geri dönecek bir sayfaya verilirse eski adres dizinden düşebilir, tarayıcılar yönlendirmeyi hatırlar · 302 · 307 (geçici): Kalıcı bir taşımaya verilirse yeni adresin asıl adres sayılması zayıf bir sinyale kalır
- Bu sitede (23.09.2026) — 301 · 308 (kalıcı): www’siz adres → www’li adres ve eski rota takma adları: sunucu kodunda 301 · 302 · 307 (geçici): Eğik çizgisiz ve /index.html biçimleri: barındırma platformunun 307’si · sunucu kodunda 302 yok
SIK SORULAN SORULAR
301 ile 302 arasındaki fark nedir?
301 bir adresin kalıcı olarak taşındığını, 302 geçici olarak başka yerde olduğunu söyler. Ziyaretçi için ikisi aynı görünür, çünkü tarayıcı her ikisinde de yeni adrese gider. Fark arama motorundadır: Google 301’i yeni adresin asıl adres olduğuna dair güçlü, 302’yi zayıf bir sinyal olarak okur.
Site yenilerken hangisi kullanılmalı?
Kalıcı olduğu için 301, ya da aynı anlamı taşıyan 308. Site yenileme, adres yapısı değişikliği, alan adı taşıma ve HTTPS’e geçiş geri alınması beklenmeyen değişikliklerdir. Her eski adres, tek adımda yeni eşdeğerine kalıcı yönlendirmeyle gitmelidir.
Kalıcı bir taşımada 302 kullanılırsa ne olur?
Google yönlendirmeyi izler ama hedefin asıl adres olduğuna yalnız zayıf bir sinyal alır; hangi adresi dizinde tutacağına başka sinyallere bakarak karar verir. Taşıma gerçekten kalıcıysa yönlendirme 301’e çevrilmelidir. İncelediğimiz üç yapılandırmada (Apache, Nginx, Cloudflare _redirects) kod yazılmadığında varsayılan 302 olduğu için bu hata kolayca yapılır.
307 ve 308 ne zaman gerekir?
Yönlendirilen istek bir form gönderimi ya da bir uygulama çağrısı gibi GET dışında bir yöntem taşıyorsa. HTTP standardına göre 307 ve 308’de tarayıcı yöntemi ve gövdeyi değiştiremez; 301 ve 302’de bir POST isteği GET’e dönebilir. Sıradan sayfa adresleri için 301 ile 308 arasında arama açısından fark yoktur; Google ikisini de kalıcı sayar.
Meta refresh ya da JavaScript yönlendirmesi 301 yerine geçer mi?
Kısmen. Google anında (0 saniye) çalışan meta refresh’i kalıcı, gecikmeli olanı geçici yönlendirme olarak yorumlar; JavaScript ile adres değiştirmeyi de sayfa işlenebildiğinde kalıcı sayar. Ama ikisi de sayfanın önce yüklenmesini gerektirir. Sunucu yönlendirmesi mümkünse her zaman önce gelir.