301 yönlendirme, bir web adresinin kalıcı olarak başka bir adrese taşındığını tarayıcıya ve arama motorlarına bildiren HTTP durum kodudur. Kullanıcı eski adrese girdiğinde otomatik olarak yenisine gider; Google ise eski adresin sıralama değerini yeni adrese aktarır ve dizinini günceller. URL değişikliği, site taşıma, HTTPS'e geçiş ve silinen sayfalar için temel araçtır. Yanlış kurulduğunda ise trafik kaybının en yaygın sebeplerinden biridir.
301 yönlendirme nedir?
Tarayıcı bir adresi istediğinde sunucu bir durum koduyla yanıt verir: 200 "işte sayfa", 404 "bulunamadı", 301 "kalıcı olarak taşındı, yeni adres şu". 301 yanıtı, Location başlığında yeni adresi taşır; tarayıcı kullanıcıya hiçbir şey göstermeden oraya gider. Kullanıcı çoğu zaman yönlendirildiğini fark etmez; yalnızca adres çubuğundaki URL değişir.
Arama motorları için 301'in ek bir anlamı vardır: "Eski adresi dizinden çıkar, yeni adresi al ve eski adresin kazandığı her şeyi (backlink değeri, sıralama geçmişi) yenisine ver." Bu yüzden 301, SEO'da adres değişikliklerinin standart aracıdır.
301, 302, 307, 308: hangisi ne zaman?
| Kod | Anlamı | Google'ın yorumu | Ne zaman kullanılır? |
|---|---|---|---|
| 301 | Kalıcı taşındı | Yeni URL'yi dizine alır, değeri aktarır | URL değişikliği, site taşıma, HTTPS geçişi, www birleştirme, silinen sayfanın yerine geçen sayfa |
| 302 | Geçici taşındı | Eski URL'yi dizinde tutar (uzun sürerse 301 gibi davranabilir) | Kısa süreli kampanya sayfası, bakım, A/B test, coğrafi yönlendirme |
| 307 | Geçici (HTTP metodunu korur) | 302 gibi | POST isteklerinin yönlendirilmesinde; HSTS'nin tarayıcı içi yönlendirmesinde görülür |
| 308 | Kalıcı (HTTP metodunu korur) | 301 gibi | API uç noktaları ve form gönderimlerinin kalıcı taşınmasında |
Pratik kural: adres bir daha geri gelmeyecekse 301, gelecekse 302. En sık hata, kalıcı değişikliklerde 302 kullanmaktır; bazı hosting panelleri ve eklentiler varsayılan olarak 302 verir. Google uzun süren 302'leri sonunda 301 gibi değerlendirse de bu belirsizliği bırakmanın bir sebebi yok.
301 yönlendirme ne zaman kullanılır?
- HTTP'den HTTPS'e geçiş: Her http adresi aynı yolun https sürümüne.
- www birleştirme: www'lu ve www'suz sürümlerden biri seçilir, diğeri ona yönlenir. Kaynak Ol'da www'suz sürüm kanonik; www'lu adresler 301 ile buna gider.
- URL yapısı değişikliği:
/blog/2024/05/yazi.htmlyerine/blog/yazi/gibi. - Sayfa birleştirme: Aynı konuda iki zayıf yazı tek güçlü yazıda birleştirildiğinde, kaldırılan yazı yenisine.
- Silinen sayfa: Ürün kaldırıldıysa en yakın kategoriye veya yerine gelen ürüne. İlgili bir hedef yoksa 404 bırakmak daha doğrudur.
- Alan adı değişikliği: Tüm eski alan adı, birebir yol eşlemesiyle yeni alan adına.
- Sondaki eğik çizgi ve büyük-küçük harf tutarlılığı:
/blogile/blog/aynı içeriği veriyorsa biri diğerine yönlenmeli. - Yazım hatası ve eski kısa adresler: Basılı malzemede geçen eski adresler.
301 yönlendirme SEO değerini korur mu?
Evet. Google 2016'da 301, 302 ve diğer yönlendirmelerin "PageRank kaybına" yol açmadığını açıkladı. Ancak değerin korunması için üç koşul var:
- Hedef, kaynağa gerçekten karşılık gelmeli. "Mavi koşu ayakkabısı" sayfasını ana sayfaya yönlendirmek, Google tarafından soft 404 sayılır ve değer aktarılmaz. Hedef, aynı veya yakın içerik olmalı.
- Yönlendirme tek adımda olmalı. A → B → C zincirinde her adım tarama bütçesi ve zaman harcar; Google en fazla 10 adımı takip eder ama 2-3 adımdan sonrası güvenilmez. Zincirleri A → C olarak düzleştirin.
- İç linkler güncellenmeli. Yönlendirme, dış linkler için güvenlik ağıdır. Kendi sitenizin menü, footer ve içerik linkleri doğrudan yeni adrese gitmeli; yönlendirmeye bağımlı iç link, her tıklamada gereksiz bir istek üretir.
Yönlendirme sonrası birkaç haftalık dalgalanma normaldir; Google eski ve yeni adresi eşleştirip sinyalleri birleştirir. Üç aydan uzun süren düşüşler genellikle yukarıdaki koşullardan birinin ihlalini gösterir.
301 yönlendirme nasıl yapılır? .htaccess, Nginx, WordPress
Apache (.htaccess)
Sitenin kök dizinindeki .htaccess dosyasına. Tek sayfa:
Redirect 301 /eski-sayfa/ https://site.com/yeni-sayfa/
HTTPS ve www birleştirme (mod_rewrite ile):
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^site\.com$ [NC]
RewriteRule ^ https://site.com%{REQUEST_URI} [R=301,L]
Bu iki koşul tek kuralda birleştiği için http://www.site.com/sayfa adresi tek adımda https://site.com/sayfa adresine gider; ayrı ayrı yazılsaydı zincir oluşurdu. Kalıp eşleme:
RewriteRule ^blog/([0-9]{4})/([0-9]{2})/(.+)$ /blog/$3 [R=301,L]
Nginx
server {
listen 80;
server_name site.com www.site.com;
return 301 https://site.com$request_uri;
}
location = /eski-sayfa/ {
return 301 /yeni-sayfa/;
}
WordPress
Redirection eklentisi (ücretsiz) panelden kaynak-hedef girişi, 404 kaydı ve toplu içe aktarma sunar. Rank Math ve Yoast Premium'un yerleşik yönlendirme modülleri de var. WordPress, yazı URL'sini değiştirdiğinizde eskisinden yenisine otomatik 301 verir; ama bu kalıcı değildir, eklentiyle kayıt altına alın. Çok sayıda kural varsa eklenti yerine .htaccess daha hızlıdır; eklentiler her istekte veritabanı sorgusu yapar.
Diğer platformlar
Shopify, Wix ve Squarespace'te yönetim panelinde "URL yönlendirmeleri" bölümü vardır. Cloudflare kullanıyorsanız Redirect Rules ile sunucuya dokunmadan kural yazabilirsiniz; bu, sunucu değişikliğinden bağımsız çalıştığı için taşımalarda avantajlıdır.
Site taşıma ve toplu yönlendirme planı
Yeni tasarım, yeni altyapı veya yeni alan adına geçişte yapılan en pahalı hata, eski adreslerin unutulmasıdır. Plan:
- Eski URL'lerin tam listesini çıkarın. Site haritası, Search Console'un sayfa raporu, Analytics'teki en çok ziyaret edilen sayfalar ve Screaming Frog gibi bir tarayıcıyla. Backlink alan sayfaları ayrıca işaretleyin.
- Birebir eşleme tablosu hazırlayın. Her eski adres için bir yeni adres. Karşılığı olmayan sayfalar için karar: en yakın sayfa mı, 404 mü?
- Kuralları test ortamında yazıp doğrulayın. Yayın öncesi, tablonun tamamını bir betikle tarayıp her satırın tek adımda 301 ile doğru hedefe gittiğini kontrol edin.
- Yayın günü: Yönlendirmeler aktif, yeni site haritası gönderildi, robots.txt'de yanlışlıkla Disallow kalmadı, Search Console'da alan adı değiştiyse "Adres değişikliği" aracı kullanıldı.
- Sonraki 4 hafta: Search Console'da 404 ve yönlendirme hatalarını, trafik düşüşlerini sayfa bazında izleyin. Gözden kaçan adresleri ekleyin.
Taşıma sonrası trafik düşüşlerinin ayrıntılı analizi için web sitesi yenileme kararı yazısına bakın.
Yönlendirme zinciri, döngü ve diğer hatalar
- Zincir: http → https → www'suz → sondaki eğik çizgi. Dört adım. Her biri ayrı ayrı doğru ama birlikte yavaş ve güvenilmez. Tek kuralda birleştirin.
- Döngü: A → B → A. Tarayıcı "çok fazla yönlendirme" hatası verir, sayfa açılmaz. Genellikle CDN ve sunucu kurallarının çakışmasından olur (örneğin Cloudflare "flexible SSL" modunda sunucunun http'yi https'e yönlendirmesi).
- Toplu ana sayfa yönlendirmesi: Silinen bin ürünü ana sayfaya göndermek. Google bunu soft 404 sayar; değer aktarılmaz ve ana sayfa kirlenir.
- Yönlendirilen URL'nin site haritasında kalması: Search Console'da "yönlendirmeli sayfa" uyarısı. Haritada yalnızca son hedefler olmalı.
- Canonical ile yönlendirmenin çelişmesi: Sayfa A, B'ye yönlenirken B'nin canonical'ı A'yı gösteriyorsa Google kararsız kalır.
- Mobil ve masaüstü farklı yönlendirme: Ayrı mobil site (m.site.com) kullanılıyorsa her sayfa kendi karşılığına yönlenmeli, hepsi mobil ana sayfaya değil.
- JavaScript veya meta refresh ile yönlendirme: Google bunları da takip eder ama daha yavaş ve daha az güvenilir. Sunucu tarafı 301 her zaman tercih edilmeli.
Yönlendirme zincirleri ve 404'lerin tarama bütçesine etkisi ayrı bir yazıda ele alınıyor.
Yönlendirmeler nasıl test edilir?
Terminalden tek adres:
curl -sI -L -o /dev/null -w "%{http_code} %{url_effective}\n" http://www.site.com/eski-sayfa/
Bu komut takip edilen her adımı değil, son durumu gösterir; adımları görmek için -L olmadan her seferinde Location başlığını okuyun ya da curl -sIL ile tüm başlıkları listeleyin. Toplu test için eşleme tablosunu bir betikle döngüye alın; Screaming Frog'un "liste modu" da aynı işi yapar ve zincirleri raporlar.
Tarayıcıda Chrome DevTools'un Network sekmesi, "Preserve log" açıkken her yönlendirme adımını durum koduyla gösterir. Search Console'un URL denetimi aracı ise Google'ın o adresi nasıl gördüğünü söyler: yönlendirme fark edildi mi, hedef dizine alındı mı?
Sık sorulan sorular
301 yönlendirme ne kadar süre kalmalı?
Kalıcı olarak. Google en az bir yıl önerir; eski adrese gelen dış linkler var olduğu sürece yönlendirme kalmalıdır.
Silinen her sayfayı ana sayfaya yönlendirmeli miyim?
Hayır. İlgisiz hedefe toplu yönlendirme soft 404 sayılır. Yakın içerikli sayfa varsa oraya; yoksa 404 veya 410.
301 yönlendirme sıralamayı düşürür mü?
Doğru yapıldığında hayır. Düşüş genellikle yanlış hedef, zincir, içerik değişikliği veya güncellenmemiş iç linklerden kaynaklanır.
410 ile 404 arasındaki fark nedir?
404 "bulunamadı", 410 "kalıcı olarak kaldırıldı" demektir. Google 410'u gördüğünde sayfayı dizinden biraz daha hızlı çıkarır; bilinçli silinen sayfalar için 410 tercih edilebilir, ama pratik fark küçüktür.