After about a month of effort, I’ve finally converted all the 120+ guides I wrote on the Joomla version of Kevin’s Guides into the right format for WordPress! I hope it was the right decision.
Here are some reasons I made the change:
- Much larger collection of extension/plugin options available
- Block editor is better than TinyMCE for adding dynamic / interactive content to guides
- Ability to (relatively) easily create and edit blocks for dynamic content
- Better to show off to potential employers (0 people hiring for Joomla in USA)
As a web designer, content writer, and software developer, I’ve got some feedback on my experience making the switch!
How I Switched
Kevin’s Guides is a relatively complex project. The Joomla! version of the site was built with a custom template and dozens of custom plugins and extensions I developed over the years. I had to replace or create equivalent alternatives for the new site in WordPress. Specifically, I was switching from Joomla 5.1 to WordPress 6.6.
Some of the custom guide features I had to redesign for WordPress include:
- Popup image boxes
- Accordion dropdown sections
- Image comparison sliders
- Interactive image / label diagrams
- Timelines
- Display Cards
- Math Equations / MathJax
- Slideshows, Image/Content Carousels
- Article Footnotes
Since most of the website’s 1000+ images were formatted with descriptions and captions using a custom solution, I had to implement a similar system using WordPress blocks. The image box system features the ability to add an image, the ability to show a larger popup version of the image, links to the source, download, and full-size image, along with saving the title, caption, author, and license of each image. Handling all of this was one of the most tedious parts of the switch.
Thankfully, I was able to create an equivalent version of the image box using WordPress blocks. I had to do similar things for all the other interactive features on the old site!
I was able to manually export the users from the Joomla! site and import them into WordPress’s user table with no issue. Since they both use the same standard password hashing tech, passwords and usernames created with Joomla work fine in WordPress.
To copy the content of each guide over (hundreds of thousands of words and over a thousand images and videos…) I needed to take a more manual approach. If the content was simpler, I could have simply used a migration tool or exported and imported the HTML of each article. Since I wanted to make future content with WordPress’s block editor, I wound up doing everything more manually.
- I opened my old site and the new development site side by side
- I selected and dragged large portions of text directly from my old site over to the block editor
- I created layouts using columns as needed, similar to how they were structured on the old site
- I added image boxes every time I needed to insert an image
- I could not directly drag the images over like I could with text. But I didn’t have to manually save or search for them all either.
- I opened a file browser on my computer and dragged the images from my old site onto my computer. Then I could immediately drag them into the WordPress media manager and select them. This made moving each image over take about 5 seconds, maybe slightly longer if I needed to copy the captions and titles over.
- Repeat process for all other forms of special content, like code, math equations, image comparisons, information cards, etc.
Most of the guides in this website are comprehensive and are several thousand words long each. So each guide took an average of 10-15 minutes to move over. This was the most painful part of the process!
I was able to use WordPress’s URL config tool to get my post links to exactly match the old site. So links to every guide remain exactly the same! No need to overhaul the link structure. Phew.
I set up the membership and comments systems using free WordPress plugins. They provide a similar functionality to the paid plugins I used to use with Joomla.
I manually copied over the membership settings for member users and some of the more relevant comments. There were only a few members and a couple dozen comments of note.
Wrapped up by styling all the pages and layouts using custom block theme, colors, and even more custom blocks for the post layouts, search, and menu system.
Finally, once everything was ready and mostly tested, I deleted the old site and used the WordPress plugin UpdraftPlus to backup and restore the new site. Thankfully, this part only took about ten minutes. So the site wasn’t down for long. Yay!
Comparison – Administrator Perspective
As an administrator, I can clearly point out some major differences between how Joomla and WordPress handle content.
Metric | Joomla | WordPress |
---|---|---|
General | Joomla is more complex. While not a direct comparison of complexity, a base Joomla 5 installation has about 9,000 files. WordPress has 3,000 files. This comes down to fundamental differences in how Joomla and WordPress handle things. Joomla divides its code into many different core extensions including components, modules, plugins, and templates. There are over 100 of core plugins included with Joomla, each providing a unique service or functionality to the system. | WordPress was, and still is, fundamentally a Blog platform at its core. It has capabilities to manage users and organize posts/pages. It’s a great system and it’s easy to get started with. There are only two key types of extensions – WordPress plugins and WordPress themes. |
Dynamic Content Areas | Joomla! uses a module system. Modules can display things like banners, login forms, comment boxes, images, and more. They are smaller pieces of a larger page or layout. | WordPress uses Blocks now. Blocks are kind of like Joomla’s modules, but the framework is more powerful. Blocks can be added and edited directly within a visual editor, and don’t require diving down a rabbit hole to configure and display properly. Although WordPress’s block feature is only a few years old, I think it beats Joomla’s module system in terms of overall ease of use. |
User Management | Joomla! has a much more complex user management system built in. You can create custom user groups, access levels, and fields for users. You can granularly control every action each type of user can do using Joomla’s advanced permissions system. | WordPress has a much simpler user management system. There are a few pre-defined user levels with hard coded permissions. You have to install third-party plugins to get more functionality. This is perfect for simple blog sites but not enough for more advanced organizational structures. |
Extension Support | Has several thousand extensions, though perhaps only a few hundred are actually significant. Since extensions are organized based on their capabilities, I think the way Joomla organizes extensions makes more sense. | Has tens of thousands of plugins, with a much larger developer community. There are several professional-grade offerings to achieve nearly anything you could want with your website / web application. Since WordPress basically only offers themes and plugins as things you can install, the interface ends up bloated with lots of different plugins. This can be difficult to navigate even on relatively basic sites. |
Content Organization | Organized content into categories and subcategories. Tags were introduced later in Joomla’s development. | Organizes content with Tags and Categories. |
Content Editing | Uses a WYSIWYG editor. The main choices are TinyMCE, the basic included editor, JCE, a slightly more advanced WYSIWYG editor, and code editors like Code Mirror. These are good but what you write in the editor doesn’t always match up exactly with how the actual page looks. | Used to use classic editor – same TinyMCE editor Joomla! uses. Now uses the Block editor. While not perfect, it allows you to quickly design and preview more advanced features within your posts and pages. Like a visual content layout system, buttons, image features, calendars, etc. You can do more with this out of the box, and even more with plugin support. |
Design & Style | Uses a template system. There are dozens of great paid templates out there and a handful of decent free ones. How easy it is to customize the template depends entirely on how the template was developed. | Now supports legacy “classic themes” or the new “block themes.” Block themes work with WordPress’s full site editing tool, which allows you to customize many aspects of the design and layout of your pages without any development experience. It lacks in comparison to paid site-builder tools like Elementor or Divi, but it’s better than the virtually nothing Joomla offers. There are tens of thousands of free and paid WordPress themes available. You’re sure to find one that fits if you’re not a developer. |
Navigation | Joomla! supports an advanced menu system with a ton of customization options and integration with its user permission system. It gives you granular control over how your website is navigated and how its links are generated. Routing in Joomla is more controlled and advanced. | WordPress has a menu system that’s theme-dependent. Not all themes support its menu system. Its menu system is easy to use, though. WordPress allows you to customize how your post URLs look. It’s a simpler routing system that can become confusing when plugins try to take it over in unexpected ways. |
In conclusion, both WordPress and Joomla! have advantages and disadvantages. But Joomla! just seems dated compared to WordPress and is losing popularity each year. I’ll continue using Joomla! in some of my projects, but moving forward I think WordPress might be the better option for this site and my future projects.