İçeriğe geç

WordPress cron görevleri nasıl çalışır?

WordPress Cron Görevleri Nasıl Çalışır?

WordPress sitesi yönetiyorsanız, belirli işlemlerin otomatik olarak ve zamanında yapılmasının ne kadar önemli olduğunu mutlaka biliyorsunuzdur. Peki, WordPress’te bu otomatik görevleri (örneğin yedekleme, e-posta gönderimi ya da eklenti güncellemeleri) arka planda nasıl işliyor hiç düşündünüz mü? Cevap: WordPress cron görevleri!
Bu yazıda, WordPress cron sisteminin ne olduğunu, nasıl çalıştığını, yönetildiğini ve olası sorunların nasıl çözüleceğini sıcak, samimi bir üslupla detaylıca anlatacağım. Hadi başlayalım!

WordPress Cron Nedir?

Öncelikle “cron” terimi Unix tabanlı sistemlerde zamanlanmış görevleri belirli aralıklarla çalıştıran bir zamanlayıcıdır. WordPress ise kendi yazılım tabanlı cron sistemi ile bu işlevi web sitelerinde kullanıcı dostu şekilde sunar. “wp-cron” olarak da bilinen bu sistem, sitenizde düzenli olarak yapılması gereken işleri belirli zamanlarda veya periyotlarda otomatik olarak yürütür.

  • Yazı planlama: Planladığınız yazıların otmatik olarak yayına alınması
  • Eklenti güncellemeleri: Otomatik güncellemelerin kontrol edilmesi ve uygulanması
  • Otomatik yedekleme: Veritabanının veya dosyaların belirli aralıklarla yedeklenmesi
  • E-posta gönderimi: Toplu e-posta ya da bildirimlerin iletimi
  • Önbellek temizleme: Belirli aralıklarla gereksiz dosyaların silinmesi

WordPress Cron Nasıl Çalışır?

Şimdi gelin, bu sistemin arka planda nasıl işlediğine adım adım bakalım:

1. Ziyaret Odaklı Çalışma

WordPress cron, klasik sunucu tabanlı cron’dan farklıdır. Gerçekten zamana bağımlı şekilde çalışmaz, çünkü sunucuya bir görev takvimi eklenmez. Bunun yerine, web sitenize her biri ziyaretçi geldiğinde arka planda “wp-cron.php” dosyası çalışır ve yapılacak bir cron görevi varsa işler.

2. Görevlerin Takibi

WordPress cron görevleri, veritabanındaki wp_options tablosunun cron değeri (option name’i) altında saklanır. Her görev için çalıştırma zamanı ve fonksiyonu tutulur.

3. Görevlerin İşlenmesi

Bir ziyaretçi geldiğinde WordPress, bekleyen cron görevlerini kontrol eder ve zamanı gelmiş işleri çalıştırır. Eğer hiç ziyaretçi gelmiyorsa, zamanlanan görev de işlemeye alınmaz! Yani işler, siteniz aktifse tıkırında ilerler; siteye trafik yoksa otomasyon biraz sekteye uğrayabilir. Bu önemli bir ayrıntı.

Görev Türü Çalışma Sıklığı Örnek
Yazı Yayınlama Planlanan tarihte bir kez 15 Haziran 2024, 09:00’de bir yazının yayınlanması
Otomatik Yedekleme Günlük veya haftalık Her gece saat 02:00’de veritabanının yedeklenmesi
Eklenti Güncellemeleri Günlük veya saatlik Her saat başı yeni güncellemeler denetlenir
Önbellek Temizleme Belirli periyotlarda 6 saatte bir önbellekteki geçici dosyaların silinmesi

WordPress Cron Görevlerini Görüntüleme ve Yönetme

Kendi sitenizde hangi cron görevlerinin çalıştığını öğrenmek veya yeni görevler eklemek ister misiniz? Merak etmeyin, bunun kolay yolları var:

  • WP Crontrol Eklentisi: En popüler ve kullanıcı dostu cron yönetim aracı. Eklentiyi kurup Araçlar > Cron Events menüsüne girerek mevcut görevleri görebilir, yenilerini ekleyip düzenleyebilirsiniz.
  • Manuel Kod Ekleme: functions.php’ye kod ekleyerek de yeni görev zamanlaması tanımlayabilirsiniz.

Örnek: WP Crontrol Kullanarak Cron Görüntüleme & Ekleme

1. WP Crontrol eklentisini kurun ve etkinleştirin.
2. Araçlar > Cron Events sekmesinde zamanlanmış tüm görevleri listeliyor olacak.
3. Yeni bir görev eklemek veya zamanlamayı düzenlemek isterseniz pratik arayüzüyle kolayca yapabilirsiniz.

WordPress Cron ile İlgili Yaygın Sorunlar ve Çözümleri

Fark ettiğiniz gibi WordPress’te cron farklı çalışıyor. Bazı durumlarda sorunlar yaşanabiliyor, işte başlıcaları:

  • Görevler Çalışmıyor: Sitenize uzun süre kimse uğramazsa görevler tetiklenmez. Yayınlanmayan planlı gönderiler genelde bu yüzden olur. Çözüm: Gerçek cron job kurmak!
  • Yoğun Trafikte Yavaşlama: Her ziyaretçide cron çalıştığı için çok trafiğiniz varsa, işlem yükü oluşabilir. Çözüm: wp-cron’u devre dışı bırakıp gerçek sunucu cron ayarlamak.
  • Çakışan Eklentiler: Fazla cron görevi oluşturan eklentiler siteyi yorabilir. Gereksiz görevleri WP Crontrol ile kaldırın.

Sunucu Taraflı Gerçek Cron Nasıl Kurulur?

Verimliliği artırmak için wp-cron’u devre dışı bırakıp, sunucuya gerçek bir cron komutu ekleyebilirsiniz. Bunun için genellikle hosting kontrol panelinde “Cron Jobs” bölümünden şu komutu 5-10 dakikada bir çalışacak şekilde ayarlayın:

cd /site-dizin/yolu; php -q wp-cron.php

Böylece görevler zamana bağlı ve güvenilir şekilde işler, sitenin de yükü azalır. Ama unutmayın, tüm hosting’lerde bu özellik olmayabilir!

WordPress Cron İle İlgili Sıkça Sorulan Sorular

  • Wp-cron.php’yi kapatırsam ne olur? Planlanmış görevler tetiklenmez. Ancak gerçek bir cron job ayarladıysanız sorun olmaz.
  • Fazla cron görevi sistemi yavaşlatır mı? Evet, gereksiz ve sık çalışan cronlar sitenin performansını olumsuz etkiler.
  • Cron görevlerini sileyim mi? Sadece ihtiyacınız olmayan ya da bozuk (failed) vaziyette kalanları silin.

Sonuç: WordPress Cron Görevlerinizi Kontrol Altına Alın!

WordPress cron görevleri sitenizin otomasyon kaslarını güçlendirir, işlerinizin aksamasını engeller. Konuyla ilgili bilinçli olarak, gereksiz görevleri temizlemek ve gerektiğinde gerçek cron sistemiyle entegrasyon sağlamak, performans ve güvenilirlik açısından çok önemlidir. WP Crontrol gibi araçlarla kolayca cron takibi yapabilir, sunucu cron ile otomasyonunuzu bir üst seviyeye taşıyabilirsiniz.
Unutmayın, WordPress’in asıl gücü arka planda düzenli çalışan otomasyonlardan gelir. Sitenizi büyütmek ve verimli yönetmek için cron görevinizi ciddiye alın!