Kategoriler
WordPress

WordPress kalıcı bağlantılarda kategori ön ek dizini nasıl kaldırılır

WordPress normal post kategorilerinde ve custom post kategorilerinde ön ek dizini kaldırmak mümkün.

WordPress’de varsayılan olarak kategori adresleri /kategori/kategori-ismi/ şekline oluyor, yönetim panelinden “kategori” dizin ismini istediğiniz gibi değiştirme imkanınız var. Peki bunu tamamen kaldırıp /kategori-ismi/ olarak nasıl yaparız?

Yoast SEO veya popüler SEO eklentilerinden birini kullanıyorsanız bunu yapan bir ayar vardır. O ayarı etkinleştirerek bunu yapabilirsiniz. /wp-admin/admin.php?page=wpseo_titles#top#taxonomies sayfasında “Kategori bağlantıları” ayarında “Kaldır” şeklinde etkinleştirin bu kadar.

Yoast SEO ayarları
Yoast SEO ayarları

Eğer herhangi bir eklenti kullanmıyorsanız aşağıdaki fonksiyonu temanızın function.php dosyasına eklemeniz yeterli: (/category/ yerine //kategori/ yazmanız gerekebilir) Kaynak: user_trailingslashit().

function remove_category($string, $type){
    if ($type != 'single' && $type == 'category' && (strpos( $string, 'category' ) !== false)){
		$url_without_category = str_replace('/category/', '/', $string);
        return trailingslashit($url_without_category);
   }
    return $string;
}
add_filter('user_trailingslashit', 'remove_category', 100, 2);

Bir başka yöntem de aşağıdaki gibi yapmak:

  • Kalıcı bağlantılar ayarlarından “Özel yapı” seçin ve “/%category%/%postname%/” olarak ayarlayın.
  • Kategori temeli kısmına . koyun. (sadece nokta).
  • Kaydedin.
WordPress kalıcı bağlantı ayarı
WordPress kalıcı bağlantı ayarı

Şimdi yukarıdaki herhangi bir yöntemle kategori yapısını değiştirdiyseniz daha önceki kategori adreslerini yeni adreslerine yönlendirmek için dilerseniz .htaccess dosyasına aşğıdaki gibi bir kural ekleyebilirsiniz:

RedirectMatch 301 ^/kategori/(.*)$ /$1/

Hepsi bu kadar.

Custom taxonomy için taxonomy register ederken aşağıdaki gibi kullanırsanız aynı şekilde eki kaldırmış olursunuz. Yani /custom-tax-category/category-name/ yerine /category-name/ elde edersiniz. Kaynak: https://stackoverflow.com/search?q=Remove+taxonomy-base+from+URL+in+WordPress

'rewrite' => array(
       'slug' => '/',
       'with_front' => false
 )

Eğer içerisinde anlamlı bir anahtar kelime yok ise gereksiz dizinlerden kurtulmak SEO için faydalı olabilir.

Umarım işinize yarar, kolay gelsin.