Troubleshooting Action Scheduler issues with AIOSEO

Are you running into fatal errors on your website after upgrading to All in One SEO version 4.0.0 or higher? Since 4.0.0, All in One SEO relies on an external code library called Action Scheduler to manage its CRON jobs. Action Scheduler is a versatile framework that allows our plugin to efficiently schedule and execute certain actions at any given point in time. And we are not the only ones using it – many other popular WordPress plugins like WooCommerce and WPForms also rely on it.

However, a small number of websites may experience issues when activating All in One SEO for the first time. Typically, you’ll either see a generic message saying “There has been a critical error on your website.” or something that mentions a fatal error because the wp_actionscheduler_actions table doesn’t exist. This can be caused by a variety of reasons, but the most common one is that one of your other plugins is using an older version of Action Scheduler.

Using the steps below, you should be able to resolve this issue in most cases and get our plugin up and running again.

1. Deactivate All in One SEO

If you haven’t done so already, then you’ll need to deactivate All in One SEO. As your website is running into a fatal error, you’ll have to do this through your hosting provider’s cPanel file browser or FTP instead of doing it “the easy way” via the Plugins menu.

Once you’ve accessed your site files, navigate to /wp-content/plugins/. In this folder you should see a folder called all-in-one-seo-pack-pro (or all-in-one-seo-pack if you’re using our Lite version). You’ll need to rename this folder by right-clicking and selecting the “Rename” option in the context menu. By changing the name (to whatever you like), WordPress will automatically deactivate the plugin for you.

2. Check database user permissions

While you’re still in the file browser, go back to the root directory of your website. You should see a file here called wp-config.php. Open it and look for a line where it says define( 'DB_USER', '<database-user-name>' );. It should be right at the top of the file. Once you’ve found it, take note of the name of your database user.

Now you want to make sure that your database user has the right to create new tables. If you’re tech-savvy enough, you should be able to navigate your way through your hosting provider’s configuration panel and check this. If you however don’t have any clue of what all of this means, then you should pass this information onto your hosting provider’s tech support and ask them to verify this for you.

3. Install the Action Scheduler plugin

Once All in One SEO is disabled, we’ll go back to your WordPress site which should now be up and running again. The next step is to install the Action Scheduler plugin. This should help us resolve any Action Scheduler related issues you’re website is running into.

To download the latest version of Action Scheduler, click this link. Here you will be able to download the latest version of the plugin. Once you click the link named Source code (zip), the file should automatically be downloaded to your downloads folder.

Once you’ve downloaded the .zip file, head over to your WordPress site and install it through the Plugins menu like you would do for any other plugin. If you’re not sure how to install plugins manually on your website, then we highly recommend you to check out WPBeginner’s guide to installing plugins.

If you run into the same fatal error immediately after activating the Action Scheduler, you are probably experiencing an environment issue. In this case, please contact your hosting provider’s tech support and ask them to manually set the character set of the Action Scheduler tables in the database to “utf8mb4_unicode_520_ci”.

4. Create the Action Scheduler tables

Now that you’ve installed and activated the Action Scheduler plugin, click the new link Scheduled Actions that appeared under the Tools menu.

On this page, you might see a few notices at the top: “Action Scheduler migration in progress. The list of scheduled actions may be incomplete.” and “It appears one or more database tables were missing. Attempting to re-create the missing table(s).”

You must wait a few seconds until Action Scheduler has completed its migration and created the database tables it needs. Once both notices have disappeared, you should be able to reactivate All in One SEO.

5. Reactivate All in One SEO

Before we reactivate All in One SEO, let’s change the plugin folder’s name back to what it was originally. As mentioned before, this should either be all-in-one-seo-pack-pro or all-in-one-seo-pack depending on which version you’re using.

Once that’s done, you can finally head back to the Plugins menu on your website and reactivate All in One SEO. Once you’ve confirmed All in One SEO no longer breaks your site, you can safely deactivate and delete the Action Scheduler plugin that we installed earlier.

Are you still running into any issues after completing all of the above steps? Then please contact our support team if you have a paid license, or create a new thread in our WordPress.org support forum.