Nitekim WordPress internet dünyasında kabul görmüş, günümüzde en çok kullanılan hazır CMS yazılımı. Dünya’daki web sitelerin %30’u WordPress ile hazırlanmış durumda. Bunun başlıca sebebi WordPress ile her türden site yapılabilmesi, bileşen ve tema bolluğu.
Tabi WordPress ile her türlü site yapılabilmesi özelliğiyle birlikte yanında gelen bir dezavantaj var. Aşırı CPU problemi ve yavaşlık. Bu yazı serimizde bunun için neler yapabiliriz, onu ele alacağız.
1) wp-cron.php dosyasını pasif hale getirme.
WordPress’in kendi içerisinde wp-cron.php adında bir dosya bulunur. Bu dosya vasıtası ile zamanlanmış yazılar yayına girer.Örneğin 14 Şubat sevgililer gününde saat 00:00’da yayına girecek şekilde bir yazı eklediniz. wp-cron.php gerekli tarih ve saat geldiğinde bu yazıyı yayına alır.İşte sürekli çalışıp kontrol işlemi yapmasından ötürü aşırı CPU (işlemci) kullanımı gerçekleştirir. Öncelikle bu dosyanın kendi kendine çalışmasını pasif hale getireceğiz. Sonrasında ise bu dosyanın kendi kontrolümüzde çalışmasını sağlayacak şekilde hosting kontrol panelimizden cron job ekleyeceğiz.
Hosting içindeki sitenizin dosyalarına ulaşmak için FTP ile bağlantı kurduğunuzu varsayıyorum. WordPress dosyalarımızın bulunduğu ana dizinde wp-config.php dosyasını bir editör vasıtasıyla açalım.Ben örnek verirken Sublime Text kullandım.
define('WP_DEBUG', false); kelimesini aratıyoruz. Hemen bir alt satırına şunu ekliyoruz.
define('DISABLE_WP_CRON', true); Sonrasında kaydedip tekrar FTP ile hostingimize yüklüyoruz.İşlem yaptıktan sonra dosyamız görüntüdeki gibi olacaktır.
2) Hosting kontrol panelinden cron job ekleme.
WordPress kullandığınız için linux web hosting bununla birlikte cPanel kontrol panel kullandığınızı varsayıyorum. cPanel’imize giriş yaptıktan sonra Cron Job kısmına giriyoruz. Türkçe kullanıyorsanız Cron İşleri olarak geçer.
Cron job ekleme sayfasında yeni bir cron job ekleyeceğiz. Önerim 30 dakikada bir çalışacak şekilde eklemeniz. 15 dakikada birde idealdir. Zaten sunucularımızda 15 dakikada birin altında çalışacak cronlara sunucu sağlığı sebebiyle izin veremiyoruz. Cron job ekleme formunda en üstte ortak ayarlar seçeneklerinde hazır örnekler mevcut. Ben bu anlatımda 30 dakikada bir çalışacak şekilde
wget -O - http://www.ufukgedik.com/wp-cron.php >/dev/null 2>&1 şekkinde ekledim. Tam olarak ekran görüntüsündeki gibi ekliyoruz.
Böylelikle 30 dakikada bir wp-cron.php dosyamız çalışacak.En azından sürekli çalışmasını ve bu sebeple aşırı CPU kullanmasını engellemiş olacağız. Cron komutumuzun sonuna
>/dev/null 2>&1 yazdım. Sebebi ise cron çalıştıktan sonra mail göndermemesi için.Bunu eklemezsek gereksiz ve spam bir email trafiği oluşabilir.Dünya genelinde alan adınızın email skoru düşer.