Come on in, we have the answer.

If blogs could talk, you’d never shut this one up.

Why Joomla

Joomla Logo

I started building websites about 16 years ago. It was only in 2008 when I decided to work as a web developer, so I started trying out different CMS (WordPress, Joomla, Drupal, MODX etc) to find the one that would suit me best and could simplify my work. 

Being a beginner in the web development field, I picked WordPress because its administration panel seemed much easier and more user-friendly than on the other CMS I checked. So, I learned to make my own themes and build websites on this wonderful CMS, and I was very proud of it.

Bad news!

Unfortunately, it was the time (relatively early) for a bumpy landing. It was then that I found out that about 30% of websites worldwide had been hacked! The remarkable thing though was that all those sites were built on WordPress. It was a massive attack against WordPress. 

I was totally shocked! I had invested so much time, effort, and money into this CMS in order to learn all its secrets and become as productive as possible. Now what? What happens from here on out? Having experience in programming since the early 90s, my main principle in everything I did was security. Security first.

was facing a dilemma: either I would have to violate my core principle, or I would have to throw away everything I invested in learning WordPress. Without a second thought, I decided on the latter. I feel totally vindicated by this decision since from that time until the time of writing these lines many more such attacks have been carried out with poor WordPress as the victim.

It's Joomla time!

My search for the right CMS starts all over again. It was not difficult to choose, since from the beginning the second CMS I had in my preference was Joomla. Once more at zero point! I had to learn to make my own themes (in Joomla they are called templates) and also to go deep into a system with practically endless possibilities. This was the seemingly more difficult part compared to WordPress (in which to perform even basic functions you had to use a ready-made plugin or build it yourself).

Did I say plugin?

I just found the core problem of the CMS I used to love. For almost every function, you need a plugin which opens backdoors to wanna-be hackers. Unfortunately, you really can't know the quality of code will have each plugin you use and if it meets basic security principles. You also don't know if the developer will continue to update it and keep it compatible with each new version of the CMS. Will it continue to work after the next WordPress update, or will the whole site crash because of it?

Enough about the old stuff, that's in the past.

Have I found the ideal one?

There have been countless articles written about the best CMS. WordPress vs Joomla, WordPress vs Drupal, WordPress vs Joomla vs Drupal, and the list never ends.

From my experience, I can say that there is no ideal CMS. Each CMS has its own scope of application, its pros and cons. The ideal CMS is the one that, above all, is secure but also allows you to do the job more easily and quickly, helping you to get the best result.

Personally, what I was interested in was to find a CMS that would have out of the box all the basic functions that could be useful for developing a website, and thus I wouldn't need to use extensions built by third-party developers. This means that I would avoid as much as possible the problems I mentioned above, but also reduce the cost of building and maintaining a website that ultimately benefits the client. These and many more that we will see below, I discovered that I can do with Joomla!

Key features:

Joomla Home Dashboard

Control Panel - Backend Organization

The Joomla admin panel is much more organized with much simpler available options than in other CMS. It's a great tool for easily creating and managing content, as well as controlling and maintaining all kinds of websites: from blogs to large international portals.

If you take a look at Joomla's general settings, you'll find options for everything: redirects, SEO settings, email settings, caching, parameters, and more. Instead of having parameters for just a few elements of your site, you have parameters for all elementsIsn't that great?

For those users who need a good backend organization, Joomla is probably the best choice. Of course, all these options and parameters will require a bit more learning time, especially for beginners. However, this extra time is worth it because of the increased functionality.

Structure

Joomla's structure is clear. Categories are on the top, and under each category comes the articles. Each article belongs to a category only, but you can associate articles of different categories with each other using tags. A pretty clear structure that even the most ignorant user can understand. There are no entanglements between posts and pages as elsewhere.

If you want to add a new menu, the option is super simple and doesn't require you to write a bunch of code. Same if you need to limit articles to certain pages. You can easily and quickly do everything you need.

Articles Menu

Content

You can order the articles per your wish. Also, if you want or the circumstances require it, you can schedule the publication start or end date for an article or a module (we will talk about modules below). In articles, you have the option to use different photos for the intro text and the main article. Something very useful is also the option to restore an older version of your article (versioning).

You also have the ability to create as many copies as you want of almost anything: categories, articles, modules, menus, and more, you can clone and edit them with one click. And all these without the need for any plugin!

Overrides Creation Menu

Overrides

Joomla is built on the MVC (Model-View-Controller) model. A modern architecture that provides great and easy flexibility. In the same architecture is built the majority of Joomla extensions. The ability, (due to this MVC architecture) to override everything from the language to the template and extensions, make Joomla one of the most powerful CMS and an excellent multi-tool in the hands of a developer.

Flexibility

For most people, flexibility is all that matters.

With Joomla, you can display different types of content on the same website. For example, if you want your blog to have a different look from your product page, all you have to do is assign it a different template, and it is very simple. Just install the template you want, assign it to the menu items you want, and you're done.

Also, there are so many settings in the menu items that you don't depend solely on the general settings. And believe me, this is a real lifesaver!

Site Modules Menu

Modules

Another great part that contributes to Joomla's flexibility is modules. Modules are "smallextensions (something like WordPress’ "widgets") that you can include in various positions on your page (Joomla templates have many such positions) and which display specific types of predefined content. Typical examples are the login module, banner module, slideshow module, latest news module, etc.

