WordPress scheduling woes and an unlikely fix

Over the past week, I’ve noticed a problem with one of the WordPress sites I maintain.

Perhaps you’ve seen it: articles set to go live somehow miss the schedule.

You swear they should go live, and yet “Missed schedule” still manages to pop up in red screwing up your plans for a planned post.

When it started happening to me, I frantically checked the server time and found nothing wrong. I checked to see if there were any new plugins and nothing had been changed. And then, at last, I Googled, and the results I got were so different from what actually resolved my woes.

If you’re getting this problem, a search on Google will tell you to:

Solution 1: Add a line of text to your wp-config.php file

If you Google “wordpress schedule fix” enough times, you’ll eventually find your way to this:

http://wordpress.org/support/topic/scheduled-posts-still-not-working-in-282?replies=13#post-1175405

That’s pretty much the first thing you’ll want to try. It’s a simple fix in theory, with the addition of one line to the config file.

It didn’t work for me, however, so I looked for another solution.

Solution 2: Modify the cron.php file in wp-includes

This fix is a little more annoying. It’s not recommended that you go in and start changing files that are central to the operating of WordPress, especially since an update will wipe out any changes you’ve made and force you to do them again. That said, if the first solution doesn’t work, you’ll eventually find this one, which can be found below:

http://pauloflaherty.com/2011/05/23/fix-for-wordpress-missing-scheduled-posts/

Once again, this didn’t work for me. So I made a few more searches and found something else.

Solution 3: Install a WordPress scheduling fix plugin

Apparently, this whole WordPress scheduling thing is more common than you think. For the most part, it generally appears randomly and most people diagnosing it tend to believe it has a lot to do with out-of-date plugins, broken themes, and server settings.

Because those reasons will almost certainly never be the same, it doesn’t happen to everyone and is hard to diagnose.

So there are a couple of plugins available on the WordPress plugins site that deal with this. I never tried any of them, mostly because I didn’t want to confuse the issue and throw more plugins than were required.

You’re certainly welcome to try, however, as the plugins are available from the following links:

http://wordpress.org/extend/plugins/wp-missed-schedule/

http://wordpress.org/extend/plugins/missed-schedule-wordpress-plugin-fix/

Sadly, none of these three solutions actually worked for me.

That’s not to say that these solutions don’t work at all, as the resources I pulled them from indicate the contrary. However for my site, they didn’t make a dent.

So what did?

The solution

Originally, I had planned to take a backup of the site, shift that over to a test site, and then see if I could replicate the problem. And then just I was beginning to download the files, I took a gander through my error log to find out what was going on.

Some of the lines seemed to indicate exactly what was happening, and that was a crash was occurring in one of the tables and a part of the database needed to be repaired.

A repair job? That sounds like a job for phpMyAdmin!

For what it’s worth, I wasn’t quite sure where to start, as overhead was new to me. However, a quick Google search came up with this:

http://paulstamatiou.com/how-to-quickie-repair-mysql-tables-in-phpmyadmin

If you go into the database you’re using for WordPress, you should be able to see the overhead. Simply put, if you clear the overhead from those tables, your WordPress installation starts to work again, or it did in my case.