WordPress, belirli bir zamanda gönderi yayınlama, tetiklenen e-postalar gönderme veya otomatik yedeklemeler çalıştırma gibi zamanlanmış görevleri yönetmekten sorumlu olan WP-Cron adlı yerleşik bir zamanlama sistemini içerir.
WP-Cron kullanışlı olsa ve birçok web sitesi için iyi çalışsa da, sınırlamaları vardır. Yaygın bir sorun, özellikle düşük trafikli sitelerde zamanlanmış görevleri bazen kaçırmasıdır.
Daha güvenilir bir alternatif, web barındırma sağlayıcınızın sunucusu tarafından yönetilen düzgün cron işlemlerini ayarlamaktır. Bu cron işlemleri site ziyaretlerinden bağımsızdır ve hassas bir programda çalışarak görevlerin tutarlı ve zamanında yürütülmesini sağlar.
WPBeginner'da, tüm zamanlanmış görevlerimizin zamanında yürütülmesini sağlamak için doğrudan sunucumuzda doğru cron işlerine güveniyoruz ve bu yaklaşım bizim için tutarlı bir şekilde mükemmel sonuçlar verdi. Bu, düşük trafik veya yüksek sunucu etkinliği dönemlerinde bile gecikmeler veya kaçırılan görevler hakkında endişelenmemiz gerekmediği anlamına gelir.
Bu makalede, WordPress'te wp-cron'u nasıl kolayca devre dışı bırakacağınızı göstereceğiz ve doğru cron işleri ayarlamanın iki yolunu ele alacağız.

Neden wp-cron'u Devre Dışı Bırakmalı?
WordPress web sitenizde wp-cron adlı yerleşik bir zamanlama sistemi bulunur. Güncellemeleri kontrol etme, zamanlanmış gönderileri yayınlama, otomatik olarak düzenli yedeklemeler oluşturma, tetiklenen e-postalar gönderme ve daha fazlası gibi zamana duyarlı görevleri yerine getirir.
WordPress cron işlerini nasıl görüntüleyeceğiniz ve kontrol edeceğiniz hakkındaki kılavuzumuzda daha fazla bilgi edinebilirsiniz.

Sorun şu ki, WordPress yalnızca biri web sitenizi ziyaret ettiğinde zamanlanmış görevleri kontrol etmek için uyarılır. Bu çoğu site için yeterince iyi çalışır, ancak bazen daha küçük siteler için sorunlara neden olabilir.
Örneğin, siteniz düşük trafiğe sahipse, zamanlanmış gönderileriniz zamanında yayınlanmayabilir. Web siteniz çok fazla trafik alıyorsa, wp-cron sık sık kontrol edilecektir, bu da web sitenizin performansını etkileyebilir.
Şimdi, yalnızca eksik zamanlanmış gönderi hatasını düzeltmek istiyorsanız, ücretsiz eklenti Missed Scheduled Publisher'ı kullanabilirsiniz. Ancak tüm zamanlanmış eylem sorunlarını çözmek istiyorsanız, gerçek bir cron işine ihtiyacınız var.
Gerçek bir cron işi, WordPress tarafından değil, web barındırma sunucunuzun işletim sistemi tarafından çalıştırılır. Zamanlanmış görevleri daha güvenilir bir şekilde kontrol etmek için ayarlayabilirsiniz. Varsayılan olarak, WordPress sunucu düzeyinde bunu ayarlama erişimine sahip değildir, ancak öğreticimizi izleyerek bunu kolayca yapabilirsiniz.
Bunu söyledikten sonra, wp-cron'u nasıl kolayca devre dışı bırakacağımıza ve düzgün bir cron işi kuracağımıza bir göz atalım. Bu eğitimde şunları ele alacağız:
- WordPress'te wp-cron'u Devre Dışı Bırakma
- Yöntem 1: WordPress Hosting'inizde Düzgün Bir Cron İşlemi Ayarlama
- Yöntem 2: Düzgün Bir Cron İşi Kurma Üçüncü Taraf Bir Hizmet Kullanarak
- Bonus: WordPress Blog Gönderilerinizi Otomatik Olarak Zamanlayın
WordPress'te wp-cron'u Devre Dışı Bırakma
wp-cron'u devre dışı bırakmak için, temel bir WordPress yapılandırma dosyası olan wp-config.php dosyasını düzenlemeniz gerekir. WordPress sitenizin kök klasöründe bulunur ve bir FTP istemcisi veya web barındırma kontrol panelinizdeki dosya yöneticisini kullanmanız gerekecektir.
Bu dosya birçok hassas bilgi içerir ve yanlış değişiklikler yapmak WordPress sitenizi bozabilir. Her ihtimale karşı, önce dosyanın yedeğini almanızı öneririz. WordPress'te wp-config.php dosyasının nasıl düzenleneceğine dair rehberimizi takip ederek bunu nasıl yapacağınızı öğrenebilirsiniz.
'That’s all, stop editing! Happy blogging’ satırından hemen önce aşağıdaki kodu wp-config.php dosyasına yapıştırmanız gerekecek:
define('DISABLE_WP_CRON', true);
Görünmesi gereken budur.

