WordPress’te zamanlanmış eylemlerin çalışmaması ile ilgili sorun mu yaşıyorsunuz?
WordPress’in wp-cron adlı bir zamanlama sistemi vardır, ancak bazen zamanlanmış gönderileri yayınlamak, tetiklenen e-postaları göndermek gibi zamanlanmış bir görevi kaçırır. Sunucunuzun işletim sistemi tarafından çalıştırılan uygun cron işleri genellikle daha güvenilirdir.
Bu makalede, WordPress’te wp-cron’u nasıl kolayca devre dışı bırakacağınızı göstereceğiz ve uygun cron işlerini ayarlayabileceğiniz iki yolu ele alacağız.
Neden wp-cron’u Devre Dışı Bırakmalısınız?
WordPress web sitenizde wp-cron adı verilen yerleşik bir zamanlama sistemi vardır. Güncellemeleri kontrol etmek, zamanlanmış gönderileri yayınlamak, otomatik olarak düzenli yedeklemeler oluşturmak, tetiklenmiş e-postalar göndermek ve daha fazlası gibi zamana duyarlı görevleri yerine getirir.
WordPress cron işlerini görüntüleme ve kontrol etme hakkındaki kılavuzumuzda daha fazla bilgi edinebilirsiniz.
Sorun, WordPress’in yalnızca birisi web sitenizi ziyaret ettiğinde zamanlanmış işleri kontrol etmesinin istenmesidir. Bu, çoğu site için yeterince iyi çalışır, ancak bazen daha küçük olanlar için sorunlara neden olabilir.
Örneğin, sitenizin trafiği düşükse, zamanlanmış gönderileriniz zamanında yayınlanmayabilir. Web siteniz çok fazla trafik alıyorsa, wp-cron sık sık kontrol edilir ve bu da web sitenizin performansını etkileyebilir.
Şimdi, yalnızca eksik zamanlanmış yayınlar hatasını düzeltmek istiyorsanız, ücretsiz Missed Scheduled Publisher eklentisini 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 bunu ayarlayabilirsiniz. Varsayılan olarak, WordPress’in bunu sunucu düzeyinde ayarlama erişimi yoktur, ancak eğitimimizi izleyerek bunu kolayca yapabilirsiniz.
Bununla birlikte, wp-cron’un nasıl kolayca devre dışı bırakılacağına ve uygun bir cron işinin nasıl kurulacağına bir göz atalım. İşte bu eğitimde ele alacaklarımız:
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‘yi 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 gerekir.
Bu dosya çok sayıda hassas bilgi içerir ve yanlış değişiklikler yapmak WordPress sitenizi bozabilir. Her ihtimale karşı önce dosyanın bir yedeğini almanızı öneririz. WordPress’te wp-config.php dosyasının nasıl düzenleneceğine ilişkin kılavuzumuzu takip ederek nasıl yapılacağını öğrenebilirsiniz.
Aşağıdaki kodu wp-config.php dosyasına “Hepsi bu kadar, düzenlemeyi durdurun!” yazan satırdan hemen önce yapıştırmanız gerekir. Mutlu bloglar’:
define('DISABLE_WP_CRON', true);
İşte böyle görünmeli.
Bundan sonra dosyayı kaydedin ve web sitenize geri yükleyin.
WordPress artık birisi web sitenizi ziyaret ettiğinde wp-cron’u tetiklemeyecek.
Yöntem 1: WordPress Ana Bilgisayarınızda Uygun Bir Cron İşi Ayarlama
Şimdi, zamanlanmış görevlerinizi çalıştırmak için uygun bir cron işi ayarlamanı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, Bluehost da dahil olmak üzere birçok web barındırma planına dahil olan popüler bir web sitesi kontrol paneli olan cPanel‘i kullanmaktır. Bu eğitimde Bluehost cPanel’i kullanacağız.
Not: Bazı web barındırıcıları cPanel kullanmaz ve bazıları cron işleri oluşturmanıza bile izin vermeyebilir. Şüpheniz varsa, 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 (yöntem 2’yi kontrol edin).
Hosting hesabınıza giriş yaptıktan ve ‘Web Siteleri’ sayfasına gittikten sonra, üst kısımdan ‘Gelişmiş’ sekmesine geçin.
Burada, ‘Cron İşleri’ bölümüne ilerleyin ve yanındaki ‘Yönet’ düğmesine tıklayın. Bu bölümün konumunun barındırma sağlayıcınıza bağlı olarak 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 sahip olmanız gerektiği konusunda göreceğiniz uyarı için endişelenmeyin. Sadece bir komut gerekli ve aşağıda size tam olarak ne olduğunu göstereceğiz.
Gerekirse, cron işi bildirimlerinin gönderileceği e-posta adres ini değiştirebilirsiniz. Varsayılan adres, web barındırma hizmetinize kaydolurken kullandığınız adrestir ve bu çoğu web sitesinde iyi çalışacaktır.
Şimdi, ‘Yeni Cron İşi Ekle’ bölümüne ilerleyelim ve bir cron işi ayarlayalım.
İlk olarak, cron işinin ne sıklıkta çalıştırılacağına karar vermeniz gerekir. Bu istediğiniz herhangi bir şey olabilir, ancak biz 30 dakikalık aralıkları öneriyoruz.
‘Ortak Ayarlar’ düğmesine tıklamanız ve açılır menüden bir zaman aralığı seçmeniz gerekecektir. Emin değilseniz ‘Saatte İki Kez’ çoğu site için iyi bir seçimdir.
Şimdi, WordPress’ten zamanlanmış görevlerini çalıştırmasını isteyecek komutu girebilirsiniz. Aşağıdaki kodu ‘Komut’ alanına 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 birisi web sitenizi ziyaret ettiğinde değil, her 30 dakikada bir zamanlanmış görevleri kontrol edecek ve çalıştıracaktır.
Yöntem 2: Üçüncü Taraf Bir Hizmet Kullanarak Uygun Bir Cron İşi Oluşturma
Barındırma planınız uygun cron işleri sunmuyorsa veya bunları ayarlamak zorsa, bunun yerine üçüncü taraf bir cron hizmeti kullanabilirsiniz.
Bunlar, basit bir arayüz kullanarak cron işleri ayarlamanıza olanak tanıyan özel hizmetlerdir. İşte daha iyi olanlardan birkaçı:
- EasyCron ‘un aylık yenileme gerektiren ücretsiz bir planı vardır
- cron-job.org ücretsiz bir hizmettir
- Sadece bir cron işine ihtiyacınız varsaCronitor ücretsizdir
- SetCronJob yılda 10 dolardan başlayan ücretli planlar sunar
Bu eğitim için EasyCron ‘u kullanacağız çünkü kullanımı kolay ve ücretsiz plan çoğu yeni başlayan kullanım durumu için uygundur.
Ücretsiz bir hesap oluşturduktan sonra, soldaki ‘+ Cron Job’ düğmesine tıklayarak yeni bir cron job oluşturabilirsiniz.
Bu, ‘Cron İşi 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.
Bundan sonra, ‘Ne zaman yürütülecek’ 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 Job Oluştur’ düğmesine tıklamayı unutmayın.
Yeni cron işi listeye eklenecek ve her 30 dakikada bir web sitenizde wp-cron’u çalıştıracaktır.
Bonus: WordPress Blog Yazılarınızı Otomatik Zamanlayın
Uygun cron işlerini ayarladıktan sonra, WordPress blogundaki tüm zamanlanmış görevleriniz sorunsuz bir şekilde gerçekleştirilecektir. Blog gönderilerinizi bile otomatik olarak zamanlayabilirsiniz.
Bu, önceden seçtiğiniz yayın tarihinde rastgele yayınlamak için bir makale seçmenize olanak tanır. Bunu yapmak için PublishPress Planner eklentisini yüklemeli ve etkinleştirmelisiniz.
Etkinleştirmenin ardından Planlayıcı ” Ayarlar sayfasını ziyaret edin ve üst kısımdan ‘İçerik Takvimi’ sekmesine geçin. Burada ‘Yayınlanma zamanı görüntülenecek durumlar’ seçeneğinin yanındaki ‘Zamanlanmış’ kutucuğunu 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ınlama zamanı’ seçeneğinin yanındaki alana tıklamanız gerekir.
Bu, planlanmış gönderilerinizin günlük olarak yayınlanması için belirli bir saat, saat ve dakika seçebileceğiniz bir istem açacaktır. Fikir edinmek için blog yayınlamak için en iyi zamanın ne zaman olduğuna ilişkin 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üzenleyicisine gidebilirsiniz.
Daha fazla bilgi için WordPress blog gönderilerinizi nasıl otomatik zamanlayacağınız hakkındaki eğitimimize bakın.
Umarız bu eğitim WordPress’te wp-cron’u nasıl devre dışı bırakacağınızı ve uygun cron işlerini nasıl kuracağınızı öğrenmenize yardımcı olmuştur. Ayrıca WordPress SEO için adım adım kılavuzumuzu görmek veya yaygın WordPress hataları ve bunların nasıl düzeltileceği listemize göz atmak isteyebilirsiniz.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
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 Support
You’re welcome, glad our guide was helpful!
Yönetici
Beth Alexander
Is there a way to check that the new corn job running from Control Panel is working?
WPBeginner Support
To check a cron job, we would recommend taking a look at our article below!
https://www.wpbeginner.com/plugins/how-to-view-and-control-wordpress-cron-jobs/
Yönetici
Anita Richards
I am confused.
Woocommerce recommends setting the command as without the “?doing_wp_cron” part.
What is the difference?
WPBeginner Support
Unless we hear otherwise, the ?doing_wp_cron allows for some background processing that without would not be able to do.
Yönetici
Anita Richards
Ok, that makes some sense. I guess that it must be the difference between the WP and Woo processes being run?
I ended up creating two corn jobs in cPanel one with and one without. Is that going to cause problems?
WPBeginner Support
It should be a slightly different method to achieve the same result.
It would depend on your site’s size for how multiple cron jobs would affect your hosting site, as your site becomes larger it may become an issue