Kas 112014
 
2.646 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:

define('DISABLE_WP_CRON',true);

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:

0,15,30,45 * * * * cd /home/username/public_html; /usr/local/bin/php -q wp-cron.php

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/

  3 Yanıt - “WordPress Cron.php Macerası”

  1. Hosting firmam wp-cron.php işlemleri yüzünden sistemimin aşırı yüklendiğini ve “önlem almak zorunda kalacaklarını” bildirdi.
    Son günlerde başka işlerim nedeniyle websiteme fazla zaman ayıramıyordum. Öyle görünüyor ki bu arada ya bir eklentide sorun oluştu, ya da dışarıdan bir saldırı geldi.
    Gerekçe ne olursa olsun, wp-cron.php, wordpress sisteminin yumuşak karnı.
    İnternette bu konuyu araştırdığımda binlerce mesajla karşılaştım.
    Bu durumda, yukarıdaki yazımda iptal ettiğimi belirttiğim önlemleri yeniden devreye soktum.
    Bakalım yeni gelişmeler ne olacak?

  2. wp-cron.php yükünü arttıran eklentilerin arasında Yet Anather Related Posts Plugin (YARPP) ve NextGen Gallery yer alıyor. Ben bunlardan YARPP’ı kullanıyorum. Bu durumda o eklentiyi kaldırıp, JetPack’in bu amaçlı fonksiyonunu devreye sokacağım.
    Ama önce ortalık biraz durulsun. Ben de yaptığım değişikliklerin sonuçlarını izleyebileyim.

  3. Cron işi herhangi bir sorun yaşıyorsanız, size https://www.easycron.com gibi ücretsiz çevrimiçi cron işi sağlayıcı deneyebilirsiniz.

 Bir yanıt bırakın

Bu HTML tagleri ve özellikleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(gerekli)

(gerekli)

This site uses Akismet to reduce spam. Learn how your comment data is processed.