Goodbye Joomla!

It took a little work, but I’m now migrated from Joomla to WordPress.  Here’s how I migrated:

  • Used Akeeba Backup to get a full backup of my Joomla site and download it locally.
  • Created a local linux virtual machine and installed Joomla, then restored the Akeeba backup.
  • Created another local linux virtual machine and installed Joomla.
  • Using the FG Joomla to WordPress tool, I migrated the site.
  • After migrating, I was able to do cleanup and customize the new site.
  • Created a backup of the new WordPress site using UpdraftPlus, then uploaded to my GCP instance.
  • Created a new Docker WordPress container and configured Nginx for the new container to support testing.
  • Restored the WordPress backup to the new container and did final testing and cleanup of the site.  One important step was fixing URL references in the database.  I connected to MariaDB and used these queries:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');
  • To go live with the new site, it was just a matter of changing the back-ed port forwarding in Nginx.  Both the live and testing sites are forwarding to the same back-end container so all works as it should.
  • Then a final clean-up Nginx port forwarding and the database using the above SQL queries so that I can keep the testing site separate.
  • And of course, remove the Joomla container and database.