Neler yeni

Hoşgeldin Ziyaretçi

Kayıt olarak forumumuzdan dosya indirebilir,bilgi sahibi olabilir,daha iyi bir şekilde yararlanabilirsin.

Şimdi kayıt ol

WordPress’te Otomatikleştirme: Cron Jobs ve Görevler

wpforum

Member
Yönetici
53
22 Ocak 2025
Web sitenizi yönetirken, belirli görevleri manuel olarak yapmak yerine otomatikleştirmek büyük bir avantaj sağlar. WordPress’te bu tür işlemler için WordPress Cron Jobs mekanizması kullanılır. Örneğin, zamanlanmış yazıları yayınlamak, veritabanı temizliği yapmak veya yedekleme oluşturmak için cron görevleri oldukça kullanışlıdır.

Bu rehberde, WordPress’te Cron Jobs’un ne olduğunu, nasıl çalıştığını ve özelleştirilmiş görevlerin nasıl oluşturulacağını detaylı bir şekilde inceleyeceğiz.

1. WordPress Cron Jobs Nedir?

Cron Jobs, belirli zamanlarda çalıştırılmak üzere programlanmış görevlerdir. Linux sunucularında kullanılan geleneksel cron sisteminin WordPress’e özel bir sürümü olarak düşünülebilir.

WordPress, bu işlemi wp-cron.php dosyası aracılığıyla yönetir ve sitenize yapılan ziyaretlere bağlı olarak çalıştırır. Yani, biri sitenize eriştiğinde cron görevleri tetiklenir.

1.1. WordPress Cron Jobs ile Yapılabilecek İşlemler

Zamanlanmış yazıları otomatik olarak yayınlama

Eklenti ve tema güncellemelerini kontrol etme

Veritabanı temizliği ve optimizasyonu

Otomatik yedekleme alma

E-postaları zamanlayarak gönderme

XML site haritasını güncelleme


2. WordPress Cron Jobs Nasıl Çalışır?

WordPress, sunucunun kendi cron sistemine bağımlı kalmadan kendi zamanlanmış görevlerini yönetir. Ancak, bu sistem bazı durumlarda dezavantajlara sahiptir:

Gerçek zamanlı çalışmaz: Ziyaretçi yoksa cron çalışmayabilir.

Yoğun trafik sırasında performans düşebilir: Çok fazla cron görevi varsa siteyi yavaşlatabilir.


Bu yüzden, bazen WordPress'in varsayılan cron sistemini devre dışı bırakıp gerçek bir sunucu cron job kullanmak daha iyi bir seçenektir.


3. WordPress’te Cron Jobs Yönetimi

3.1. Varsayılan Cron Görevlerini Görüntüleme

Mevcut cron görevlerinizi görmek için WP Crontrol eklentisini kullanabilirsiniz:

1. Eklentiyi yükleyin:

WordPress panelinden Eklentiler > Yeni Ekle bölümüne gidin.

"WP Crontrol" eklentisini aratıp yükleyin.



2. Cron görevlerini görüntüleyin:

Araçlar > Cron Etkinlikleri sayfasına giderek mevcut görevleri görebilirsiniz.




3.2. Yeni Cron Görevi Eklemek

Özel cron görevleri oluşturmak için functions.php dosyanıza aşağıdaki kodları ekleyebilirsiniz.

1. İlk Adım: Cron İşlemini Tanımlama

function ozel_cron_gorevi() {
error_log("Özel cron görevi çalıştırıldı: " . date('Y-m-d H:i:s'));
}
add_action('ozel_cron_gorevi_hook', 'ozel_cron_gorevi');

2. İkinci Adım: Cron Görevini Planlama

if (!wp_next_scheduled('ozel_cron_gorevi_hook')) {
wp_schedule_event(time(), 'hourly', 'ozel_cron_gorevi_hook');
}

Bu kod, "ozel_cron_gorevi_hook" adlı cron görevini oluşturur ve her saat başı çalıştırır.

3. Üçüncü Adım: Cron Görevini Temizleme

Cron görevi artık gerekli değilse, şu kod ile kaldırabilirsiniz:

wp_clear_scheduled_hook('ozel_cron_gorevi_hook');


4. Gerçek Sunucu Cron Job Kullanımı

WordPress’in varsayılan wp-cron.php dosyası, sitenize her ziyaret edildiğinde çalıştığı için performans sorunlarına yol açabilir. Bunun yerine gerçek bir sunucu cron job kullanabilirsiniz.

4.1. WordPress Cron’u Devre Dışı Bırakma

Öncelikle, wp-cron.php dosyasının otomatik çalışmasını devre dışı bırakmalısınız. wp-config.php dosyanıza şu kodu ekleyin:

define('DISABLE_WP_CRON', true);

4.2. Sunucuda Manuel Cron Job Oluşturma

cPanel, Plesk veya SSH kullanarak bir cron job ekleyebilirsiniz.

cPanel Üzerinden Cron Job Ekleme

1. cPanel’e giriş yapın.


2. "Cron Jobs" sekmesine gidin.


3. Aşağıdaki komutu kullanarak bir cron job ekleyin:



*/30 * * * * wget -q -O - https://siteadresiniz.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Bu komut, wp-cron.php dosyasını 30 dakikada bir çalıştırır.

SSH Üzerinden Cron Job Ekleme

Sunucunuza SSH ile bağlanarak şu komutu girin:

crontab -e

Ardından şu satırı ekleyin:

*/30 * * * * curl -s https://siteadresiniz.com/wp-cron.php?doing_wp_cron > /dev/null


5. WordPress Cron Job Optimizasyonu ve En İyi Uygulamalar

Gereksiz cron görevlerini kaldırın: WP Crontrol eklentisi ile kullanılmayan görevleri temizleyin.

Cron görevlerini azaltın: Çok sık çalıştırılan görevleri daha uzun aralıklarla planlayın.

Gerçek sunucu cron job kullanın: Daha güvenilir ve hızlıdır.

Veritabanınızı düzenli olarak optimize edin: Gereksiz verileri temizleyerek cron işlemlerinin daha verimli çalışmasını sağlayabilirsiniz.

Sonuç
WordPress cron jobs, web sitenizi otomatikleştirmek ve manuel iş yükünü azaltmak için harika bir araçtır. Ancak, varsayılan sistemin sınırlamaları nedeniyle bazı durumlarda gerçek sunucu cron jobs kullanmak daha iyi bir seçenektir.
 
Üst