301 Yönlendirmesi Nasıl Yapılır? .htaccess ile Kalıcı URL Değişikliği
Bir URL'nin kalıcı olarak taşındığını arama motorlarına ve kullanıcılara bildirmek için 301 yönlendirmesi kullanılır. Doğru yapılandırılmış 301 yönlendirmeleri, SEO değerini korumanıza, kullanıcı deneyimini sağlamlaştırmanıza ve trafik kaybını en aza indirmenize yardımcı olur. Bu rehberde .htaccess üzerinden en sık ihtiyaç duyulan 301 senaryolarını, uyulması gereken SEO adımlarını ve test/izleme yöntemlerini bulacaksınız.
Neden 301 yönlendirmesi kullanmalısınız?
- Kalıcı taşınma bildirimi: Arama motorları eski URL'nin kalıcı olarak yeni bir URL'ye taşındığını anlar.
- SEO değerinin korunması: Backlinklerin ve sayfa otoritesinin büyük kısmı yeni URL'ye aktarılır.
- Kullanıcı deneyimi: Eski adreslerden gelen ziyaretçiler otomatik olarak doğru içeriğe yönlendirilir; hata sayfaları azalır.
.htaccess ile Temel 301 Yönlendirme Örnekleri
Aşağıdaki örnekler Apache + mod_rewrite kullanılan ortamlarda .htaccess dosyanıza eklenecek şekilde düzenlenmiştir. Değişiklikleri yapmadan önce dosyanın bir yedeğini alın.
1) Tüm eski domaini yeni domaine yönlendirme (korunan path yapısı)
RewriteEngine On
# eski-domain.com veya www.eski-domain.com gelen tüm istekleri yeni-domain.com'a 301 ile yönlendir
RewriteCond %{HTTP_HOST} ^(?:www\.)?eski-domain\.com$ [NC]
RewriteRule ^(.*)$ https://yeni-domain.com/$1 [R=301,L]
Bu kural, her isteğin yolunu (path) koruyarak yeni domaine aktarır: /kategori/ürün -> https://yeni-domain.com/kategori/ürün
2) Tek bir sayfayı kalıcı taşıma
Redirect 301 /eski-sayfa.html /yeni-sayfa/
# veya tam domain ile
Redirect 301 /eski-sayfa.html https://yeni-domain.com/yeni-sayfa/
3) HTTP'den HTTPS'ye yönlendirme
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
4) non-www'den www'ye yönlendirme (veya tersine)
# non-www -> www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www -> non-www (tersi gerekirse)
# RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
# RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
5) Uzantı kaldırma veya temiz URL'lere yönlendirme
# .php uzantısını kaldırıp, /dosya.php -> /dosya yönlendirme (basit örnek)
RewriteEngine On
RewriteRule ^(.*)\.php$ /$1 [R=301,L]
Not: Sunucu konfigürasyonuna bağlı olarak bazı kurallar değişebilir. Paylaşılan hostinglerde RewriteMap gibi gelişmiş yönlendirme olanakları olmayabilir; bu yüzden büyük bir taşınma için bir URL eşleme tablosu hazırlamak ve mümkünse sunucu düzeyinde (virtual host) uygulamak en sağlam yöntemdir.
En İyi Uygulamalar ve SEO Adımları
- Bire bir (one-to-one) eşleme yapın: Her eski sayfayı en uygun yeni sayfaya yönlendirin. Toplu yönlendirme yerine sayfa bazlı yönlendirme SEO başarısını artırır.
- Redirect zincirlerinden kaçının: Eski -> ara -> yeni gibi zincirler tıklama maliyetini ve tarama maliyetini artırır; mümkünse doğrudan hedefe yönlendirin.
- Sitemap ve iç linkleri güncelleyin: Yeni URL'leri sitemap.xml ve tüm dahili bağlantılar üzerinde uygulayın.
- Arama motoru araçlarını bilgilendirin: Google Search Console'da (mülk ekleme, site taşıma aracı ve sitemap gönderimi) ve Bing Webmaster Tools'da yeni mülkleri doğrulayın ve izleyin.
- Backlinkleri güncelleyin: Önemli backlink kaynaklarıyla iletişime geçip mümkünse URL'leri güncellettirin; bu, uzun vadede daha sağlam bir SEO değeri sağlar.
- Geçiş süresi: Redirect'leri en az 6-12 ay aktif tutmak genelde önerilir; kritik durumlarda daha uzun süre devam ettirin.
Test ve İzleme
- HTTP başlık kontrolleri: curl -I komutuyla yönlendirme kodlarını kontrol edin:
curl -I https://eski-domain.com/eski-sayfa - Tarama araçları: Screaming Frog veya benzeri tarayıcılarla sitenizi tarayarak 301, 302, 404 ve redirect zincirlerini tespit edin.
- Google Search Console: Index Coverage raporunu ve Performans verilerini takip edin; trafik ve indeksleme değişimlerini izleyin.
- Sunucu logları: Erişim loglarını inceleyerek beklenmedik 404 veya yüksek redirect döngülerini tespit edin.
Sık Karşılaşılan Hatalar
- Genel yönlendirme (catch-all) kullanmak: Tüm eski sayfaları tek bir homepage'e yönlendirmek, kullanıcı ve SEO kaybına yol açar. Mümkün olduğunca bire bir eşlemeye çalışın.
- Yanlış veya geçici kod kullanmak: 301 yerine 302 (geçici) kullanmak SEO değerini aktarmayabilir.
- Yönlendirme döngüleri: Kuralların ters çakışması sonucu oluşan sonsuz döngüler sunucu hatalarına yol açar. Kuralları kademeli test edin.
Sonuç
Doğru planlanmış ve uygulanmış 301 yönlendirmeleri, domain değişiklikleri veya URL yapı değişiklikleri sırasında organik trafik ve otorite kaybını büyük ölçüde engeller. Ön hazırlık (URL eşleme), dikkatli .htaccess yapılandırması, site içi güncellemeler ve düzenli izleme kritik başarı faktörleridir. Küçük hatalar uzun vadede trafik kaybına neden olabileceği için değişiklikleri test ederek ve fazlı olarak uygulamak en güvenli yaklaşımdır.
Eğer geçiş planı büyük ölçekliyse, öncelikle kapsamlı bir URL haritası çıkarın, öncelikli sayfaları belirleyin ve yönlendirmeleri adım adım devreye alın; ardından performansı takip edip gerekiyorsa düzeltmeler yapın.