Support

Admin Tools for WordPress

#41501 Admin tools stops working cronjobs

Posted in ‘Admin Tools for WordPress’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

WordPress version
6.7.1
PHP version
8.2.24
Admin Tools version
1.6.7

Latest post by florisjan on Monday, 20 January 2025 10:00 CST

florisjan

Please look at the bottom of this page (under Support Policy Summary) for our support policy summary, containing important information regarding our working hours and our support policy. Thank you!

 

I enabled today the plugin (Admin Tools Pro) again after some time as I expirenced some trouble with the cron-jobs a few weeks ago.

This evening I tried to send a Newsletter and found out that the cron was disabled due to some system errors.Then I realised again that this was the problem why I disabled AdminTools some time ago.

I could see in the plugin WP Control dat all jobs were blocked.

After I disabled the AdminTools the cronjobs started again.

Please let me know what could be the problem.

Met vriendelijke groet, kind regards,

Floris Langendam

nicholas
Akeeba Staff
Manager

This doesn't make much sense. Admin Tools does not block WP-CRON jobs. We know full well that WordPress itself needs these CRON jobs to function properly. It would make no reason for us to disable them.

We actually explicitly include wp-cron.php in the default list of “Files which will always be made accessible” in the .htaccess Maker configuration to ensure that WP-CRON is never blocked. Can you please check that this is the case? If not, the default list is as follows:

wp-activate.php
wp-comments-post.php
wp-cron.php
wp-links-opml.php
wp-mail.php
wp-signup.php
wp-trackback.php
xmlrpc.php
wp-includes/js/tinymce/wp-tinymce.php
wp-content/plugins/akeebabackupwp/app/index.php
wp-content/plugins/akeebabackupwp/app/restore.php
wp-content/plugins/akeebabackupwp/app/remote.php
installation/index.php
kickstart.php
wp-content/plugins/wordpress-seo/css/main-sitemap.xsl

Beyond that, there is no other feature to block WP-CRON. I have development, testing, and production WordPress sites which use WP-CRON to back themselves up (we include this feature in Akeeba Backup Professional for WordPress) and they do work.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

nicholas
Akeeba Staff
Manager

This doesn't make much sense. Admin Tools does not block WP-CRON jobs. We know full well that WordPress itself needs these CRON jobs to function properly. It would make no reason for us to disable them.

We actually explicitly include wp-cron.php in the default list of “Files which will always be made accessible” in the .htaccess Maker configuration to ensure that WP-CRON is never blocked. Can you please check that this is the case? If not, the default list is as follows:

wp-activate.php
wp-comments-post.php
wp-cron.php
wp-links-opml.php
wp-mail.php
wp-signup.php
wp-trackback.php
xmlrpc.php
wp-includes/js/tinymce/wp-tinymce.php
wp-content/plugins/akeebabackupwp/app/index.php
wp-content/plugins/akeebabackupwp/app/restore.php
wp-content/plugins/akeebabackupwp/app/remote.php
installation/index.php
kickstart.php
wp-content/plugins/wordpress-seo/css/main-sitemap.xsl

Beyond that, there is no other feature to block WP-CRON. I have development, testing, and production WordPress sites which use WP-CRON to back themselves up (we include this feature in Akeeba Backup Professional for WordPress) and they do work.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

florisjan

Hi Nicholas,

Tanks for your reply and the .htaccess suggestion.

So there must be another problem.

I enabled AdmijnTools and activated the 'htaccess file on the server and at the same time I got a message in the backend of my website.

The cron stopped and this is the text:

Unexpected HTTP response code: 403

This means an access control restriction such as BasicAuth, a firewall, a security or privacy plugin, some form of password protection, or an .htaccess rule is preventing your server from accessing wp-cron.php.

======

I use the plugins Really Simple Security and your AdminTools

I have disabled all plugins and one by one; then enabled again and when I enabled AdminTools the Cron stopped.

After disabling the AdminTools, the Crons worked again

