WordPress’te 301 Yönlendirmesi Nasıl Yapılır ?

WordPress’te 301 Yönlendirmesi Nasıl Yapılır ?

Bugün farkettim ki, halen 301 yönlendirmesi konusunda Türkçe kaynak anlamında eksiklikler var. Bende bunun üzerine bir şeyler yazayım dedim.

Wordpress'te 301 yönlendirmesi herkesin bildiği gibi .htaccess ile yapılır. Ama nasıl ? Birkaç çeşidi mevcut..

Bunlardan birincisi, farklı bir domainden farklı bir domaine geçiş esnasında yapılan yönlendirmeler. Alt içeriklerinizle beraber yeni domaine 301 yönlendirmesi yapmak için aşağıdaki kodları .htaccess dosyasına yerleştirebilirsiniz.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^eskidomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.eskidomain.com [NC]
RewriteRule ^(.*)$ http://www.yenidomain.com/$1 [L,R=301,NC]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Bir linki aynı domain üzerinde başka bir linke yönlendirmek için,

Redirect 301 /eski-link.html /yeni-link.html

Bir linki farklı domainde farklı bir linkle yönlendirmek için,

Redirect 301 /eski-link.html http://www.yenidomain.com/yeni-link.html

Domaini www yönlendirmesine zorlamak için,

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^siteadi.com [NC]
RewriteRule ^(.*)$ http://www.siteadi.com/$1 [L,R=301,NC]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Domaini www versiyonsuz yönlendirmek için,

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.siteadi.com [NC]
RewriteRule ^(.*)$ http://siteadi.com/$1 [L,R=301,NC]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Tüm uzantıları değiştirmek için, örnek olarak .php uzantılı linkleri .html uzantılı linklere 301 yönlendirmesini yapabilirsiniz.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} .php$
RewriteRule ^(.*).php$ /$1.html [R=301,L]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

/%year%/%monthnum%/%day%/%postname%/ permalink yapısına sahip olan linklerinizi /%postname%/ permalink yapısına yönlendirmek için,

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/?$ http://www.siteadi.com/$4/ [R=301,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

/%year%/%monthnum%/%postname%/ permalink yapısına sahip olan linklerinizi /%postname%/ permalink yapısına yönlendirmek için,

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)/?$ http://www.siteadi.com/$3/ [R=301,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

/%year%/%postname%/ permalink yapısına sahip olan linklerinizi /%postname%/ permalink yapısına yönlendirmek için,

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]{4})/([^/]+)/?$ http://www.siteadi.com/$2/ [R=301,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Bu yazı 10 Temmuz 2016 tarihinde güncellendi

Eğer Google'da aşağıda görseldeki gibi wordpress etiketleriniz index almış ve google indexlerinizde bir kayıp yaşamadan "tag" e  ya da başka bir şeye yönlendirme yapmak isterseniz, aşağıdaki kodu .htaccess dosyasına ekleyip kendinize göre düzenleyebilirsiniz.

wordpress-etiketlerin-301-yonlendirmesi-nasil-yapilir-02

RewriteBase /

satırından sonra

RewriteRule ^etiket/(.*) /e/$1 [L,R=301]

Bir önceki yazım olan WordPress'te SSL Htaccess Kodu başlıklı makalemde wordpress ssl ve wordpress ssl htaccess kodu hakkında bilgiler verilmektedir.

Özlem'den Okuyucuya

Bir bloggerın en önemli motivasyon kaynağı, yazdığı yazılarının ilgi görmesidir. Okumuş olduğun içeriği beğendiysen sosyal medyada paylaşabilir, konu ile ilgili görüşlerini yorum kısmından yazabilir veya hemen aşağıdan mail listeme abone olarak bana destek olabilirsin.

Paylaş

google
linkedin

İlginizi Çekebilecek Yazılar

  • Titaest

    kaliteli bilgiler. Bir sorum olacak
    site/yil/ay/gun/postname/ olan linki site/category/postname olarak 301 yönlendirmesi nasıl yapabilirim
    (Sizce disqus yorum sisteminin avantajı nedir)