.htaccess ile 301 Yönlendirmesi: SEO İçin Kritik Adımlar
Web sitenizin alan adını değiştirdiğinizde veya URL yapısında köklü bir değişiklik yaptığınızda, Google sıralamalarınızda ani bir düşüş yaşamamak için atmanız gereken en kritik adımlardan biri 301 yönlendirmesidir. Özellikle Apache sunucusu kullanan web siteleri için .htaccess ile 301 yönlendirmesi yapmak, eski URL’lerinizden gelen tüm bağlantı gücünü (link equity) yeni adreslerinize aktarmanın ve kullanıcılarınızı doğru sayfalara yönlendirmenin en etkili yoludur. Bu rehberde, 301 yönlendirmesinin neden bu kadar önemli olduğunu, .htaccess dosyasını kullanarak bu işlemi nasıl gerçekleştireceğinizi ve sık karşılaşılan senaryoları detaylı bir şekilde inceleyeceğiz.
301 Yönlendirmesi Nedir ve Neden Hayati Önem Taşır?
301 yönlendirmesi, bir web sayfasının veya alan adının kalıcı olarak başka bir adrese taşındığını arama motorlarına ve tarayıcılara bildiren bir HTTP durum kodudur. “Kalıcı olarak taşındı” anlamına gelir ve arama motorlarına, eski URL’nin artık geçerli olmadığını ve tüm değerini yeni URL’ye aktarması gerektiğini söyler. Bu durum, SEO açısından kritik bir öneme sahiptir çünkü:
- SEO Sıralamalarını Korumak: Eski sayfalarınızın sahip olduğu arama motoru sıralamaları ve otorite, 301 yönlendirmesi sayesinde yeni sayfalara aktarılır. Bu, web sitenizin Google dizinindeki konumunu korumanıza yardımcı olur.
- Bağlantı Gücünü Aktarmak: Başka sitelerden gelen tüm geri bağlantılar (backlinkler), 301 yönlendirmesi ile yeni adreslere taşınır. Bu, sitenizin genel SEO performansını sürdürmesi için elzemdir.
- Kullanıcı Deneyimini İyileştirmek: Kullanıcılar eski bir bağlantıya tıkladığında 404 hata sayfasıyla karşılaşmak yerine, otomatik olarak yeni ve ilgili içeriğe yönlendirilirler. Bu, olumlu bir kullanıcı deneyimi sunar.
- Yinelenen İçeriği Önlemek: www olmayan (non-www) adresleri www’li adreslere veya HTTP’yi HTTPS’ye yönlendirmek gibi standartlaştırma işlemleri, arama motorlarının aynı içeriği birden fazla URL’de görmesini engelleyerek yinelenen içerik sorunlarının önüne geçer.
.htaccess Dosyası ve Temel Direktifler
.htaccess dosyası, Apache web sunucularında dizin bazında yapılandırma ayarları yapmanızı sağlayan güçlü bir metin dosyasıdır. Bu dosya sayesinde sunucuya hangi URL’lerin nereye yönlendirileceği gibi komutlar verebilirsiniz. .htaccess ile 301 yönlendirmesi yapmak için genellikle `mod_rewrite` modülünü kullanırız. Temel olarak bilmeniz gereken direktifler şunlardır:
Options +FollowSymlinks: Sembolik linkleri takip etmeyi etkinleştirir. Çoğu sunucuda varsayılan olarak açıktır ancak belirtmek faydalıdır.RewriteEngine on: URL yeniden yazma motorunu etkinleştirir. Bu direktif olmadan yönlendirme kuralları çalışmaz.RewriteCond: Bir yeniden yazma kuralının uygulanması için bir koşul tanımlar. Örneğin, belirli bir ana bilgisayar adına veya protokole sahip olup olmadığını kontrol edebilirsiniz.RewriteRule: Gerçek yönlendirme kuralını tanımlar. Eski URL desenini yeni URL ile eşleştirir ve yönlendirme tipini (R=301) belirtir.
.htaccess ile 301 Yönlendirmesi Nasıl Yapılır? Adım Adım Rehber
En sık karşılaşılan .htaccess ile 301 yönlendirmesi senaryolarını aşağıda bulabilirsiniz. Bu kodları sitenizin kök dizinindeki .htaccess dosyasına eklemeniz gerekmektedir. Eğer bir .htaccess dosyanız yoksa, basit bir metin düzenleyici kullanarak oluşturabilir ve sunucunuza yükleyebilirsiniz.
Tüm Alan Adını Yönlendirme
Eski bir alan adını tamamen yeni bir alan adına yönlendirmek istediğinizde bu yöntem kullanılır. Örneğin, eskialanadiniz.com adresini yenialanadiniz.com adresine taşırken:
Options +FollowSymlinks
RewriteEngine on
ReWriteCond %{HTTP_HOST} ^(www.)?eskialanadiniz.com$ [NC]
ReWriteRule ^(.*)$ http://www.yenialanadiniz.com/$1 [R=301,L]
Bu kod bloğu, `eskialanadiniz.com` veya `www.eskialanadiniz.com` adresine gelen tüm istekleri, aynı sayfa yoluyla `http://www.yenialanadiniz.com` adresine kalıcı olarak yönlendirir. `$1` değişkeni, eski URL’nin sonundaki sayfa yolunu (örneğin `/hakkimizda/`) yakalar ve yeni URL’ye ekler.
Belirli Bir Sayfayı Yönlendirme
Sitenizdeki tek bir sayfanın URL’si değiştiyse veya kaldırıldıysa ve yerine yeni bir sayfa geldiyse, bu yöntemi kullanabilirsiniz:
Redirect 301 /eski-sayfa.html /yeni-sayfa.html
Bu daha basit bir yönlendirme türüdür ve sadece belirli bir dosya veya dizin için kullanılır. Eğer çok sayıda sayfa yönlendirecekseniz `RewriteRule` daha esnek olacaktır.
Non-www’dan www’ye veya Tersine Yönlendirme
SEO tutarlılığı ve bağlantı gücünü tek bir URL yapısında toplamak için tüm trafiği www’li veya www’siz versiyona yönlendirmek önemlidir. Örneğin, `example.com` adresini `www.example.com` adresine yönlendirmek için:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
HTTP’den HTTPS’ye Yönlendirme
Güvenlik ve SEO avantajları nedeniyle tüm sitelerin HTTPS kullanması önerilir. HTTP trafiğini HTTPS’ye yönlendirmek için:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Sık Karşılaşılan 301 Yönlendirme Senaryoları Özeti
Aşağıdaki tablo, farklı 301 yönlendirme ihtiyaçları için kullanabileceğiniz yaygın senaryoları ve .htaccess kod örneklerini özetlemektedir:
| Yönlendirme Senaryosu | .htaccess Kodu Örneği | Açıklama |
|---|---|---|
| Tüm Alan Adı Yönlendirmesi | RewriteCond %{HTTP_HOST} ^(www.)?eski.com$ [NC] | Eski alan adından yeniye kalıcı geçiş. |
| Tek Sayfa Yönlendirmesi | Redirect 301 /eski-sayfa.html /yeni-sayfa.html | Belirli bir eski sayfanın yeni bir sayfaya yönlendirilmesi. |
| Non-www’dan www’ye | RewriteCond %{HTTP_HOST} ^example.com [NC] | Alan adının başına ‘www’ eklenmesi. |
| HTTP’den HTTPS’ye | RewriteCond %{HTTPS} off | Güvenli protokole (HTTPS) geçiş. |
| Dizin Yönlendirmesi | Redirect 301 /eski-dizin/ /yeni-dizin/ | Tüm bir dizinin içeriğini yeni bir dizine taşıma. |
301 Yönlendirmesi Uygularken Dikkat Edilmesi Gerekenler
.htaccess ile 301 yönlendirmesi yaparken bazı önemli noktalara dikkat etmek, potansiyel sorunların önüne geçmenizi sağlar:
- 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 tüm sitenizin çökmesine neden olabilir.
- Kapsamlı Test Edin: Yönlendirmeleri uyguladıktan sonra, hem eski hem de yeni URL’leri farklı tarayıcılarda ve cihazlarda test edin. Yönlendirmelerin doğru çalıştığından ve sonsuz döngüye girmediğinden emin olun.
- Yönlendirme Zincirlerinden Kaçının: Bir URL’nin birden fazla 301 yönlendirmesi üzerinden geçerek nihai hedefine ulaşması (A -> B -> C) arama motorları için verimsizdir ve sayfa yükleme süresini artırabilir. Mümkün olduğunca doğrudan yönlendirmeler (A -> C) kullanın.
- Google Search Console’u Kullanın: Site taşıma işlemi sonrası Google Search Console’da adres değişikliği aracını kullanın ve tarama istatistiklerini düzenli olarak kontrol edin. Hatalı yönlendirmeleri veya 404 sayfalarını tespit edip düzeltebilirsiniz.
- Kalıcı ve Geçici Ayırımı: 301 kalıcı yönlendirmeler içindir. Eğer bir sayfa veya alan adı geçici olarak taşınıyorsa, bunun yerine 302 (Geçici Olarak Taşındı) yönlendirmesini kullanmayı düşünmelisiniz.
Doğru uygulanan bir .htaccess ile 301 yönlendirmesi, web sitenizin SEO performansını korumanın ve kullanıcı deneyimini kesintisiz sağlamanın temel taşıdır. Bu adımları dikkatlice takip ederek, site taşıma veya URL yapılandırma süreçlerinizi sorunsuz bir şekilde yönetebilir, arama motorlarındaki sıralamalarınızı güvenle sürdürebilirsiniz.