Met vriendelijke groet, kind regards,

Floris Langendam

nicholas
Akeeba Staff
Manager

Please verify that Admin Tools, .htaccess Maker, “Files which will always be made accessible” contains all of the lines I gave you in my previous reply. If not, please add the missing lines. Please do explicitly state whether you have checked that, and whether you made any changes. I need to know this information to further help you.

Let me explain this a bit better. The most likely cause of the problem is that wp-cron.php was missing from “Files which will always be made accessible”. Adding it and regenerating the .htaccess would solve that problem. It's easy to check, and will save us hours of troubleshooting.

If that's not the case, I will need to see the request being sent, including its URL parameters. That would allow me to check whether the root cause is a different kind of protection.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

florisjan

The steps I made:

  1. removed the .htaccess file from the server
  2. enabled the Admintools plugin on the backend
  3. generated the .htaccess file 
  4. uploaded this file to the server
  5. checked the .htaccess file and all lines are in this file
    1. # +++ExceptionFiles+++
      RewriteRule ^wp\-activate\.php$ - [L]
      RewriteRule ^wp\-comments\-post\.php$ - [L]
      RewriteRule ^wp\-cron\.php$ - [L]
      RewriteRule ^wp\-links\-opml\.php$ - [L]
      RewriteRule ^wp\-mail\.php$ - [L]
      RewriteRule ^wp\-signup\.php$ - [L]
      RewriteRule ^wp\-trackback\.php$ - [L]
      RewriteRule ^xmlrpc\.php$ - [L]
      RewriteRule ^wp\-includes\/js\/tinymce\/wp\-tinymce\.php$ - [L]
      RewriteRule ^wp\-content\/plugins\/akeebabackupwp\/app\/index\.php$ - [L]
      RewriteRule ^wp\-content\/plugins\/akeebabackupwp\/app\/restore\.php$ - [L]
      RewriteRule ^wp\-content\/plugins\/akeebabackupwp\/app\/remote\.php$ - [L]
      RewriteRule ^installation\/index\.php$ - [L]
      RewriteRule ^kickstart\.php$ - [L]
      RewriteRule ^wp\-content\/plugins\/wordpress\-seo\/css\/main\-sitemap\.xsl$ - [L]
      # ---ExceptionFiles---
  6. After again logged in I got the message "Unexpected HTTP response code: 403"
  7. I disabled AdminTools as the cron stopped again.

I have attached a screenshot from the cronpage.

Met vriendelijke groet, kind regards,

Floris Langendam

nicholas
Akeeba Staff
Manager

This still does not tell me what is the exact request that's being blocked.

I can try a guess. Go to Admin Tools, .htaccess Maker, and set “Block access from specific user agents” to No. Click on “Save and create .htaccess”.

If you can actually find the server access log line with the blocked request to wp-cron.php (you might have to ask your host to help if you're not familiar with how to do this) I can certainly help much better than right now.

To be fairly honest, I am currently stabbing in the dark, trying to imagine what would be the difference between your configuration and mine, as I am using the exact same plugin as you do on my own sites. Note that it's WP Crontrol, not “WP Control”; the plugin name is an awkward portmanteau of “CRON” and “control”. On my sites I have “Block access from specific user agents” disabled. This might be relevant if you or your host have set up CRON jobs which use WGet to trigger the /wp-cron.php URL on your site every minute to let WordPress process CRON jobs even when there is no inbound traffic. The default list of “User agents to block, one per line” does indeed contain Wget which would block that request. That's why I am asking you to disable “Block access from specific user agents”. If that solves the issue, then that was the problem.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

florisjan

"Block access from specific user agents” was already set to No.

On the server I didn't find any ERRORS on plugins that might declare the problem.

I cannot declare the problem either.

On the server are no cronjobs installed.

As the cron-hooks stopped after enabling AdminTools I disabled the plugin again and the cron-hooks started again at the same moment.

Met vriendelijke groet, kind regards,

Floris Langendam