Beau January 25th, 2007
Update – 2020: This is obviously an outdated post, but I’m leaving it here for archive purposes. This site is currently running the latest WordPress Build. With the fantastic new tools and block editors that WordPress includes in the platform, upgrading should be fairly simple for most users. Nearly all web hosts now use managed WordPress hosting options, or Fantastico / Softaculous install software for installation, and they work fine as well. Best regards with your journey!
I finished a manual upgrade from WordPress last night. Wahoo! Not too complex, but took longer than I thought. Fortunately now WordPress offers automatic upgrades within the site itself, which simplifies things immensely- for most people that is the place to start. However, this post was written orginally when it required manually updating- and it’s not too difficult honestly. However, sometimes Plugins or other files can cause a broken site or pages/categories. Consider deactivating your plugins first if you think your site is broken- you can reactivate them one at a time and see how it does.
For manual updates, your favorite FTP utility will be essential. I previously used FireFTP within Firefox (it no longer works with Firefox / Mozilla as of 2018). There are many other simple FTP programs to choose from. Now about the WordPress upgrade…. with all due respect to those of you reading, I try to remember this quote by Douglas Adams (1952-2001):
“A common mistake that people make when trying to design something completely foolproof, is to underestimate the ingenuity of complete fools.”
That seems more appropriate with the passing of time! So here’s how I completed the upgrade. If anyone has other useful information, please comment:
Remember: If you are using an older version of WordPress, you may require staged upgrading to later versions before upgrading all at once. That being said… you may need to consider a rebuild or “clean installation” of your WordPress site- there are many relevant sites out there discussing this issue- take a look at where you are before you start, and consider that option.
If you are willing however, think about your upgrade stages – and consult the WordPress Codex for the latest support and Upgrade recommendations.
- First- read, heed and become very familiar with WordPress Upgrade instructions. WordPress is the authority and reference for how to upgrade- so go there first! The following information is simply a guide for how I completed my upgrade, in case it might be helpful.
- Plan for at least a couple hours (or more) of time in case something doesn’t upload correctly or you forget where you were in the upgrade process… if you have to leave and come back eight hours later, you may not remember something, and your site could be hard down and require starting over.
- Complete all database backups as indicated, both within WordPress and phpMyAdmin. I like to save the backup files both to the web server and my local computer. WordPress has excellent database backup instructions here: WordPress Backups.
- Make a copy of the .htaccess file and the wp-config.php file in case they are accidently deleted. I also like to save a copy of my WordPress wp-content folder in case I accidently delete or overwrite those files.
- Do you have backups of all images and other customized content that you have uploaded to the webserver? Do that if you have not done previously.
- After downloading and extracting the file to my computer, I set up Windows Explorer to show the file tree of the new files and the file tree of the files on my blog (using cPanel File Manager) to see what was different. I familiarized myself with the folders and files I would be adding to the webserver. WordPress recommends deleting webserver files first to ensure a clean install/upgrade. However I chose to overwrite the files as I went along, paying attention to exactly which files would be changed. I am not familiar enough with every file used on my web server to simply delete them all. Some of those files are used by other components, functions or plugins, and I wanted to ensure I kept them there. Your choice.
- I have a duplicate functional localhost site of my blog (using Windows WAMPSERVER) which helps in two ways:
- First, it allows me to test and verify that certain components, plugins and upgrades will work on my blog.
- Second, I can then reference exactly what files are used while I upgrade via FTP to my live hosted blog. So after first completing the upgrade/install on my localhost site to verify compatibility with my theme, plugins, etc. I was confident to upgrade my live hosted site.
- I read the WordPress Upgrade instructions a couple more times… “measure twice, cut once!” Now I started the FTP program and went to work.
- In my FTP program, I expanded the file tree of the newly extracted WordPress files, and once step at a time verified exactly which files and folders would be transferred to the webserver. Ensure that you don’t simply tell FTP to transfer folders without verifying what files are in them! After you’ve done this a few times it will be easier, but you don’t want to overwrite (or delete) your wp-content folder on the webserver!
- I uploaded the main/root WordPress files to my webserver root. Follow the WordPress Upgrade instructions if your blog is not in your root directory.
- I uploaded all the wp-admin folders and files, then all the wp-includes folders and files. Some of you may have other files or customizations here, but I knew I didn’t and simply replaced them.
- Then I started on the wp-content folder files:
- In the wp-content plugins folder, I only uploaded the new Akismet and “hello” plugin files to my plugin folder. I have other plugins in the folder that I wanted to save.
- I then uploaded the new Classic and Default themes in the wp-content folder (making sure I left my own themes and files in the wp-content folder on the webserver!). If you are using the Classic and Default themes, you should know if you customized any pages or templates, and uploaded images- these “customizations” should be known by you, and the images saved as well in case you overwrite or delete them. I don’t use the Classic or Default themes, so I simply replaced those folders with the new WordPress Classic and Default folders.
- That should be it! Uploading everything took about an hour because I went slowly. Now you simply add “/wp-admin/upgrade.php” to your site URL in your browser, (e.g. https://www.yourdomain.com/wp-admin/upgrade.php or https://www.yourdomain.com/wordpress/wp-admin/upgrade.php if WordPress is not in your root directory) hit enter and follow the simple instructions. Remember to restart your plugins one by one and see how the site runs.
- Any Problems? Lets hope not- Here are more detailed WordPress Extended Upgrade Installation instructions and Troubleshooting instructions to figure out any potential problems.
- One of the problems I did have on my localhost upgrade was that after everything was up and running, I went to update my permalink customization in the WordPress admin site. Guess what? I got a 500 server error… and then couldn’t go back or restart the site at all. I was bummed but checked my log files. I found in my Apache log file a list of errors with one commonality:
- “.htaccess: RewriteRule: bad flag delimiters, referer: https://……./wp-admin/options-permalink.php”
- After a Google search, I learned there could be code errors, spaces, etc. in my .htaccess file. So not having any php coding skills, I took a clean, basic .htaccess file with only “RewriteEngine on” and replaced that with the one in my root directory that wasn’t working. And voila! Success! WordPress modified the .htaccess as it needed.
- Some of you have many different .htaccess configurations, and that is why it is recommended to back it up before starting the upgrade. My original .htaccess file had a php test configuration added to it, and that appears to have been the problem.
- I did not have any file permissions issues after the upgrade. I have seen this happen with other files I have added to my webserver, so that is one area to look at if you do have problems. You can adjust file permissions via FTP or through the cPanel File Server program as necessary.
Hope your upgrade goes smoothly… remember not to underestimate the process! Again, with all due respect to those of you who have read this far…. Douglas Adams also said:
“The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair!”
We should probably remember to think of this process as something that “might go wrong”… But hey, you’ve got to love WordPress…
Thanks to the WordPress team!