Wordpress Benzer Url Yönlendirmesini İptal Etme
Wordpress sitemde olmayan bir URL, olan bir URL’e yönlendiriliyor diyebilirsiniz. Bu durum, WordPress’in varsayılan olarak URL’leri yakalayıp benzer bir URL’e yönlendirme yeteneğinden kaynaklanır. Bunun için herhangi bir işlem yapmamış olsak dahi, aynı harfler ile başlayan ve benzer olabileceğini düşündüğü bir sayfa var ise otomatik yönlendirme gerçekleşir. Benzer Url Yönlendirmesi hakkında bir örnek vermek gerekirse https://onuruzunonline.com/s > https://onuruzunonline.com/seo-basvuru-formu/ yönlendirmesi gösterilebilir. Belirtmek isterim ki, ben bu özelliği faydalı buluyorum ve kaldırılmamasını tavsiye ederim.
Öncelikle, .htaccess dosyanızda, eklentilerinizde veya WordPress’in ayarlarında benzer bir yönlendirme kuralı olup olmadığını kontrol edin. Eğer bu yönlendirme .htaccess dosyasında veya WordPress yönlendirme eklentilerinde belirtilmişse, bu kuralları kaldırarak problemi çözebilirsiniz.
Eğer yönlendirme kuralını bahsedilen yerlerde bulamadıysanız aşağıdaki kodu functions.php dosyanıza ekleyerek bu özelliği iptal edebilirsiniz. Öncesinde yedek almanızı öneririm.
function disable_similar_url_redirect() {
global $wp_query;
// Eğer URL bir sayfa veya gönderi değilse ve eklentilerin veya temanın özel yönlendirmeleri yoksa
if ( !is_singular() && !is_archive() && empty($wp_query->post) ) {
status_header(404);
nocache_headers();
include( get_query_template( '404' ) );
die();
}
}
add_action( 'template_redirect', 'disable_similar_url_redirect' );
Bu kod, eğer URL bir sayfa ya da gönderi değilse ve özel yönlendirmeler yoksa, 404 hatası döndürür. Bu sayede WordPress’in benzer URL’leri otomatik olarak yönlendirme özelliği iptal edilmiş olur.