I had a weird problem where a certain post, which was viewable in the website last night, wasn't showing this morning - or only partially showing. Nothing after the breadcrumbs at the top of the page was showing. No new plugins had been installed and no other changes had been made to the site in the interim.
I checked the HTML of the post, but nothing seemed untoward - no code or anything in the visual editor. I took out all the post text and temporarily replaced it with the single word "text" and updated it, but after that, it still didn't show. I tried disabling settings of the W3TC plugin, but nothing changed.
Finally on a whim I edited the permalink slightly, and bingo - the post showed again. So I made an entirely new post with the new permalink, and trashed the old one (and emptied the trash).
But then I noticed that if I put the old permalink into the browser address bar and hit return, the old "partially showing" page came up. What was going on? Was there something wrong in the database? Maybe the old (bad) record in the database was still there?
So I set up a 301 redirect in my root .htaccess file so that requests to the old "bad" permalink were redirected to the new one.
But what had been going on? Were there other outdated revisions that could be accessed in a browser? I had no idea, since I couldn't remember if I'd renamed any other permalinks.
I installed a plugin that purges the database of old revisions - it's called "Optimize Database after Deleting Revisions", and, using it, I purged the revisions. I thought that might have got rid of the "bad" page, so I took out the 301 redirect from the root .htaccess and tried to access the old permalink again. But there it was again - "partially showing" as before. So purging the database hadn't done anything.
So I replaced the 301 redirect in the .htaccess file and that's where I am now.
I'm wondering why this happened.