WordPress ile 404 hatalarını tespit etmek

Benim gibi dotclear‘dan wordpress’e göç etmiş bir blogcu iseniz yeni sitenizdeki bazı URL adreslerinin 404 hatası vermemesi neredeyse mümkün değil. Arama motorlarının indekslemiş olduğu URL adresleri sitenizde karşılık bulmuyorsa başınız biraz dertte demektir. Arama motorları bu adresleri periyodik olarak ziyaret ettikleri için sürekli 404 hataları ile karşılaşacakdır. 404’lerin ele geçirdiği bir site arama motorlarının gözünde değer kaybeder.

WordPress altyapısını kullanan sitenizin derinliklerindeki geçersiz URL adresleri haberiniz olmayan birçok 404 hatasını üretmektedir. Şahsen uzunca bir süre farkında olmadığım ve aslında kolayca tespit de edilemeyecek bu durumu düzeltmek biraz zamanımı aldı doğrusu. Bu sorunu gidermek çin aşağıdaki PHP kodlarını yazdım.

Kodları wordpress temanıza ekleyerek siz de kullanabilirsiniz. Kodlar sitenizde var olmayan bir adres talep edildiğinde, ilgili adresi ve isteğin kimden geldiği gibi bilgileri eposta adresinize göndererek raporlayacaktır. Bundan sonra iş gelen raporlara göre kırık bağlantıları onarmaya geliyor. Bir hafta içerisinde posta kutumda 2000’e yakın rapor birikti.

Genel olarak kırık bağlantılar ile ilgili karşılaştığım sorunlar, arama motorlarında kayıtlı eski formatlı bağlantıları saymazsak; dosya adı ile çağrı yapılan dosya adının büyük/küçük harf duyarlılığından dolayı farklılık göstermesinden kaynaklanan geçersiz bağlantılar (örneğin FancyZoom.js ismi ile sunucuda kayıtlı bir dosyayı ‘fancyzoom.js’ ismiyle çağırırsanız linux sunucu bu dosyayı bulamaz), birşekilde arşivden silinmiş çok sayıda resim dosyası ve az sayıda arşiv dosyası tespit ettim.Ayrıca eski biçimli kırık bağlantıları da fark edip functions.php içine yerleştirdiğim yönlendirme kodları ile yeni adreslerine yönlenmelerini sağladım.

Kodları kullanmak için, aşağıdaki kodu tema dizininizde yeralan 404.php isimli dosyanin içerisine ekleyin ve kaydedin. Eğer tema dizininizde 404.php isminde bir dosya yok ise masaüstünüzde 404.php isimde bir dosya oluşturarak aşağıdaki kodları içerisine yapıştırın ve FTP’deki tema dizininize yükleyin.



Kod ile ilgili biraz daha teknik bilgi vermek istiyorum. Kodda yer alan curPageURL() fonksiyonu ziyaretçinin istek yaptığı URL’yi tespit etmeyi sağlıyor.

get_bloginfo(‘admin_email’) fonksiyonu ile WordPress’de kayıtlı site yöneticisinin e-posta adresi getiriliyor. (Eğer hiç rapor almıyorsanız ki bu pek mümkün değil, [en iyi ihtimalle /favicon.ico dosyanız yoksa bile birçok 404 durumu oluşur] muhtemelen WordPress->Ayarlar sayfanıza girdiğiniz yönetici e-posta adresiniz farklıdır.

PHP’nin $_SERVER isimli ön tanımlı dizi değişkeni ile ziyaretçinin kırık sayfamıza hangi adresten geldiği (HTTP_REFERER), IP adresi ve kullandığı tarayıcının ismi alınarak bir rapor haline getiriliyor.

Son olarak wp_mail isimli WordPress fonksiyonu ile raporun gönderilme işlemi gerçekleşiyor.

WordPress kırık bir adresle karşılaştığında tema dizininde yer alması gereken 404.php isimli dosyayı otomatik olarak çalıştırır. Ben kodlarda ziyaretçiye gösterilmesi için kendime göre bir 404 hata mesaj ekranı oluşturdum, siz burayı kendinize göre değiştirebilirsiniz. get_header(), get_sidebar() ve get_footer() fonksiyonları WordPress’in HTML sayfa içeriğimizi oluşturması için gereken komutlar.

Umarım faydalı olur.

Yazar: Özgür Koca

Yazar - Tankado.com

“WordPress ile 404 hatalarını tespit etmek” için bir yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.