301 yönlendirme, web sitenize gelen ziyaretçilerinizi yönlendirmeniz için en güvenli ve kısa yöntemdir. Diyelimki belli bir ziyaretçi trafiğine sahip olan bir web sitemiz var. Fakat bu sitemizin adresini değiştirmek istiyoruz. Yeni adrese geçtiğimizde sitemizin eski ziyaretçi trafiği yok olur. Google sıralaması da yok olur. Bu durum SEO açısından çok kötü bir durumdur. Sitenizin kazanımlarını kaybetmiş olursunuz. Eski sitenin ziyaretçi trafiğini ve google sıralamasını koruyarak yeni adrese geçmek için 301 yönlendirme yapmak gerekir. 301 yönlendirme işlemi sayesinde sitenin arama motoru optimizasyonuna (SEO) katkı sağlamış oluruz.
Bu işlem için öncelikle herhangi bir editör programında (Örneğin Notepad, sublime text, Notepad++ vb…) .htaccess adında (dikkat ederseniz dosyanın adı yok, uzantısı yani noktadan sonraki kısmı htaccess olacak) bir dosya oluşturulur ve içerisine yapılmak istenen yönlendirme işlemine göre aşağıdaki kodlar yerleştirilir. İstenen işleme göre eklenmesi gereken kodları sırayla inceleyelim:
301 Yönlendirme İşlemleri
.htaccess ile tek sayfayı başka bir sayfaya yönlendirme
Redirect 301 /urunler/eski.html http://www.websitesi.com/yeni.html
.htaccess ile site yönlendirme
Redirect 301 / http://www.websitesi.com/
.htaccess ile web sayfası uzantısı değiştirme
RedirectMatch 301 (.*)\.html$ http://www.websitesi.com/$1.php
.htaccess ile www.websitesi.com adresini websitesi.com adresine yönlendirme (www kaldırma)
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^websitesi\.com
RewriteRule (.*) http://websitesi.com/$1 [R=301,L]
.htaccess ile websitesi.com adresini www.websitesi.com adresine yönlendirme (www ekleme)
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^websitesi.com [NC]
RewriteRule ^(.*)$ http://www.websitesi.com/$1 [L,R=301]
.htaccess ile websitesi.com/index.php adresini websitesi.com adresine yönlendirme (index.php kaldırma)
Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
Bu konu hakkındaki daha detaylı bilgiye https://support.google.com/webmasters/answer/93633?hl=en adresinden ulaşabilirsiniz.