Some time ago I wrote about my attempt at migrating the first of my websites from Joomla! Version 3 to Joomla! Version 4. First attempts had not been very successful but I eventually got there. I was however. put off undertaking any further migrations on my larger sites as the process had not been easy. I therefore continued with versions 3. as far as I could. Time has now ran out with support disappearing for the 3. versions so over this Christmas, with a bit of down time, I decided to try again with three other sites, one large (in terms of content and users) at least by my standards. The other two were small with between 49 and 89 articles for example and in one case about 50 users. Here is what I have found and will take forward now to migrate all my sites:
- Remove (not just unpublish) all third party extensions - everything seemed to work much better this way. Before hand I saved or recorded any configurations and of course I made backups.
- Run the checker after having done this then if all is OK run the upgrade - I took another full backup after running the checker and immediately before upgrade to version 4.
- This seems to work well other than for templates (most of mine are custom made for Joomla! 3. So that left me with two approches and I tried both of them.
- Make cassiopeia the default template - this allows me to see if the site can run OK even if the presentation is not what I want. I then added back in my css from the Joomla! 3 version fo the site to the custom user.css file. I also edited the index.php file for some of the appropriate customisations I had previusly utilised. This works fine. The downside is that cassiopeia is a very large template (over 30,000 lines of CSS) most/all of which I do not require and this slows down initial site loading. I then added back in all of my required extensions and their configurations - at least all of those that are guaranteed Joomla!4 compliant. This seems the most hassle free route.
- Because I do not like verbose and unnecessary css I then investigated building my own Joomla! 4 minimal template to reflet the design of my Joomla! 3 sites. Documentation is not 100% complete and I did not find this obvious. Thankfully, there is a great community out there and with a bit of research I found the excellent Kevin's Guides where there are a number of clear and simple guides to doing exactly what I needed. Specifically Ken provided a starter template. This proved even better and almost foolproof and reflected the approach I had previously taken with Joonla! 3 custome templates. I liked this a lot, thank you Kevin. This will become my default approach now
For my smaller sites I am also taking a different approch with pros and cons. In this method I install a default Joomla! 4 bare bones build which takes very little effort or time. I then upload and make default a Joomstarter template (and css from my Joomla! 3 site) customised for my use. I can very quickly check this works and add in some modules I always use such as custom footer, smart search, menu. I back this up. I then add in my standard extensions where applicable - Akeeba Backup Pro, Akeeba Admin Tools Pro, JCE content editor, CDN for Joomla, PWT ACL access control, PWT SEO and OSMap. These are all reliable, do what they say on the tin, make my life easier and take away some worries. I then backup once more. I can use this backup time and time again on other sites (migrations or new builds) with just a different customised template/css as all that is missing is content and perhaps some custom modules.
For a small site I can then create new articles with cut and paste from the old but set the publishing dates as per the original site. I can also edit the hits counters in mysql administration if I need to. This approach is pretty foolproof but as it is a little time consuming I can't use this approach on any big sites. The biggest to date I have migrated using this aproach had 89 articles which took me several hours to migrate. With 15 other sites to do I can;t afford the time to do this.
So the good news is I now have three approaches to migration, all of which work and I can choose the one most appropriate for the site I am migrating.
There is more good news: My minimalist template Joomla! 4 sites are proving very fast, have great built in accessibility features and tools (which I previously added in with some custom code) and are returning very high scores on Google PageSpeed (or Lightspeed on Chrome) compared with the prvious Joomla! 3 version of the site and are scoring very high on Accessibility. I am really pleased with a few days work and research.