Kayıt Ol

Wordpress

Zeki Ersin Yıldırım 03 Ocak 2026 - 14:27 Wordpress 20 Kez Okundu
Yazımızı Değerlendirin:
WP-Cron Nedir? Nasıl Devre Dışı Bırakılır?

WP-Cron Nedir? Nasıl Devre Dışı Bırakılır?

WordPress, dünyanın en popüler içerik yönetim sistemi olmasını esnekliğine ve kullanıcı dostu yapısına borçludur. Ancak bu esneklik, bazen arka planda çalışan ve site hızını olumsuz etkileyebilen teknik süreçleri de beraberinde getirir. Bu süreçlerin en başında WP-Cron gelmektedir. Bir SEO ajansı veya web sitesi sahibi olarak, sitenizin Google sıralamalarında kalıcı olması için sadece içerik değil, teknik altyapının da kusursuz çalışması gerekir. Seojen.com olarak hazırladığımız bu makalede, WP-Cron'un gizli dünyasına inecek, performans sorunlarını nasıl gidereceğinizi ve sistem kaynaklarını nasıl daha verimli kullanacağınızı detaylandıracağız.

WP-Cron Nedir?

WP-Cron, WordPress'in zamanlanmış görevleri yürütmek için kullandığı yerleşik bir mekanizmadır. İsmindeki "Cron" terimi, UNIX tabanlı işletim sistemlerinde belirli zaman aralıklarıyla çalışan komutları ifade eden "crontab" sisteminden gelir. Ancak WP-Cron, gerçek bir sistem cronu değildir; WordPress geliştiricileri tarafından sunucu tarafında her kullanıcının crontab erişimi olmayabileceği düşünülerek geliştirilmiş bir simülasyondur.

Bir ziyaretçi sitenizdeki herhangi bir sayfayı yüklediğinde, WordPress arka planda WP-Cron'un çalışıp çalışmaması gerektiğini kontrol eder. Eğer zamanı gelmiş bir görev (örneğin zamanlanmış bir yazı veya güncelleme kontrolü) varsa, WordPress bu görevi o ziyaretçinin isteği üzerinden tetikler. Bu yapı, WordPress'in sunucu erişimi kısıtlı olan paylaşımlı hosting hesaplarında bile görevleri yürütmesini sağlar. Ancak bu "istek odaklı" çalışma mantığı, özellikle trafiği yoğun sitelerde her sayfa yüklemesinde gereksiz bir sorgu yükü anlamına gelebilir.

WP-Cron Ne İşe Yarar?

WP-Cron, WordPress ekosisteminin "otomasyon merkezi" olarak görev yapar. Sitenizde elinizle yapmadığınız, ancak belirli aralıklarla gerçekleşmesi gereken onlarca işlem bu yapı sayesinde yürütülür. SEO açısından sitenizin güncel kalması ve veritabanı sağlığının korunması için hayati önem taşır.

WP-Cron'un yürüttüğü temel görevler şunlardır:

Görev Türü Açıklama SEO Etkisi
Zamanlanmış Yazılar Gelecekte bir tarihte yayınlanması için hazırladığınız içeriklerin tam vaktinde yayına alınması. Düzenli içerik girişi sinyali sağlar.
Güncelleme Kontrolleri WordPress çekirdek, tema ve eklentilerin yeni sürümlerinin olup olmadığının denetlenmesi. Site güvenliğini ve hızını korur.
Yedekleme İşlemleri Yedekleme eklentilerinin (UpdraftPlus vb.) belirlediğiniz periyotlarda yedek alması. Veri kaybı riskini minimize eder.
E-posta Bildirimleri Yorum bildirimleri veya şifre sıfırlama gibi sistem e-postalarının sıraya alınması. Kullanıcı etkileşimini artırır.
Veritabanı Bakımı Çöp kutusundaki yorumların temizlenmesi veya veritabanı optimizasyon işlemleri. Sorgu hızını ve site performansını artırır.

WP-Cron Dosyası Nerede?

Teknik olarak WP-Cron'un tüm mantığı WordPress'in ana dizininde (root directory) bulunan wp-cron.php dosyasında saklıdır. Bu dosya, WordPress kurulumunuzun olduğu dizinde wp-config.php ve wp-settings.php gibi dosyalarla aynı hizada yer alır.

Dosyaya FTP (FileZilla vb.) veya cPanel/Plesk dosya yöneticisi aracılığıyla ulaşabilirsiniz. Ancak bu dosyayı doğrudan düzenlemek genellikle önerilmez. WP-Cron ile ilgili yapılacak en yaygın işlem, bu dosyanın otomatik tetiklenmesini durdurmak ve sunucu üzerinden kontrol etmektir. SEO çalışmalarında site hızını (LCP ve TTFB değerlerini) optimize etmek isteyen uzmanlar, bu dosyanın her sayfa yüklemesinde sunucuyu meşgul etmesini engellemek için yapılandırma dosyalarında değişiklik yaparlar.

