Joomla 4 is the new major release of the free open source Content Management System, Joomla. This version was in the makings for more than 5 years and we can say it has a modern architecture and a clean OOP code base. I am going to highlight a few of its most notable features, for the end users, the developers and the site integrators alike.
What brings to the table
Thrives in Google’s Core Web Vitals
In May 2020 Google announced its new Core Web Vitals, a set of metrics that aim to measure the quality of the user experience in a web page. In June, Google incorporated the Core Web Vitals as a ranking factor. These metrics now play a role, in the position of a page in Google’s search results page. Moreover, the trend shows that Google’s ranking will become more and more user-centric as the time passes. Since 53% of the website traffic comes from organic search, we should pay close attention to them.
Lets see how Joomla scores in the web vitals, as measured by the Lighthouse tool.
Surprise… it’s perfect in all the categories! Do note that I use an installation with only core extensions and the built-in Cassiopeia template. Also to achieve such a performance score requires a decent hosting.
SEO
In most cases Joomla provides adequate SEO without the need for 3rd party extensions. It generates clear urls (which were improved in Joomla 4), allows the handling of the page’s meta-data and provides features like gzip compression out of the box.
Accessibility
This was taken seriously. Both the default back-end and the front-end templates are WCAG 2.1 AA compliant, allowing every user to enjoy a seamless experience. Also there are additional opt-in functionalities, like the ability to use monochrome colors, the adjustment of text color, size and spacing and the highlighting of anchor texts.
What about developers?
If you are a front-end developer, Joomla ships with Bootstrap 5, the popular front-end framework. A nice feature is that you can load the exact Bootstrap component you need, without the need to load the entire framework. For example using the following snippet you can load the Bootstrap Drop-Down component
\Joomla\CMS\HTML\HTMLHelper::_('bootstrap.dropdown', '.dropdown-toggle');
Modifying a layout is quite easy by using template overrides. This works by creating a new layout, under a specific directory inside your template. Joomla will use that layout, instead of the one that ships within an extension or Joomla itself. Beyond that, all the scripts have been refactored to vanilla javascript, without dependencies to 3rd party frameworks and libraries, anymore.
A very cool new feature is the Web Services. All the core components come with a RESTful API that allows interaction between Joomla and other applications. Although this feature is not yet fully documented, it’s worth checking it out, if you wish to connect your website to another application or you would like to automate things.
But content is the king
The hot (improved) feature here is the Custom Fields. You can write content using a WYSIWYG editor, but can also create complementary fields to that content. They are like a Swiss knife, as they can be of different types, like media (e.g. images, videos), text, colors, dates, numbers and the list goes on as they can be extended. Moreover their layout can change to our liking, rendering them even more flexible.
In the above example we use custom fields to assign several properties to articles related to books. By doing that, all the books have a unified way to display their properties in the front-end. Also this is a big help for the content authors, as they get a well structured way to use these fields in the back-end.
But what if you have content that cannot be searched. It is pretty useless right? Smart Search is a search engine shipped with Joomla. It parses and indexes the saved content by doing a sort of lexical analysis. In short, it is capable of providing accurate results, even when searching for entire phrases. It also has suggestion/auto-complete functionality that renders the search more user friendly.
Can the content get filtered?
A CMS can potentially generate big loads of content. For being able to find the desired content, both search and filtering functionality is required.
At BlueCoder, we developed a filtering solution for the Joomla content. JFilters is able to filter the content, using the Joomla’s Categories, Custom Fields and Tags.
What makes it special?
It can be combined with the Smart Search to further filter the search results. This is really cool for sites with a lot of content. It detects and shows the filters relevant to the content of the current page (e.g. a specific category). Moreover it is SEO friendly, light (less than 10Kb) and fast.
If you wish to check it out along with Joomla 4, there is a free version available.
Conclusion
Joomla 4 is out and seems to do much more and in a better way than many free CMSs out there. Moreover this is a project backed by a vibrant community. The community is active in providing guidance and developing 3rd party extensions that enhance the CMS.
If you are an agency or a small/medium business that plans to build its next website, it is possibly in your interest to check it out!
Also Read: 8 Attractive Template Frameworks for Joomla CMS