(Or, why my site
currently looks briefly looked so very plain.)
UPDATE: 12/13/2014 – The problem occurred again and the plugins and theme have been ruled out. It seems to be recurring weekly on Friday nights or early Saturday mornings. Bluehost and Vaultpress are both investigating. Will keep posting updates when I know more.
I hope that none of you have ever experienced the sheer horror of waking up to find this message on your site:
404 Error – page not found & No posts to display.
Followed by this message in your WordPress Dashboard:
0 Posts 0 Pages
Zero Posts? Zero Pages? It’s hard not to panic.
Indeed I did panic the first time this happened. Luckily, I pay for the Vaultpress service from the makers of WordPress, so I immediately restored my site from their excellent dashboard.
A week later, it happened again. This has been a recurring problem for well over a month now.
Quick facts about this site’s setup:
WordPress Version: 4.0.1 (as of this writing on 12/8/2014, it is the most recent version.)
Theme: Customized version of Newspaper theme from Theme Forest. (Theme and associated plugins are also up-to-date.)
Plugins: So many to list, but all of them are currently up-to-date.
Hosting Provider: Bluehost
I still do not have the answer to this problem.
This post is simply to catalog some of the steps I’ve taken to resolve the issue. Once I get an answer, I will update this post.
What I have learned is that none of the content is missing.
The posts and pages are still in the database, thankfully.
For whatever reason they just stop displaying on my site and in my WordPress dashboard.
This happens about once a week and no one seems to know why.
Bluehost support and WordPress/Vaultpress support both give me the same advice: it must be a theme, script, or plugin that is causing the issue.
They suggest that I should disable ALL of my plugins and change my theme, then wait to see if it happens again.
This is impractical advice as the troubleshooting process will take so very long if I have to wait each week to disable/enable yet another plugin.
I’ve come to learn that like many bloggers, I rely entirely too much on custom themes and plugins. Disabling even just a few of them completely stops various functional parts of my site.
Steps that I’ve taken:
I’ll try not drag this out by listing every little thing that has happened over the past several weeks.
In a nutshell, a table in the WordPress database for MySQL continues to get corrupted.
When I contact the support team at Bluehost, I get told to check and repair the database using the tools in the hosting dashboard. They have offered to also do this, but it is faster each time if I just go in and do it myself.
Repairing the database works each and every time.
The issue continues to happen every week or so, however, which leads to me having to check my site multiple times each day to see if it is still displaying posts.
I’ve taken steps to disable any unnecessary plugins and update the themes and any other necessary scripts.
After several weeks of being lulled into a false sense of security by repairing the table only to have it corrupt again, I finally heeded Bluehost’s advice and disabled all plugins (except for a few) and changed to a very basic WordPress theme.
I had disabled about half of my plugins last week but the problem came back, so this is the scorched earth approach.
I chose to only keep the following plugins active:
- Contact Form 7
The first three are published by Automattic, the company that builds and supports WordPress.
The only unofficial plugin I haven’t disabled is Contact Form 7 because I have so many custom contact forms it would be a lot of work to recreate them all in the official WordPress form maker. I will take that as a next step if it becomes a problem.
I am also using the Twenty Twelve (2012) theme from WordPress. It is also an official theme, so it theoretically should not have any problems.
Other Technical Info:
Here’s the corrupt table error I see when I check the database before repairing.
XXXXXXX_XXXX.wp_posts] warning: Table is marked as crashed and last repair failed
XXXXXXX_XXXX.wp_posts] status: OK
Note: database name removed for security purposes.
As mentioned earlier, this is easily repaired and looks to be fine for a while, but something causes it to corrupt again on its own.
This note from Bluehost Support was somewhat helpful, but I doubt that most bloggers (myself included) have the tools or the time to dig through the slow queries log. I did poke around in there but didn’t find anything useful to my novice eyes.
Databases breaking and requiring repairing are typically caused by bad scripts, a plugin or theme most likely.
What generally happens is a script is running a mysql query and breaks, leaving the connection open or locking up the table.
Running the repair fixes the locked up table, making it usable again.
I would recommend disabling any plugins that you may have added just before this began happening.
Additionally you can view the slow query logs in tmp/mysql_slow_queries to see what queries are running slowly.
Please let us know if you have any other questions, or need any further support.
Finally taking their advice – disabling everything and switching themes
Here are two quick before and after screenshots of what my site used to look like:
And what it looks like at the time of this writing.
I decided to go with the Twenty Twelve theme because the 2013 and 2014 themes handled featured images in a way that made me want to quit blogging altogether. The 2012 theme is close enough to being very plain and very basic.
Also, some of the custom themes from Theme Forest rely on various fancy plugins for graphical layout. Those fail when you disable plugins and you’re left with shortcodes all over the place where content should be.
There are other features lurking around my site right now that are disabled and result in these non-sensical shortcodes showing up in odd places.
It can be frustrating to deal with this stuff, even for the professionals. It has already cost many hours, and will likely cost more before it is over. In the meantime, user experience is suffering for readers of this website.
So now that I’ve disabled almost everything, I will just have to wait and see if the database table gets corrupted again.
I’ll keep you posted on next steps. Until then, sorry for any disorganization or broken parts of the site!
Has this happened to you? Leave a comment to let us know how you dealt with it!