Bundan sonra, dosyayı kaydedin ve web sitenize geri yükleyin.
WordPress artık biri web sitenizi ziyaret ettiğinde wp-cron'u tetiklemeyecektir.
Yöntem 1: WordPress Hosting'inizde Düzgün Bir Cron İşlemi Ayarlama
Şimdi, zamanlanmış görevlerinizi çalıştırmak için uygun bir cron işi kurmanız gerekecek. Bunu yapma şekliniz, WordPress barındırma sağlayıcınız tarafından sağlanan araçlara bağlı olarak değişecektir.
Cron işlerini ayarlamanın en kolay yolu, birçok web barındırma planında bulunan popüler bir web sitesi kontrol paneli olan cPanel'i kullanmaktır. Bu öğreticide Bluehost cPanel'i kullanacağız.
Not: Bazı web barındırma sağlayıcıları cPanel kullanmaz ve bazıları cron işleri oluşturmanıza izin vermeyebilir. Emin değilseniz, barındırma sağlayıcınızla iletişime geçmeli veya destek belgelerine başvurmalısınız. Her zaman üçüncü taraf bir cron hizmeti kullanabilirsiniz (2. yönteme bakın).
Hosting hesabınıza giriş yaptıktan ve ‘Web Siteleri’ sayfasına gittikten sonra, üst kısımdaki ‘Gelişmiş’ sekmesine geçin.
Burada, aşağı kaydırarak 'Cron İşlemleri' bölümüne gidin ve yanındaki 'Yönet' düğmesine tıklayın. Bu bölümün konumunun barındırma sağlayıcınıza göre değişebileceğini unutmayın.

Bu sizi yeni cron işleri oluşturabileceğiniz yeni bir sayfaya götürecektir.
Linux komutları hakkında iyi bir bilgiye ihtiyacınız olacağına dair göreceğiniz uyarı hakkında endişelenmeyin. Yalnızca bir komut gereklidir ve aşağıda tam olarak ne olduğunu göstereceğiz.
İsterseniz, cron işi bildirimlerinin gönderileceği e-posta adresini değiştirebilirsiniz. Varsayılan adres, web barındırma hizmetinize kaydolurken kullandığınız adrestir ve çoğu web sitesinde bu şekilde sorunsuz çalışacaktır.

Şimdi, ‘Yeni Cron İşlemi Ekle’ bölümüne aşağı kaydırın ve bir cron işlemi ayarlayın.
Öncelikle, cron işinin ne sıklıkla çalıştırılacağına karar vermeniz gerekir. Bu istediğiniz herhangi bir şey olabilir, ancak 30 dakikalık aralıkları öneririz.
‘Ortak Ayarlar’ düğmesine tıklamanız ve açılır menüden bir zaman aralığı seçmeniz gerekecektir. Emin değilseniz, çoğu site için ‘Saatte İki Kez’ iyi bir seçimdir.