Modules make mixing content on any website extremely easy. So, one could say that modules for Joomla are a Swiss army knife!

Contacts Menu

Contact forms

Every website must have a contact formThis is the most basic and necessary element for every website. In Joomla, the ability to build a contact form is provided natively, so you don't need to install any plugin to achieve this basic function.

Multilingual Article Menu

Multilingualism

Many times, clients show up with the request of constructing a multilingual website (a website whose content is presented in more than one language). 

In WordPress, building a multilingual website is a pain in the arse. You need to buy a plugin that fits the theme you have chosen and if all goes well, you proceed in building the site.

Fortunately, this applies in a parallel universe and not in Joomla. In Joomla, you don't need to add anything since it provides multilingual functionality out of the box. You simply install the desired languages through the language manager, roll up your sleeves and start working!

New Custom Field

Custom Fields

If modules are the Swiss army knife for Joomla, then custom fields are the master key that opens all doors. Do you want some of your categories or articles to include more or different sections than usual? Here you are, look no further. The possibilities are practically endless, and of course without needing any additional plugin.

Access Control List

The Access Control List (ACL)

This is one of the most wonderful and powerful features provided natively by Joomla. Through ACL one can grant access to the website's content depending on the user's level. This applies to both the frontend and backend of the website.

To be more specific, assuming we have a website that has content that should only be accessible to registered users, then ACL is the tool we need. Through the ACL we can create various roles which users will be assigned when they register and based on those roles the corresponding content will be unlockedThat's it for the frontend of the site.

As far as the backend is concerned, we have a similar function where we can assign various roles and based on those roles, users can edit the corresponding content. So, especially in business projects, we can assign various roles to the staff which takes care of the maintenance and updating of the website. This way we avoid errors and inconsistencies and everyone is responsible only for a specific part of the site.

The access control list comes with some predefined roles, which we can configure and enrich according to our requirements. And all this is done without installing any additional extensions!

Accessibility check

Accessibility - WCAG 2.0 AA

The arrival of Joomla 4 brought one of the most important features, accessibility supportNow, Joomla has WCAG 2.0 Level AA compliance, which means that the admin panel, the extensions and also the websites built with Joomla are now easy to use and understand for the majority of people with or without disabilities.

In addition, a relatively new feature brings accessibility to another level. It's the Accessibility Checker that detects many errors and warnings, providing help and tips on how to fix them.

No longer need to invest in extensions or plugins, thanks to built-in accessibility support for both frontend and backend. This is a fantastic feature for anyone who has struggled with accessibility in the past.

Sceduled Tasks Menu

Tasks Scheduler

Another real handy stuff for the website administrator. If there are tasks that are constantly repeated or tasks that should not be forgotten and should be scheduled for the future, they can be done with the Task Scheduler regardless of whether the host allows cron jobs to run or not.

Security Menu

Security

I left the most important (for me) part for the end. Security.

Unlike WordPress where you can only change your admin username from within the database, Joomla allows you to perform this process simply and easily from the control panel. Do you think this is something useless? Not for those in the know...

Entering the Joomla Dashboard, the last login as well as the recent activity of your users is displayed. This way you know who and when has logged in and what changes has made to the system.

For those who are diligent about security, Joomla provides the option to enable Two-Factor Authentication (2FA). 2FA adds another layer of security to the user login process, greatly reducing the chances of your account being compromised.

Joomla natively provides the ability to enforce HTTPS. This means that (if you have installed an SSL security certificate on the server) all data traffic to and from your website will necessarily be encrypted. Otherwise, when you log into your website for example, your username and password will not be sent encrypted but will travel over the internet in clear text. Creepy, huh?

HTTP security headers are provided natively in Joomla and add another layer of security to your website, helping to mitigate attacks and security vulnerabilities.

Through my years of experience in the industry, I have found that WordPress is built on spaghetti code (and sometimes outdated) with patches upon patches and the questionable quality of the developers of all these additions make it one of the most insecure CMSs. In contrast, the Joomla team was not afraid to write from scratch much of the core code to keep it clean, modern and secure.

Community

The Joomla community is really great. Developers who really love what they do, providing solutions and help to each other and building great extensions that take Joomla functionality to another level. For every function that your site needs to perform, if it's not natively covered by Joomla, there will surely already be a well-built extension that will do the job and more. Also, the cost to purchase Joomla extensions is always at an affordable level, unlike most WordPress extensions.

Final thoughts

Although for the sake of brevity I have omitted many Joomla features, it is easy to understand from the above, why I chose this CMS for the websites I build.

This powerful CMS provides the necessary scalability to manage small, medium and large sites. With all the native features it offers, it can support the development of any kind of website. And if security is an issue you are taking seriously, then obviously a CMS like Joomla is a must for you.

Vassilis Theodoropoulos's Avatar

Vassilis Theodoropoulos

I am an experienced web developer with more than 15 years in the industry. I studied programming back in 1992 when the World Wide Web was taking its first steps, but I took the decision to work as a web developer later, in 2008. Also, I studied science, thus you'll often find me talking about physics, math, chem or biology. I live in Greece, and I'm the husband of a lovely wife and father of two adorable and clever kids.