The WordPress Scheduler
WordPress has an internal scheduler it uses to scheduler specific jobs, like the update checks (of themes, plugins and itself) and the publishing of planned posts. The scheduler can be used by plugins and Newsletter uses it to deliver newsletters and to consolidate collected tracking data.
The scheduler may fail to work if not triggered. This is due to the nature of PHP and every software written in PHP has the same problem.
WordPress triggers the scheduler auto-calling its page
wp-cron.php. You can check if that “auto-call” experience issue in the Newsletter status panel.
That auto trigger is affected by traffic and caches: low traffic and caches can result in missing trigger and hence an not so regular scheduler work.
The scheduler can even be disabled using the
WP_DISABLE_CRON option inside the
wp-config.php: check the Newsletter status panel for it.
How to keep the scheduler working correctly
The best solution is to have a regular external trigger set to activate the
wp-cron.php file every five minutes. Five minutes is the best compromise between an almost real time execution and a not too intensive and resource consuming frequency.
You need to find out the correct URL of your wp-cron.php file. Find it inside the Newsletter status panel, you’ll use it later.
Using the cron in cpanel
If your provider has a cpanel probably if you setup this trigger yourself. Check you cpanel and look for “cron jobs”:
Enter the cron jobs panel and create a new cron job setting the interval to 5 minutes.
Do not pay attention to all those hard to read setting, just choose the common settings “Once per five minutes” value.
Then you need to enter a command. Here it is:
curl [your wp-cron.php URL] >/dev/null 2>&1
for example on this site we have:
curl https://www.thenewsletterplugin.com/wp-cron.php >/dev/null 2>&1
That’s all, from now on the scheduler should work smoothly.
Using an external cron service
There are many cron services (free and not free) that can be used if your provider has not a cpanel and cannot setup a cron for you. A free service is cron-job.org which you can use following the instructions in this article.
Other resource could be available over time, check out our articles about WordPress scheduler.