Şimdi, WordPress'in zamanlanmış görevlerini çalıştırmasını isteyecek komutu girebilirsiniz. ‘Command’ alanına aşağıdaki kodu yapıştırmanız gerekir:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
‘example.com’ yerine kendi web sitenizin URL'sini yazdığınızdan emin olun.
Bunu yaptıktan sonra, 'Yeni Cron İşi Ekle' düğmesine tıklayın ve yeni cron işinin aşağıdaki listeye eklendiğini göreceksiniz.

WordPress artık web sitenizi biri ziyaret ettiğinde değil, her 30 dakikada bir zamanlanmış görevleri kontrol edecek ve çalıştıracaktır.
Yöntem 2: Düzgün Bir Cron İşi Kurma Üçüncü Taraf Bir Hizmet Kullanarak
Hosting planınız düzgün cron işlemleri sunmuyorsa veya kurulumu zorsa, bunun yerine üçüncü taraf bir cron hizmeti kullanabilirsiniz.
Bunlar, basit bir arayüz kullanarak cron işleri kurmanıza olanak tanıyan özel hizmetlerdir. İşte daha iyilerinden birkaçı:
- EasyCron'un aylık yenileme gerektiren ücretsiz bir planı var
- cron-job.org ücretsiz bir hizmettir
- Cronitor yalnızca bir cron işine ihtiyacınız varsa ücretsizdir
- SetCronJob, yıllık 10 dolardan başlayan ücretli planlar sunuyor
Bu eğitim için, kullanımı kolay olduğu ve ücretsiz plan çoğu başlangıç kullanım durumu için uygun olduğu için EasyCron kullanacağız.
Ücretsiz bir hesap oluşturduktan sonra, soldaki ‘+ Cron Job’ düğmesine tıklayarak yeni bir cron işi oluşturabilirsiniz.

Bu, 'Cron İşlemi Oluştur' ekranını açacaktır. İlk olarak, aşağıdaki URL'yi 'Çağrılacak URL' alanına yapıştırmanız gerekir:
https://example.com/wp-cron.php?doing_wp_cron
‘example.com’ yerine kendi sitenizin URL'sini yazdığınızdan emin olun.

Ardından, ‘Ne zaman çalıştırılacak’ açılır menüsünden ‘Her 30 dakikada bir’ seçeneğini seçmelisiniz. İşiniz bittiğinde, ayarlarınızı kaydetmek için ‘Cron İşi Oluştur’ düğmesine tıklamayı unutmayın.
Yeni cron işi listeye eklenecek ve web sitenizde her 30 dakikada bir wp-cron çalışacaktır.

Bonus: WordPress Blog Gönderilerinizi Otomatik Olarak Zamanlayın
Uygun cron işlerini kurduktan sonra, WordPress blogunuzdaki tüm zamanlanmış görevleriniz sorunsuz bir şekilde gerçekleştirilecektir. Blog yazılarınızı otomatik olarak zamanlayabilirsiniz bile.
Bu, önceden seçilmiş yayın tarihinizde rastgele bir makale yayınlamanıza olanak tanır. Bunu yapmak için PublishPress Planner eklentisini yükleyip etkinleştirmeniz gerekir.
Etkinleştirdikten sonra, Planlayıcı » Ayarlar sayfasını ziyaret edin ve üstten 'İçerik Takvimi' sekmesine geçin. Burada, 'Yayınlama zamanını göstermek için durumlar' seçeneğinin yanındaki 'Zamanlanmış' kutusunu işaretleyin.

Bundan sonra, gönderinizin yayınlanması için bir zaman biçimi seçmeniz ve ‘Takvimde oluşturulan öğeler için varsayılan yayın zamanı’ seçeneğinin yanındaki alana tıklamanız gerekir.
Bu, günlük olarak yayınlanacak planlanmış gönderileriniz için belirli zamanı, saati ve dakikayı seçebileceğiniz bir istem açacaktır. Fikirler için, bir blog yayınlamak için en iyi zamanın ne olduğu hakkındaki eğitimimize bakabilirsiniz.
Ardından, ayarlarınızı kaydetmek için ‘Değişiklikleri Kaydet’ düğmesine tıklayın.

