Top Ten Mistakes for Joomla Upgrades
We have easily done over 50 Joomla upgrades over the last year. Over that time, we have developed a pretty good checklist of common problems and how to migrate most 3rd party extensions. However, those lessons were learned after knocking our heads against the wall plenty.
In an effort to save you some of that headache, here are the Top Ten Mistakes for Joomla Upgrades we have compiled. Feel free to leave comments with specific questions, as we tried to pick items that would apply to everyone.
These items are in order of the upgrade process, not necessarily importance:
10. Using Out of Date Extensions
The absolute quickest way to break a site is to have an out of date extension on it that is not compatible with the version of Joomla you are using. If you are upgrading from Joomla 1.5, you should be building on a fresh install and importing in the database data with SP Upgrade (preferred) or JUpgrade. If you are going from Joomla 1.6, 1.7, or 2.5 up to Joomla 3.x, then you will need to physically uninstall any extensions that are not Joomla 3.x compatible.
If you currently use an extension that does NOT have a newer version, you need to make a choice: 1) Switch over to a competitor's extension or 2) Delay upgrading. I do not recommend #2 unless the developer specifically has stated it is in progress and either has a release date or milestone (like release of Joomla 3.5).
If any of your 3rd party extensions are commerical (ie it ain't free), then you need to budget to get a new subscription for it and download the newest version. If you have many commercial extensions, it may be cheaper to hire someone to do your upgrade for you since most full-time web designers will have developer licenses to the most popular Joomla extensions.
9. Not checking system requirements ahead of time
Joomla 3.x has higher technical requirements than previous versions. You can see those on the official Joomla page. Even though it lists PHP 5.2.4 and up, the FAR MAJORITY of 3rd party extensions are going to require PHP 5.3+, so you might as well start there. You also need to make sure that Magic Quotes is disabled.
8. Not Running a FULL Backup before Starting
Akeeba Backup is the best thing since sliced bread. There is absolutely no excuse for not having it on a Joomla site. The free version will make you a nice backup that includes BOTH your files and database. The Pro version lets you setup automated backups, upload to Dropbox and more.
I also recommend running a plain Jane SQL backup as well because it can be helpful when working with migrating other extension data.
TUTORIAL: How to Run an Akeeba Backup
TUTORIAL: How to Run a SQL Backup
7. Not getting new version of template
You have make EVERYTHING else migrate perfectly, but if your template isn't available, then you are probably not going to go live. Templates take a decent amount of tweaking to go from Joomla 1.5 up to 2.5, and some more from 2.5 to 3.2.
Many times someone will have a commercial template on a site and not have a current subscription for it. Know that you will need to ante up and get a new license before upgrading. This is similar to what I said about budgeting for extension subscriptions.
If there is NOT a new version of your template out, you are probably better off selecting a new one that matches your design rather than paying to get your current one converted. Most new templates are "responsive" (which means that auto-resize on different size devices) and have lots of other new features like being built on a framework that allows you to make changes (Gantry, Warp, T3, Wright, etc).
TUTORIAL: How to Find Which Joomla Template You are Using
6. Not having a plan about the upgrade process and launch timeframe
If this is the first upgrade you have done, know that it may take longer than expected; especially if you are migrating over 3rd party extensions.
Make sure you communicate that well with others that work on the site and have a set time frame in which no content is added/edited on the current site. Otherwise, you will have additional work at the end trying to figure out what has/has not been moved over.
Also, find out if there is someone that wants to "give their approval" before launching the site and see how long they will need to review the site. Even if your template has a newer version available, there can be differences that are noticeable. Once example is that most older templates are more narrow while newer ones tend to be about 1200 pixels wide. Some "bosses" may not like this, or you may find that your previous "full width" slideshow only stretches about 65% of the way now. Give yourself time to work through these issues.
5. Not Running Website Backups Regularly Through the Upgrade Process
It's great that you have a backup of your current website, but you also want to take regular backups as you get more of the upgrade done on the new website. Once you get all the Core Joomla data migrated (users, content, menus, etc), make sure you run another backup. Anytime you accomplish another chunk of the upgrade, run ANOTHER backup (such as setting up new template, installing new extensions, migrating data for other extensions, etc). Many times I have gotten all the basics done, then go to migrate over a 3rd party extension and gotten completely stuck. This way you can roll it back and not have to start over again which will save some of that headache we mentioned at the beginning.
4. Not matching Search Engine Friendly settings and checking Redirects
While it is a very good thing to get your website running on the newest version of Joomla, you do not want to do it at the expense of tanking your current Google rank. Make sure you setup your Search Engine Friendly links the exact same way as previous site or you will have a TON of broken links. You will want to check those settings in the Global Configuration of your site and check to see if you are using a 3rd party SEF extension like sh404sef, JoomSEF, MijoSEF, etc. If so, you will want to take the time to make sure that is setup exactly the same, including installing any additional plugins.
Since most upgrades from Joomla 1.5 to 2.5 involve a fresh installation, you will want to find the .htaccess file for the current site and see if it has any redirects in it. If so, you want to include those in the .htaccess for the new site as well.
3. Bringing malicious code over in migration
Like most things software related, you get out what you put in, i.e. GARBAGE IN, GARBAGE OUT. If you existing website had malware files or injections into the database content, you very well may be bringing those over to the new version with you.
For both the old site and the new one when you are done, check the site for malware using Sucuri and Google Webmaster. Sucuri is the better tool and will detect things way before Google Webmaster.
We also use the RSFirewall tool on all our sites to detect any malware present as well as any Joomla core files that are missing or modified.
You can also use phpMyAdmin and search the introtext/fulltext fields for the string "<script" as another way of detecting injections that are not visible to the eye on the front end. If you have other content extensions like K2, Zoo, etc, you will want to search those tables as well.
TUTORIAL: How to Do a Malware Scan with Sucuri
TUTORIAL: How to Run a System Scan with RSFirewall
2. Having Broken Permission Levels and ACL Problems
Often during an upgrade, there will be broken assets and permissions. This is mostly because Joomla completely changed how they did the "Access Control List" or ACL in Joomla 2.5.
My recommendation is to get the ACL Manager plugin for $25 and just call it a day. Like Akeeba Backup Pro, we install this on ALL sites we make, upgrade, or maintain. It gives an easy grid to adjust permissions, but most importantly has a diagnostic feature that will automatically fix orphan records, add missing ones, etc.
Another problem that we have seen in K2, DOCman, and some other extensions is completely missing permissions. If your content is not showing on the frontend, make sure that the content on the backup for that extension still lists the normal "Public" or "Registered" next to it. If there is just a blank there, you might have to use phpMyAdmin to default those to the right permission.
1. Not Removing the Old Site
The main reason people upgrade their sites is because having the older version of Joomla can make you vulnerable. If you leave the old copy on your server, then you haven't removed the threat. Someone can hack in through the old version and gain access to your database and FTP files, which means they can completely ruin your day. For all the hacked websites I have seen over the years, the hacker doesn't usually login to your Joomla site, they mess directly with the database and files, so don't leave them the foothold by leaving the old site up.
You should have the full website backup of the old site you made at the beginning of this process. Save that on your computer and/or somewhere remote like Dropbox. Then delete all the old files and database from your hosting.
What did we forget?
Leave us comments to let us know what else you think should have made the list.
You can also learn more about our Joomla Upgrade Services.