TL;DR: Let’s say you build a web site on WordPress. It works fine. Then, you start doing some updates, you add some plugins. After a while, you discover that the beautiful WordPress installation you once had, now has some real issues. How to solve them?
The most important thing is to minimize the list of things which can give big errors:
- WordPress itself. Perhaps, in an ideal world, WordPress would be secure enough that you would not need any updates. In the real world, though, you will certainly need updates for security. This will likely lead to hosting problems.
- eCommerce platform. If you have a web site which will not will benefit from having WordPress eCommerce on it, by all means, use it. Just make sure you use one of the popular eCommerce platforms. I don’t want to scare you, but there is a chance that after a while the product will either be not updated, or, since you may buy, perhaps, version 1.0, at version 2.0 (major update), lots of things change and it will be a costly development. Look for a eCommerce platform that has some years behind it and is popular, if you want not to have any hassles with constantly updating your web site, based on platform updates.
- WordPress theme. Again, two main criteria – popular OR reliable theme creator and frequent updates. If the theme is popular, the theme providers will make money from it, so they will keep working on it. If the creator of the theme is a major company in theme development for WordPress, they will, again, care for the theme. About the frequent updates – make sure that the theme has had recent updates, as opposed to no update in the past year or so. Once you have the theme online, and you make lots of adjustments, and tweak this and that, it will be harder to make changes.
- Plugins. This is the trickiest part. There are some considerations about them:
- Number of plugins – try to limit as much as possible. Even for small plugins, which only do a small number of requests, you still go into the possibility of something going wrong at the next update.
- Very important – Try not to be dependent of any single big plugin. For example, on my WordPress blog I am highly dependent of a single plugin – Alpine Tile – which takes photos from Picasa and puts them to the blog. Anyhow, there are solutions to making the plugin work, even if it will not be updated in the future. But, as a general rule, avoid being dependent of a single, big plugins. So – if you want caching, there are multiple solutions (I like this one). If you want to fight comments spam, you have plenty of options. Even if one of these plugins doesn’t work, I can change it quickly with another one.
OK, let’s say at some point you do a WordPress update and the site doesn’t load anymore. What to do now?
- First of all, rest assured – you can safely downgrade your WordPress installations anytime ». If something fails, you can always download an older version.
- Using FTP, navigate to public_html/wp-content/ folder.
- Rename the Plugins folder to _Plugins or something like that. By renaming the folder, none of the plugins will run anymore, so you will have identified the source of problems. Check if the site loads. If it does, you just need to rename it again to “Plugins” and then enter the folder and rename each plugin until you identify which plugin causes the error. Once you found it, go to http://(yoursite.com)/wp-admin/plugins.php, which will cause the plugin to deactivate. Rename the plugin to its original name, but since the plugin was deactivated from WP-Admin, it will now be disabled. Refresh the plugins page and now only try to update the plugin if there is a plugin available. If not, try to find an alternative plugin. If you can’t, try to fix the error, or just wait until a new version of the plugin appears.
- Similarly, rename the Themes folder and identify if it’s a problem with the theme.
- Try to reinstall your WordPress installation, by going to WordPress.org and downloading the latest version and updating it on the web site.
- Check http://sitename.com/wp-admin/options.php
- Finally, rename your .htaccess file in the root folder, to see if this might cause the problem.