.htaccess 301 Yönlendirmesi: SEO Uyumlu Site Taşıma Rehberi
Merhaba Arkadaşlar,
Bir web sitesinin alan adını değiştirmek, URL yapısını güncellemek veya HTTP’den HTTPS’ye geçiş yapmak gibi önemli değişiklikler, beraberinde ciddi SEO riskleri getirebilir. Bu tür durumlarda, arama motoru sıralamalarında geriye düşmemek ve mevcut değerinizi korumak için kritik bir işlem olan .htaccess 301 yönlendirmesi devreye girer. Bu kalıcı yönlendirme, eski URL’lerin tüm SEO gücünü yeni URL’lere aktarmanın en etkili yoludur. Doğru bir şekilde uygulandığında, kullanıcıları ve arama motoru botlarını sorunsuz bir şekilde yeni hedefe yönlendirir, böylece sitenizin otoritesi ve sıralaması korunmuş olur. Bu rehberde, .htaccess dosyası aracılığıyla 301 yönlendirmesinin neden bu kadar önemli olduğunu, nasıl yapıldığını ve dikkat edilmesi gereken noktaları detaylıca inceleyeceğiz.
301 Yönlendirmesi Nedir ve Neden Önemlidir?
301 yönlendirmesi, bir web sayfasının veya tüm bir alan adının kalıcı olarak başka bir konuma taşındığını arama motorlarına ve kullanıcılara bildiren bir HTTP durum kodudur. “301 Moved Permanently” (Kalıcı Olarak Taşındı) anlamına gelir. Bu yönlendirme türü, özellikle SEO açısından büyük önem taşır çünkü arama motorlarına, eski URL’nin sahip olduğu tüm “link juice” (bağlantı suyu) ve otoritenin yeni URL’ye aktarılması gerektiğini bildirir. Böylece, sitenizin mevcut arama motoru sıralamaları korunur ve trafik kaybının önüne geçilir.
301 yönlendirmesinin başlıca kullanım senaryoları şunlardır:
- Alan Adı Değişikliği: Mevcut internet sitenizin domain adresini değiştirdiğinizde, eski alan adınızdan yeni alan adınıza tüm trafiği ve SEO değerini aktarmak için kullanılır.
- URL Yapısı Değişikliği: Sitenizin içindeki sayfaların URL yapıları değiştiğinde (örneğin, kategori yapısı veya sayfa isimleri), eski sayfa URL’lerinden yeni sayfa URL’lerine yönlendirme yapmak.
- HTTP’den HTTPS’ye Geçiş: Güvenlik nedeniyle sitenizi HTTP’den HTTPS’ye taşıdığınızda, tüm HTTP URL’lerini güvenli HTTPS adreslerine yönlendirmek.
- WWW ve WWW Olmayan Versiyonları Birleştirme: Sitenizin hem www.siteadi.com hem de siteadi.com versiyonlarından birini tercih edip diğerini ona yönlendirmek (canonicalization).
- Eski veya Kaldırılmış Sayfaları Yönlendirme: Artık var olmayan veya içeriği güncellenmiş eski sayfaları ilgili yeni sayfalara yönlendirmek.
.htaccess Dosyası Nerede Bulunur ve Nasıl Düzenlenir?
.htaccess dosyası, özellikle Apache tabanlı web sunucularında çalışan siteler için kullanılan, sunucu yapılandırmasını kontrol etmeye yarayan güçlü bir dosyadır. Bu dosya, genellikle web sitenizin ana dizininde (public_html veya www klasörü) bulunur. FTP istemcisi (FileZilla gibi) veya hosting kontrol paneliniz (cPanel, Plesk vb.) üzerinden dosya yöneticisi aracılığıyla bu dosyaya erişebilir ve düzenleyebilirsiniz.
Önemli Uyarı: .htaccess dosyası, web sitenizin temel işleyişini etkilediği için yanlış bir düzenleme sitenizin tamamen çalışmamasına neden olabilir. Bu nedenle, herhangi bir değişiklik yapmadan önce daima dosyanın bir yedeğini almanız şiddetle tavsiye edilir.
.htaccess ile Temel 301 Yönlendirme Senaryoları
.htaccess dosyası içerisine eklenecek komutlar ile çeşitli 301 yönlendirme işlemleri gerçekleştirebilirsiniz. İşte en yaygın senaryolar ve kod örnekleri:
Tüm Alan Adını Yönlendirme
Bu, eski bir alan adından (eskialanadiniz.com) yeni bir alan adına (yenialanadiniz.com) tüm trafiği ve link gücünü aktarmanın en yaygın yoludur. Bu kod, hem www’li hem de www’siz versiyonları yeni alan adına yönlendirir ve URL yapısını korur.
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?eskialanadiniz.com$ [NC]
RewriteRule ^(.*)$ http://www.yenialanadiniz.com/$1 [R=301,L]
Yukarıdaki kodda:
Options +FollowSymlinks: Sembolik linkleri takip etmeyi sağlar.RewriteEngine on: URL yeniden yazma motorunu etkinleştirir.RewriteCond %{HTTP_HOST} ^(www.)?eskialanadiniz.com$ [NC]: Yönlendirme kuralının hangi koşullarda uygulanacağını belirtir. Burada, istek yapılan hostun ‘eskialanadiniz.com’ veya ‘www.eskialanadiniz.com’ olması durumunu kontrol eder.[NC]büyük/küçük harf duyarsızlığı sağlar.RewriteRule ^(.*)$ http://www.yenialanadiniz.com/$1 [R=301,L]: Yönlendirme kuralının kendisidir. Gelen tüm istekleri (^(.*)$) yeni alan adının ilgili sayfasına (http://www.yenialanadiniz.com/$1) 301 koduyla ([R=301]) yönlendirir ve bu kuraldan sonra başka bir kuralın uygulanmamasını ([L]) sağlar.
Belirli Bir Sayfayı Yönlendirme
Eski bir sayfanın URL’si değiştiğinde veya sayfa içeriği yeni bir URL’ye taşındığında bu yöntem kullanılır.
Redirect 301 /eski-sayfa-adi.html http://www.siteadi.com/yeni-sayfa-adi.html
Bu kod, sadece /eski-sayfa-adi.html adresine gelen istekleri http://www.siteadi.com/yeni-sayfa-adi.html adresine kalıcı olarak yönlendirir.
HTTP’den HTTPS’ye Yönlendirme
Sitenizin güvenliğini artırmak ve SEO avantajlarından faydalanmak için HTTP’den HTTPS’ye geçiş yaptığınızda tüm HTTP isteklerini HTTPS’ye yönlendirmeniz gerekir.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bu kod bloğu, eğer istek HTTPS üzerinden gelmiyorsa (RewriteCond %{HTTPS} off), tüm URL’leri aynı alan adı ve yol ile HTTPS versiyonuna yönlendirir.
WWW Olmayan Adresi WWW’li Adrese Yönlendirme (veya Tersini)
Arama motorlarının sitenizin tek bir ana versiyonunu indekslemesini sağlamak için kullanılır.
WWW’siz adresi WWW’li adrese yönlendirme:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
WWW’li adresi WWW’siz adrese yönlendirme:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
301 Yönlendirmesi Yaparken Dikkat Edilmesi Gerekenler
301 yönlendirmelerini uygularken bazı önemli noktalara dikkat etmek, olası sorunların önüne geçecektir:
- Yedekleme Yapın: .htaccess dosyasında herhangi bir değişiklik yapmadan önce daima mevcut dosyanın bir yedeğini alın. Yanlış bir kod, sitenizin erişilemez hale gelmesine neden olabilir.
- Detaylı Test Edin: Yönlendirmeleri uyguladıktan sonra, hem eski hem de yeni URL’leri farklı tarayıcılarda ve cihazlarda test ederek doğru çalıştıklarından emin olun. Özellikle derinlemesine sayfaları kontrol edin.
- Döngüsel Yönlendirmelerden Kaçının: Bir URL’nin kendini veya başka bir URL’yi tekrar eski URL’ye yönlendirmesi gibi döngüsel yönlendirmeler oluşturmaktan kaçının. Bu durum, sitenizin sonsuz bir döngüye girmesine ve erişilemez olmasına yol açar.
- Zincirleme Yönlendirmeleri En Aza İndirin: Bir URL’nin başka bir URL’ye, onun da başka bir URL’ye yönlendirmesi (zincirleme yönlendirme) performansı düşürebilir ve SEO değerini azaltabilir. Mümkünse, doğrudan nihai hedefe yönlendirme yapın.
- Google Search Console Kullanımı: Alan adı değişikliği gibi büyük taşımalar için Google Search Console’daki “Adres Değişikliği” aracını kullanmayı düşünebilirsiniz. Ayrıca, yönlendirmelerinizi Search Console’da “Tarama Hataları” bölümünden takip edebilirsiniz.
- Site Haritalarını Güncelleyin: Yeni URL yapıları veya alan adları için site haritanızı (sitemap.xml) güncellemeyi ve Search Console’a yeniden göndermeyi unutmayın.
Aşağıdaki tablo, sıkça kullanılan 301 yönlendirme senaryolarını ve .htaccess kodlarını özetlemektedir:
| Yönlendirme Senaryosu | Açıklama | .htaccess Kodu Örneği |
|---|---|---|
| Tüm Alan Adını Yönlendirme | Eski bir alan adından yeni bir alan adına tüm trafiği aktarır. | Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?eskialanadiniz.com$ [NC]
RewriteRule ^(.*)$ http://www.yenialanadiniz.com/$1 [R=301,L] |
| Belirli Bir Sayfayı Yönlendirme | Eski bir sayfanın URL’sini yeni bir URL’ye kalıcı olarak taşır. | Redirect 301 /eski-sayfa.html http://www.siteadi.com/yeni-sayfa.html |
| HTTP’den HTTPS’ye Yönlendirme | Tüm HTTP isteklerini güvenli HTTPS versiyonuna yönlendirir. | RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] |
| WWW’sizden WWW’liye Yönlendirme | siteadi.com adresini www.siteadi.com adresine yönlendirir. | RewriteEngine On
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301] |
.htaccess 301 yönlendirmesi, bir web sitesi taşınırken veya URL yapısı değiştirilirken SEO performansını korumanın ve kullanıcı deneyimini kesintisiz kılmanın temel taşlarından biridir. Doğru ve dikkatli bir şekilde uygulandığında, sitenizin arama motoru sıralamalarını ve link otoritesini yeni adresine başarılı bir şekilde aktararak, dijital varlığınızın gücünü sürdürmesini sağlar. Bu nedenle, herhangi bir taşıma işlemine girişmeden önce bu önemli adımı atlamamak ve gerekli testleri yapmak büyük önem taşımaktadır.