WP-Cron Nasıl Devre Dışı Bırakılır?

Özellikle yüksek trafikli sitelerde, WP-Cron her ziyaretçi geldiğinde sunucuda ayrı bir işlem (process) açmaya çalışır. Bu durum, sunucu kaynaklarının (CPU ve RAM) hızla tükenmesine ve sitenin yavaşlamasına neden olur. Çözüm, WordPress'in bu sahte cron sistemini durdurup yerine gerçek bir sistem cronu kurmaktır.

WP-Cron'u devre dışı bırakmak için şu adımları izleyin:

  1. Sitenizin ana dizinindeki wp-config.php dosyasını açın.

  2. /* That's all, stop editing! Happy publishing. */ satırından hemen önce şu kodu ekleyin:

    define('DISABLE_WP_CRON', true);

  3. Dosyayı kaydedip sunucuya geri yükleyin.

Bu işlemden sonra WordPress, her sayfa yüklemesinde wp-cron.php dosyasını tetiklemeyi bırakacaktır. Dikkat: Bu işlemi yaptıktan sonra görevlerin (yazı zamanlama vb.) çalışmaya devam etmesi için sunucu panelinizden (cPanel/Plesk) bir "Cron Job" (Zamanlanmış Görev) oluşturmanız şarttır.

WP-Cron Nasıl Görüntülenir?

Sitenizde arka planda hangi görevlerin sıraya alındığını, hangi işlemin ne zaman çalışacağını görmek teknik denetim (audit) için kritiktir. WordPress varsayılan olarak bu listeyi panelde göstermez.

WP-Cron görevlerini görüntülemenin en etkili yolları:

  • WP Control Eklentisi: SEO uzmanlarının en çok tercih ettiği yöntemdir. Bu ücretsiz eklentiyi kurduğunuzda, "Araçlar > Cron Jobs" sekmesi altında sitenizdeki tüm zamanlanmış görevleri, çalışma aralıklarını ve bekleyen işlemleri görebilirsiniz. Hatta hatalı çalışan görevleri silebilir veya anlık olarak çalıştırabilirsiniz.

  • WP-CLI Komutları: Eğer terminal erişiminiz varsa, wp cron event list komutunu kullanarak tüm listeyi komut satırı üzerinden hızlıca dökebilirsiniz.

  • Veritabanı Üzerinden: Teknik olarak bu veriler wp_options tablosunda cron opsiyon adı altında tutulur. Ancak buradaki veri "serialized" formatta olduğu için okunması zordur.

Sistemdeki tıkanıklıkları tespit etmek için bu araçları kullanmak, gereksiz çalışan eklenti görevlerini ayıklamanıza ve sunucu performansını geri kazanmanıza olanak tanır.

WP-Cron ile İlgili Sıkça Sorulan Sorular (SSS)

WP-Cron'u devre dışı bırakmak siteme zarar verir mi?

Hayır, doğrudan zarar vermez ancak WP-Cron'u devre dışı bıraktıktan sonra yerine gerçek bir sunucu cronu (Real Cron Job) kurmazsanız, zamanlanmış yazılarınız yayınlanmaz, yedeklemeleriniz alınmaz ve eklenti güncellemeleri denetlenmez. Bu nedenle devre dışı bırakma işlemi her zaman bir alternatif kurulumla birlikte yapılmalıdır.

Gerçek sunucu cronu (Cpanel Cron Job) neden daha iyidir?

Çünkü gerçek cron, sitenize ziyaretçi gelip gelmemesinden bağımsızdır. Örneğin her 15 dakikada bir çalışacak şekilde ayarlarsanız, sunucu o saatte sitenize kimse girmese bile görevleri yürütür. Bu, sunucu üzerindeki ani yük sıçramalarını (spike) önler ve TTFB (ilk bayt süresi) performansını iyileştirir.

Zamanlanmış yazılarım yayınlanmıyor (Missed Schedule), sebebi WP-Cron mu?

Büyük ihtimalle evet. Eğer sitenize o saat diliminde hiç ziyaretçi gelmediyse WP-Cron tetiklenmez ve yazı yayınlanma vaktini kaçırır. Ayrıca sunucu kaynakları yetersizse veya bir eklenti çakışması varsa cron işlemi yarıda kesilebilir. Sistem cronuna geçmek bu sorunu %99 oranında çözer.

Hosting firmam cron limitleri koyuyor, ne yapmalıyım?

