wp-cron.php Gerçekten Gerekiyor mu? Gerçek Cron ile Değiştirme

wp-cron.php gerçekten gerekiyor mu? sorusuna verilecek yanıt: “Evet, ama optimize edilebilir.”
WordPress sitelerinde wp-cron.php, zamanlanmış görevleri yürütmek için kullanılır. Örnek olarak:

  • Yazıların zamanında yayınlanması
  • Eklenti güncellemelerinin kontrolü
  • Ön bellek temizliği
  • Otomatik yedeklemeler

Ancak, varsayılan davranışı her ziyaretçide çalıştırılmasıdır – bu da yoğun trafikte performans sorunlarına veya hiç trafik almayan sitelerde cron görevlerinin çalışmamasına yol açabilir.

Gerçek Cron ile Değiştirme

1. WordPress’in varsayılan Cron’unu devre dışı bırak
wp-config.php dosyanızda aşağıdaki satırı ekleyin:

define('DISABLE_WP_CRON', true);

Bu satır, WordPress’in wp-cron.php dosyasını otomatik olarak çalıştırmasını engeller.

2. Gerçek cronjob oluşturun (Linux sunucu için)

Eğer paylaşımlı hosting değil de kendi VPS veya bir Linux sunucunuz varsa, şu adımları izleyin:

Cronjob Komutu (örnek: her 5 dakikada bir):

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

Alternatif olarak curl kullanılabilir:

*/5 * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Güvenlik notu: Eğer wp-cron.php‘yi herkese açık bırakmak istemiyorsanız, IP sınırlaması veya htaccess koruması ekleyebilirsiniz.

Avantajlar

  • Daha doğru zamanlama
  • Daha düşük sunucu yükü
  • Trafik bağımlılığının kaldırılması

Ne zaman Gerekli Değildir?

  • Düşük trafikli ve az işlem yapan küçük sitelerde çok büyük fark yaratmaz.
  • Bazı managed WordPress hostingler zaten wp-cron‘u optimize şekilde çalıştırır (örneğin Kinsta, WP Engine).

DirectAdmin Üzerinden Cronjob Ekleme

Adımlar:

  • DirectAdmin’e giriş yap.
  • Sol menüden “Advanced Features” > “Cron Jobs” sekmesine git.
  • “Add New Cron Job” kısmını doldur:
Ayar Değer
Minute */5 (her 5 dakikada bir)
Hour *
Day *
Mount *
Weekday *

Command alanına şunu yaz:

/usr/local/bin/php -q /home/kullaniciadi/domains/siteniz.com/public_html/wp-cron.php

Notlar:

  • kullaniciadi: DirectAdmin’deki kullanıcı adınız.
  • siteniz.com: Alan adınız.
  • Eğer php komutu çalışmazsa, tam PHP yolu gerekebilir. Örneğin:
/usr/local/php82/bin/php -q /home/...

Alternatif olarak wget ya da curl ile de çalıştırabilirsiniz:

curl -s https://siteniz.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Doğrulama
Cron’un düzgün çalıştığını test etmek için WordPress panelinden bir zamanlanmış görev (örneğin: zamanlı yazı yayını) oluşturun. Yayın saati geldiğinde düzgün çalışıyorsa sistem tamamdır.

Ekstra: wp-cron.php’yi dışarıya kapatmak için?
Eğer sadece sunucudan çalışsın, ziyaretçiler erişemesin istiyorsan .htaccess dosyanıza şunu ekleyebilirsin:

<Files "wp-cron.php">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Files>

Bu, sadece sunucunun kendisinin çalıştırmasına izin verir.

Kodlar Kodlayana, Kahveler Bana! ☕

Burada paylaştığım içerikler projelerinde işine yaradıysa veya sana zaman kazandırdıysa, bir kahve ısmarlayarak desteğini gösterebilirsin. Bu destek, daha fazla içerik üretmem için motive edici olacaktır.

☕ Bana Bir Kahve Ismarla

    Bir yanıt yazın

    10 Ocak 2026

    GTranslate Eklentisinde Dil Değiştirirken Geri Tuşu Sorunu ve JS ile Kalıcı Çözüm

    GTranslate, WordPress sitelerde hızlı ve pratik çok dilli yapı kurmak için sıkça kullanılan bir eklentidir. Ancak eklentinin ücretsiz sürümünde, dil değiştirildikten sonra tarayıcı geri tuşu kullanıldığında […]
    29 Aralık 2025

    Sitenizin Arka Kapısını Kilitleyin: xmlrpc.php Tehlikesi ve Çözümü

    WordPress sitenizi kurdunuz, temanızı seçtiniz ve güvenlik eklentilerinizi yüklediniz. Peki ya sitenizin arka kapısı, yani xmlrpc.php ne durumda? Çoğu site sahibinin varlığından bile haberdar olmadığı, ancak […]