Kas 112014
 
2.535 views

WordPress Cron.php Macerası

Her yaptığımız şey istediğimiz sonucu verecek değil ya! Bazan yanlışlıklar da yapıyoruz. Ne de olsa insanız!…

cron

Her ne olursa olsun, yaptığımız yanlışlar bile bize bir sürü şey öğretiyor. Cron macerası da aynen öyle oldu.

webmaster.gamet.com.tr sitesinin performansını geliştirmek için SEO uygulamalarına devam ediyorum. Bu amaçla internet üzerinde yaptığım araştırmalardan birinde, cron.php dosyasının her sayfa ve post hareketinde otomatikman çağrıldığı için site performansını düşürdüğünden söz ediliyordu.

Açıklama gayet mantıklı. Eğer ziyaretçi sayınız ve sayfalarınızın tıklanma sayısı fazlaysa, cron.ph dosyası da çok sık çağrılacak ve bir sürü işlem boş yere tekrarlanacak.

Önerilen çözüm de gayet açık ve pratik:

1- cron.php dosyasının otomatik çağrılmasını engelle
2- Aynı dosyayı Cpanel üzerindeki veya shell üzerinden sistem cron ile istediğin aralıklarla çalıştır.

Ben de aynen bunları yaptım.

Önce wp-config.php dosyasını açtım ve içine şu satırı ekledim:

Böylece cron.php dosyası her tıklamada çalışmak zorunda olmaktan çıktı. Şimdi de Cpanel cron üzerinden istediğim aralıkta çağrılmasını sağlamak gerekiyor.

Bu amaçla cPanel’e girip “Zamanlanmış Görevler” bölümünü açtım:

Her şey güzel görünüyor!

Ama kısa bir süre sonra admin olarak bazı sıkıntılar yaşamaya başladım. Örneğin yaptığım değişiklikleri normal bir kullanıcı olarak test etmek için logout seçeneğini kullandığım halde, admin çubuğu yine ekranın tepesinden bana bakmaya devam ediyor. Bütün çerezleri sildim. Hatta bilgisayarımı kapatıp açtım. Ne yaptıysam bir şey değişmedi! Yetkisiz bir kullanıcı olarak siteye giremiyorum.

İnternet araştırmalarımdan da işime yarayacak bir sonuca ulaşamadım.

Sonunda pes ettim! Cpaneldeki cron işlemini devredışı bıraktım. wp-config.php dosyasındaki otomatik cron iptal satırını da kaldırdım.

Öyle görünüyor ki, “logout” işlemi de cron.php üzerinden etkinleştiriliyor. Ya da multi-site wordpress kullandığım için bu öneri benim işime yaramamış olabilir.

Eğer siz de bu konuda denemeler yapmış iseniz, deneyimlerinizden yararlanmak beni de mutlu eder. Yorum alanına düşünce ve önerilerinizi ekleyebilirsiniz.

Eğer ben bu konuda yeni bilgilere ulaşırsam, onları da sizlerle paylaşacağım.

ahmet aksoy

Not: Eğer hosting sisteminiz cron üzerinden wget komutunu işletmenize izin veriyorsa aşağıdaki linkte yer alan yazıdan yararlanabilirsiniz. Benim hostum buna izin vermediği için ben doğrudan php komutunu kullanmak zorunda kaldım:

http://www.iceablethemes.com/optimize-wordpress-replace-wp_cron-real-cron-job/