Şimdi, ‘Gönderi Durumu’ açılır menüsünden ‘Zamanlanmış’ seçeneğini seçebileceğiniz blok düzenleyiciye gidebilirsiniz.
Daha fazla bilgi için, WordPress blog yazılarınızı otomatik olarak zamanlama hakkındaki eğitimimize bakın: WordPress blog yazılarınızı otomatik olarak zamanlama.

Bu öğreticinin WordPress'te wp-cron'u nasıl devre dışı bırakacağınızı ve doğru cron işlerini nasıl ayarlayacağınızı öğrenmenize yardımcı olduğunu umuyoruz. Ayrıca FTP kullanarak WordPress'te yönetici kullanıcısı ekleme ve cron işlerini görüntüleme ve kontrol etme konusundaki başlangıç kılavuzumuz hakkındaki öğreticimize de bakmak isteyebilirsiniz.
Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.


Jiří Vaněk
Belirtilen adımlar için teşekkürler. 1. yöntemi kullandım, burada CRON'u wp-config aracılığıyla devre dışı bıraktım ve kendi sunucum olduğu için sunucunun CRON'unu zamanlanmış görevler için kullanmamı engelleyen hiçbir şey yoktu. CRON için hangi URL'yi kullanmam gerektiği konusunda emin olmadığım tek şeydi. Bu yüzden, CRON'a girebileceğim belirli komut için de teşekkürler.
Phil Daley
5 dakikada bir başka bir cron işini çalıştırması gereken bir woocommerce sitem var.
1. yöntemi izlersem – wp_cron.php'yi de en az 5 dakikada bir (veya daha hızlı) çalışacak şekilde ayarlamam gerekir mi? yoksa her 30 dakikada bir hala iyi olur mu?
WPBeginner Desteği
Makalemizdeki yöntem, sitenizdeki tüm cron işlerini etkileyecektir. Belirli bir cron işinin daha sık gerçekleşmesi gerektiğinde, cron işine neyin ihtiyaç duyduğunun desteğiyle iletişime geçmenizi öneririz ve onlar kurulum konusunda size yardımcı olabilirler!
Yönetici
kzain
Bu harika bir yazı! wp-cron'u devre dışı bırakmak ve harici cron işleri kullanmak, web sitesi hızını artırmak için bir süredir düşündüğüm bir şey. wp-cron'u devre dışı bırakma ve harici işleri ayarlama konusundaki net talimatlar harika. Paylaştığınız için teşekkürler!
Paula Coombes
Hello,

I’d just like to say thank you so much for this straightforward help.
I used Method 1.
I’ve carried out your instructions after reading everything at least 3 times and, for the first time ever, my WP health state has no problems!!
Thanks again.
WPBeginner Desteği
You’re welcome, glad our guide was helpful!
Yönetici
Beth Alexander
Kontrol Panelinden çalışan yeni cron işleminin çalıştığını kontrol etmenin bir yolu var mı?
WPBeginner Desteği
Bir cron işini kontrol etmek için aşağıdaki makalemize göz atmanızı öneririz!
https://www.wpbeginner.com/plugins/how-to-view-and-control-wordpress-cron-jobs/
Yönetici
Anita Richards
Kafam karıştı.
Woocommerce, komutu “?doing_wp_cron” kısmı olmadan ayarlamanızı önerir.
Fark nedir?
WPBeginner Desteği
Aksi belirtilmedikçe, ?doing_wp_cron, yapamayacağınız bazı arka plan işlemlerine izin verir.
Yönetici
Anita Richards
Tamam, bu mantıklı. Sanırım WP ve Woo işlemlerinin çalışmasındaki fark bu olmalı?
cPanel'de biri olan ve biri olmayan iki cron işi oluşturdum. Bu sorunlara neden olur mu?
WPBeginner Desteği
Aynı sonucu elde etmek için biraz farklı bir yöntem olmalı.
Birden fazla cron işinin barındırma sitenizi nasıl etkileyeceği sitenizin boyutuna bağlı olacaktır, siteniz büyüdükçe bu bir sorun haline gelebilir