Yesterday after upgrading my blog to WordPress 4.7, I got a weird redirect loop error that prevented me from accessing my Dashboard. Normally after a successful upgrade, WordPress takes me to the admin page telling me about the new version, how great it is, etc etc. This time I got kicked to my home page instead. When I attempted to access the backend, I got the following screen:
Clicking “Continue” here, just throws me back to the home page again. Checking around, I saw that there were several solutions floating around on the net for the “database is already up-to-date” error, but none fixed it for me. So here’s a run down of what did work for my particular problem, as well as other things you can try in case the first approach doesn’t work.
Solution 1: Delete the object-cache.php File in wp-content
An “object cache” is a store of small data pieces that are requested on a regular basis by the WordPress environment. Instead of storing them in the database, or generating them from scratch each time, we have the option to write them to a file. This is located in the “wp-content” folder of your WordPress installation, and is typically called “object-cache.php”.
Some WordPress plugins like W3 Total Cache create the “object-cache.php” file by themselves. So depending on the details of your installation, you may or may not have this file in your directory. If you do, simply delete it and the relevant plugin will create it again. On my installation, I don’t have W3 Total Cache, but I use Siteground’s Supercacher, so it must have been created there.
Instead of deleting object-cache.php, simply rename it and you’re good to go. You can either use FTP, or your site hosting file manager on cPanel like this:
Once object-cache.php has been deleted, it will be regenerated by whichever plugin created it in the first place. Now reload your blog admin and you should be able to log in this time.
Solution 2: Clear caches on the Hosting Side
If deleting the object-cache.php file doesn’t work, you can try clearing the cache from your hosting site. For example, Siteground has a feature called “Supercacher” which has three components – static, dynamic, and memcache. You can access all of them from the Supercacher tool in cPanel. When you click on it, you have the option to clear the cache of all three as shown in this screenshot:
By clicking “Master Flush”, you can force Siteground to purge all its existing cache files. While this solution worked for some people, it didn’t work for me. I had to manually delete the object-cache.php file as show in solution 1.
Solution 3: Disabling all your Plugins
In case the first two solutions don’t work, you can next try disabling your plugins. Normally this would be easy since you can do it from the WordPress dashboard. But our problem is that we can’t access the backed! So what’s the solution?
The answer to rename the plugin folder of within wp-content as explained in this earlier post. This will disable all the plugins at one stroke. Or if you want, you can go into the “plugins” folder and rename the specific plugin folder you want to disable, if you know which one is the culprit. Once all your plugins are disabled, you can access your dashboard to see if it’s working again. If it is, use one of the techniques in the linked article to bring your plugins online again.
Ultimately though, the error you’re seeing is a cache issue. The problem is that there are so many layers of caching, that it’s difficult to find the right one that’s the source of the redirect loop. But between these three solutions, you should find one that works for you.