Birçok hosting firması sunucu sağlığını korumak için cron girişlerini minimum 15 veya 30 dakikada bir olacak şekilde sınırlandırır. SEO performansı için genellikle 15 dakikada bir çalışan bir cron yeterlidir. Eğer çok kritik bir e-ticaret siteniz yoksa, 10-15 dakikalık aralıklar sunucuyu yormadan görevlerin sağlıklı yürümesini sağlar.

WP-Cron eklentileri siteyi yavaşlatır mı?

WP Control gibi görüntüleme eklentileri sadece panelde işlem yaptığınızda çalışır, dolayısıyla ön yüze (frontend) bir yük bindirmezler. Ancak sürekli arka planda işlem yapan (örneğin her dakika veritabanı optimize eden) eklentiler WP-Cron üzerinden sunucuyu yorabilir. Bu yüzden sadece ihtiyacınız olan eklentileri kullanmalısınız.

Disable WP-Cron kodu tam olarak nereye yazılmalı?

Bu kod wp-config.php dosyasının içine yazılmalıdır. Dosyanın en başına veya WP_DEBUG satırlarının hemen altına ekleyebilirsiniz. En güvenli yer, dosyanın sonundaki "stop editing" uyarısından önceki kısımdır.

Sistem cronu kurarken komut satırına ne yazmalıyım?

Genellikle cPanel'deki komut şu şekildedir:

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

Bu komut, sunucuya dışarıdan bir ziyaretçi gibi değil, içeriden bir komutla dosyayı çalıştırmasını söyler.

WP-Cron CPU kullanımını nasıl etkiler?

WordPress her sayfa yüklemesinde "çalışacak görev var mı?" diye PHP işlemi başlattığı için, anlık 100 ziyaretçi geldiğinde 100 ayrı PHP sorgusu cron kontrolü yapmaya çalışabilir. Bu, CPU kullanımında ani %100'e vurma (spike) sorunlarına yol açar. SEO uyumlu bir site için bu yükü sunucuya yaymak gerekir.

SSL sertifikası cron komutunu etkiler mi?

Evet. Eğer siteniz HTTPS kullanıyorsa, cron komutundaki URL'nin de https:// ile başladığından emin olmalısınız. Aksi takdirde yönlendirme hataları nedeniyle cron görevleri tetiklenmeyebilir.

WP-Cron eklenti güncellemelerini nasıl etkiler?

Eklentiler yeni bir sürüm olup olmadığını WP-Cron aracılığıyla kontrol eder. Eğer cron çalışmazsa, panelde "Güncelleme mevcut" uyarısını göremezsiniz. Bu da sitenizin güvenlik açıklarına karşı savunmasız kalmasına neden olabilir.

WooCommerce sitelerinde WP-Cron ayarı nasıl olmalı?

E-ticaret sitelerinde stok güncellemeleri, sipariş e-postaları ve ödeme hatırlatıcıları çok kritiktir. WooCommerce sitelerinde WP-Cron mutlaka devre dışı bırakılmalı ve sunucu üzerinden 5 veya 10 dakikada bir çalışan hassas bir sistem cronu kurulmalıdır.

"doing_wp_cron" parametresi URL'de neden görünüyor?

Eğer WP-Cron düzgün yapılandırılmadıysa veya bir eklenti tarafından hatalı çağrılıyorsa, adres çubuğunda URL'nizin sonuna bu ibare eklenebilir. Bu, SEO açısından "duplicate content" riski yaratabilir. Canonical etiketleri bunu çözse de en köklü çözüm sistem cronuna geçmektir.

Cron görevlerini temizlemek güvenli mi?

Kullanmadığınız eski eklentilerden kalan (Hook) cron görevlerini temizlemek tamamen güvenlidir ve veritabanını rahatlatır. Ancak wp_version_check veya wp_scheduled_delete gibi çekirdek görevleri silmemelisiniz.

WP-Cron dosyası 404 hatası veriyorsa ne yapmalıyım?

wp-cron.php dosyasının varlığını FTP üzerinden kontrol edin. Dosya yerindeyse, .htaccess dosyanızda bu dosyaya erişimi engelleyen bir kural olup olmadığını denetleyin. Dosya erişime kapalıysa zamanlanmış görevler çalışmaz.

Cache eklentileri WP-Cron ile çakışır mı?

Bazı önbellek eklentileri (WP Rocket vb.) kendi içlerinde cron optimizasyonu sunarlar. Genellikle çakışmazlar ancak site tamamen statik HTML olarak sunuluyorsa, WordPress PHP tetiklenemediği için WP-Cron görevlerini yerine getiremez. Bu durum sistem cronu kullanımını zorunlu kılar.

PHP sürümü cron performansını etkiler mi?

