format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_right.htaccess ile Yönlendirme: 301 ve 302 Redirect İşlemleri Nasıl Yapılır?
- arrow_right.htaccess Dosyası Nedir ve Neden Önemlidir?
- arrow_right301 Kalıcı Yönlendirme (Permanent Redirect)
- arrow_right301 Redirect Kullanım Alanları
- arrow_right301 Yönlendirme Kodları
- arrow_right302 Geçici Yönlendirme (Temporary Redirect)
- arrow_right302 Redirect Kullanım Alanları
- arrow_right302 Yönlendirme Kodları
- arrow_right301 vs 302: Temel Farklar ve Kullanım Rehberi
- arrow_rightMod_rewrite ile Gelişmiş Yönlendirme
- arrow_rightwww ve non-www Yönlendirmesi
- arrow_rightHTTP'den HTTPS'e Otomatik Yönlendirme
- arrow_right.htaccess Yönlendirme Best Practices
- arrow_rightYaygın .htaccess Yönlendirme Hataları
- arrow_rightWordPress'te .htaccess Yönlendirme
- arrow_rightSonuç ve Öneriler
.htaccess ile Yönlendirme: 301 ve 302 Redirect İşlemleri Nasıl Yapılır?
Web sitenizin trafiğini yönetmek, arama motoru sıralamalarını korumak ve kullanıcı deneyimini iyileştirmek için .htaccess dosyası ile yönlendirme işlemlerini doğru şekilde yapmanız kritik öneme sahiptir. Bu kılavuzda Apache sunucularında en sık kullanılan 301 Kalıcı Yönlendirme ve 302 Geçici Yönlendirme işlemlerini detaylı olarak ele alacağız.
.htaccess Dosyası Nedir ve Neden Önemlidir?
.htaccess (Hypertext Access), Apache web sunucusu üzerinde çalışan bir konfigürasyon dosyasıdır. Bu dosya, dizin düzeyinde sunucu ayarlarını yapılandırmanıza olanak tanır. Yönlendirme işlemleri, URL yeniden yazma, erişim kontrolü ve hata sayfaları gibi birçok kritik işlevi yerine getirir.
Modern web hosting hizmetlerinde .htaccess dosyası, özellikle sanal sunucu ve VPS kullanıcıları için temel bir yönetim aracıdır. Doğru yapılandırılmış bir .htaccess dosyası, web sitenizin SEO performansını doğrudan etkiler.
301 Kalıcı Yönlendirme (Permanent Redirect)
301 yönlendirmesi, bir URL'nin kalıcı olarak başka bir konuma taşındığını belirtir. Arama motorlarına ve tarayıcılara "bu sayfa artık burada değil, sonsuza kadar yeni adresine taşındı" mesajı gönderir.
301 Redirect Kullanım Alanları
- Web sitesi alan adı değişikliğinde tüm trafiği yeni domaine yönlendirme
- HTTP'den HTTPS'e geçişte SSL güvenliği sağlama
- Eski içerikleri yeni URL yapısına taşıma
- E-ticaret sitelerinde ürün sayfaları değiştiğinde eski bağlantıları koruma
- WWW ve non-WWW versiyonları arasında tercih edilen domaini belirleme
301 Yönlendirme Kodları
# Basit 301 Yönlendirme
Redirect 301 /eski-sayfa.html https://siteadi.com/yeni-sayfa.html
# Klasör Yönlendirme
Redirect 301 /eski-klasor/ https://siteadi.com/yeni-klasor/
# Tüm Trafiği Yeni Domaine Yönlendirme
RewriteEngine On
RewriteRule ^(.*)$ https://yenidomain.com/$1 [L,R=301]
302 Geçici Yönlendirme (Temporary Redirect)
302 yönlendirmesi, sayfanın geçici olarak başka bir konumda olduğunu bildirir. Arama motorları orijinal URL'yi dizinlerinde tutmaya devam eder ve asıl sayfa geri döndüğünde sıralama kaybı yaşanmaz.
302 Redirect Kullanım Alanları
- Bakım modundayken ziyaretçileri bilgilendirme sayfasına yönlendirme
- Mevsimsel kampanyalar için geçici landing sayfaları oluşturma
- A/B testleri sırasında farklı versiyonlara yönlendirme
- Belirli bir süre için başka bir sayfaya yönlendirme
302 Yönlendirme Kodları
# Basit 302 Yönlendirme
Redirect 302 /gecici-sayfa.html https://siteadi.com/bakim.html
# Geçici kampanya yönlendirmesi
RewriteEngine On
RewriteRule ^kampanya-2024$ https://siteadi.com/yeni-kampanya [L,R=302]
301 vs 302: Temel Farklar ve Kullanım Rehberi
| Özellik | 301 Kalıcı Yönlendirme | 302 Geçici Yönlendirme |
|---|---|---|
| SEO Etkisi | Link juice aktarır, sıralamayı korur | Link juice aktarmaz, orijinal URL'yi索引'de tutar |
| Kullanım Süresi | Sonsuza kadar | Geçici (günler-haftalar) |
| Tarayıcı Önbelleği | Uzun süreli önbellek | Kısa süreli veya yok |
| Arama Motoru Algılaması | Kalıcı taşıma olarak değerlendirilir | Geçici değişiklik olarak değerlendirilir |
İstatistiklere göre, yanlış yönlendirme türü kullanımı %15 oranında SEO performans kaybına neden olmaktadır. Bu nedenle kalıcı mı geçici mi yönlendirme yapacağınızı doğru belirlemek kritik önem taşır.
Mod_rewrite ile Gelişmiş Yönlendirme
Apache'nin mod_rewrite modülü, daha karmaşık yönlendirme senaryoları için güçlü imkanlar sunar. Bu modül, koşullu yönlendirmeler ve URL yeniden yazma işlemleri için kullanılır.
www ve non-www Yönlendirmesi
# WWW'ye Yönlendirme
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.siteadi.com/$1 [L,R=301]
# WWW Olmadan Yönlendirme
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
HTTP'den HTTPS'e Otomatik Yönlendirme
# Tüm HTTP isteklerini HTTPS'ye yönlendirme
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
SSL sertifikası kullanımı, özellikle e-ticaret siteleri için zorunlu hale gelmiştir. Google, HTTPS kullanmayan siteleri "güvensiz" olarak işaretlemektedir.
.htaccess Yönlendirme Best Practices
- Doğru yönlendirme türünü seçin: Kalıcı taşımalarda mutlaka 301, geçici sürelerde 302 kullanın.
- Zincirlemeyi önleyin: A'dan B'ye, B'den C'ye yönlendirme yapmayın. Doğrudan A'dan C'ye yönlendirin.
- Yönlendirme döngüsünden kaçının: A sayfası B'ye, B sayfası A'ya yönlendirme yaparsa sonsuz döngü oluşur.
- göreli yollar yerine mutlak URL kullanın: Özellikle 301 yönlendirmelerinde tam URL tercih edin.
- Düzenli olarak kontrol edin: Sunucu hata kodlarını takip ederek yönlendirme sorunlarını tespit edin.
Yaygın .htaccess Yönlendirme Hataları
- Yanlış mod_rewrite sözdizimi kullanmak
- 302 yerine 301 kullanarak geçici değişiklikleri kalıcı olarak işaretlemek
- Büyük/küçük harf duyarlılığını göz ardı etmek
- Regex karakterlerinde kaçış hataları yapmak
- Yönlendirme kurallarını yanlış sıraya koymak
WordPress'te .htaccess Yönlendirme
WordPress kullanıcıları, wp-admin klasörü dışındaki .htaccess dosyasını düzenleyebilir. Platform, varsayılan olarak Pretty Permalink'ler için bu dosyayı kullanır.
# WordPress için temel .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Sonuç ve Öneriler
.htaccess dosyası ile yapılan 301 ve 302 yönlendirmeleri, web sitenizin teknik SEO'su için temel yapı taşlarından biridir. Doğru uygulandığında, arama motorlarındaki sıralamalarınızı korurken kullanıcı deneyimini iyileştirirsiniz.
Yönlendirme işlemlerini gerçekleştirirken dikkatli olun ve her değişiklikten önce yedek alın. Karmaşık yönlendirme senaryoları için profesyonel sunucu altyapısı kullanmanızı öneriyoruz. Sunucu yönetimi konusunda uzman ekip desteği, yönlendirme hatalarının önüne geçmek için en güvenli yöntemdir.