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.

9 Yorum

  • Titaest
    22 Eyl 2016

    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)

  • Yalçın
    15 Oca 2017

    Merhaba,

    Bilgi için teşekkürler, benim asıl sorunum şu ;

    yıl/ay/gün/başlık/ olan bağlantı yapısını başlık-id.html yapmak istiyorum. bunu wordpress kalıcı bağlantılardan yapabiliyorum ancak 301 yönlendirmesi için htacchess dosyasında nasıl bir değişiklik yapmalıyım ?

    • 15 Oca 2017

      Merhaba,

      O konuda bilgim yok malesef, üzerinde çalışarak çözüm üretmek lazım.

      • Yalçın
        15 Oca 2017

        Teşekkürler, permalink finder eklentisi kullanmak durumunda kaldım umarım google üzerinde etkisi kötü olmaz.

  • Yusuf Ali
    19 Tem 2017

    Merhaba öncelikle yazı için teşekkürler.

    Ben şunu sormak istiyorum.

    2 adet yazım var.
    1. yazı "masa modelleri" adında ve bu kelimede içerikler girilmiş.
    2. yazı "salon masa modelleri" adında

    Ben 1. yazıyı 2. yazıya 301 ile yönlendirmek istiyorum. Bunu yaparken 1. yazıdaki içeriği silip 2. yazıya taşıyorum. Bu işlem doğru mu? Yoksa 1. yazıdaki içerikler aynen kalmalı mıdır?

    Vakit ayırdığınız için şimdiden teşekkürler

    • Özlem Çimen
      19 Tem 2017

      Anlam bütünlüğü bozulmadan içerikleri ikinci yazıya entegre etmek daha uygun olacaktır.

  • Yusuf Ali
    19 Tem 2017

    h2 etiketiyle 2 yazı içerisinde bir başlık açıp birebir kopyalamayı düşünüyorum.

    bilgilendirme için teşekkürler

  • Yusuf Ali
    19 Tem 2017

    Seo ile ilgili şu konuda fikriniz nedir?

    "orta sehpa süsleri" anahtar kelimesinde

    şu sayfa http://www.biev.com.tr/dekoratif-aksesuarlar ikinci sırada.

    Ama sayfada bu anahtar kelime hiç geçmiyor.

    Bu semantik algoritmanın sonucu mu?

    • Özlem Çimen
      23 Tem 2017

      Bu konuda net bir şey söyleyebilmek için, sitenin iç dış analizinin yapılması lazım :)

Konuya Yorumunuzu Bekliyorum