Case Study: Migrating Wordpress to Joomla
In 2017 the Yarra Valley Hockey Club approached us to discuss issues with their existing 8 year old Wordpress website - it didn't look great, lots of the content was out of date and/or duplicated, things kept breaking, and key users were being email-spammed. It also didn't come up on any Google searches.
We conducted an initial assessment which identified the following:
- Wordpress website, with core, plugins and themes all out of date;
- In some cases it wasn't clear what particular plugins were actually for;
- Certain pages were generating time-out errors;
- Around 300 pages/posts;
- Over 600 users in an un-used WooCommerce store;
- Content was often outdated and frequently duplicated, sometimes several times over, so there were multiple, sometimes contradictory versions;
- Several security plugins had been installed but as nobody was monitoring them, identified issues were not resolved;
- The hosting account was hitting CPU and bandwidth limits every month.
We resolved the Google issue first. Long story short, there was no sitemap, and a corrupt image resizing plugin was doing… something it shouldn't. Additionally, there was nothing in the website which allowed the site to be indexed by Google. We installed another plugin and created a Google My Business listing and resubmitted to Google and finally, the site appeared on searches!
It wasn't immediately apparent why the CPU/bandwidth limits were being hit. After further investigation another corrupt plugin was identified, which was somehow enabling gigabytes of traffic to bombard the website, over the last several months. There did not appear to be any kind of hardware firewall running on the server, and there were no software firewalls (WAF) installed, which may have thwarted some of these attempts. The CPU/bandwidth limitations subsequently caused some of the page time-out errors, although not all.
The only apparent backup method was via cPanel backups, which didn't help as we wanted to install a backup copy of the site on a non-cPanel development server, so as long-time Joomla users we naturally started by installing Akeeba for Wordpress - and it produced a 350MB file, including a 23MB database. Yikes!
If you're familiar with Akeeba for Joomla, you may never have seen an extra page that appears in Akeeba for Wordpress - "Replace Data". Basically, hardcoded URLs are a thing in the Wordpress database, and "Replace Data" allows you to change the hardcoded URLs throughout the database, so the site will load properly on a different server. As you may imagine, an 8 year old Wordpress site has a LOT of hardcoded URLs, and this stage took ages and froze several times while we had to tweak server settings to try to get it through to the end. Finally, we succeeded.
We met with key stakeholders and, given the problems in the existing site, recommended a new Joomla website, which (a) we felt was better suited to the client requirements and (b) could then be managed by WebSolutionZ going forward. We put together a project plan designed to replace the existing site, which was finally launched last week just before Christmas (December 2018).
The new site included all content and images from the old Wordpress site, and also a new events calendar, document management system, sponsor management system, a newsletter, and a new dedicated Registration page, in new hosting. It includes Joomla ACL and a simple frontend user management menu. For now, the online store has been moved to an external provider and simply linked from the main website.
The project involved migrating content from Wordpress to Joomla - not as easy as you'd imagine, considering both are PHP based content management systems. We used J2XML and managed to import all of the pages/posts from Wordpress into a fresh Joomla installation. Next, Wordpress and Joomla handle images differently so we wrote some SQL queries where required to change the image paths. Once the data was imported, it was a matter of building up a new site structure and navigation, new template, and coordinate new content (this part took the longest!). Once the site was ready, we also needed to arrange redirects from old URLs to new.
The new site is now launched and ready for the upcoming 2019 Winter Hockey season. As an added bonus, it was accepted for entry to the Joomla Showcase Directory, which we are all rightfully proud of!