Evet, PHP 8.x sürümleri PHP 7.x'e göre çok daha hızlı işlem yapar. WP-Cron görevleri de PHP ile yürütüldüğü için güncel bir PHP sürümü kullanmak arka plan işlemlerinin daha az kaynakla daha hızlı bitmesini sağlar.

Sunucu cronu ayarında "curl" mü "wget" mi kullanmalı?

Her iki yöntem de işe yarar. wget daha yaygındır ancak bazı sunucularda curl daha stabil çalışabilir. Önemli olan komutun sonunda çıktıları çöpe atan >/dev/null 2>&1 kısmının olmasıdır.

Hangi eklenti en çok cron yükü yaratır?

Genellikle kırık link tarayıcıları (Broken Link Checker), veritabanı istatistik tutan eklentiler ve yoğun medya optimizasyon eklentileri en çok cron yükü yaratan araçlardır. SEO çalışmalarında bu eklentilerin çalışma aralıklarını geniş tutmak mantıklıdır.

Zamanlanmış görevler (Scheduled Events) neden "Due" olarak kalıyor?

Eğer bir görev "Due" (vakti gelmiş) olarak görünüyor ama çalışmıyorsa, WordPress'in bir görevi bitirmeden diğerine geçemediği bir tıkanıklık söz konusu olabilir. Bellek (Memory Limit) artırımı yapmak veya takılan görevi manuel silmek gerekebilir.

WP-Cron SEO'yu doğrudan etkiler mi?

Dolaylı yoldan etkiler. Yavaşlayan bir site, başarısız içerik zamanlamaları ve güvenlik açıkları SEO puanınızı düşürür. WP-Cron optimizasyonu, "Teknik SEO"nun bir parçasıdır.

Litespeed sunucularda WP-Cron ayarı fark eder mi?

Litespeed sunucularda LSCache eklentisi kullanıyorsanız, eklenti ayarlarında cron optimizasyonu mevcuttur. Ancak temel prensip (devre dışı bırakıp sistem cronu kurmak) tüm sunucu tiplerinde en performanslı yöntemdir.

Cron görevleri veritabanını şişirir mi?

Hayır, kendileri şişirmez ancak görevler çalışmazsa temizlenmesi gereken revizyonlar, çöpler ve geçici veriler (transients) birikerek veritabanını şişirebilir.

Statik sitelerde WP-Cron çalışır mı?

Sadece ön yüzü statik olan (headless) yapılarda cron çalışmaz. Bu tür sitelerde görevleri tetiklemek için harici bir ping servisi veya sunucu taraflı bir tetikleyici şarttır.

WP-Cron hatalarını nasıl takip edebilirim?

wp-config.php içinde WP_DEBUG_LOG özelliğini açarak wp-content/debug.log dosyasından cron hatalarını ve PHP uyarılarını takip edebilirsiniz.

Cron aralıklarını nasıl değiştirebilirim?

Varsayılan olarak WordPress saatlik, günlük gibi aralıklar sunar. WP Control eklentisi ile bu aralıkları özelleştirebilir, örneğin "her 15 dakikada bir" gibi yeni periyotlar ekleyebilirsiniz.

Multisite (Ağ) kurulumlarında WP-Cron nasıl çalışır?

Çoklu site kurulumlarında her sitenin kendi cron sırası vardır. Her site için ayrı ayrı sistem cronu kurmak gerekebilir veya tüm ağı tetikleyen global scriptler kullanılmalıdır.

Uzak bir sunucudan cron tetiklenebilir mi?

Evet, eğer hostinginiz cron izni vermiyorsa, "cron-job.org" gibi harici servisler üzerinden sitenizin wp-cron.php URL'sini belirli aralıklarla pingleyerek görevleri tetikleyebilirsiniz.

WP-Cron ve REST API ilişkisi nedir?

WordPress'in yeni sürümleri cron tetiklemeleri için bazen dahili loopback istekleri yapar. Eğer sunucunuzda loopback istekleri engelliyse WP-Cron çalışmayacaktır. "Site Sağlığı" bölümünden loopback testini kontrol edebilirsiniz.

Düşük trafikli sitelerde WP-Cron'u devre dışı bırakmalı mıyım?

Eğer sitenize günde sadece birkaç kişi giriyorsa, sistem cronu kurmak daha mantıklıdır. Çünkü günlerce kimse girmezse, cron görevleriniz günlerce bekler. Sistem cronu ile siteyi "canlı" tutarsınız.

Seojen olarak öneriniz nedir?

Siteniz ne kadar büyük olursa olsun, en sağlıklı yöntem WP-Cron'u WordPress içinde devre dışı bırakıp, sunucu (cPanel/Plesk) üzerinden 15 dakikada bir çalışan sistem cronu kurmaktır. Bu, hem hız hem de görev kararlılığı için altın standarttır.

Etiketler:#wp-cron#

Yorum Yap