A Content Management System (CMS) is a software system that provides website authoring, collaboration, and administration tools that are designed to allow users to create and manage website content with relative ease. Some may require more technical knowledge and background to navigate around their interface while others may not. Essentially, a CMS is used to create and manage digital content most often on the web.
Today, three of the most widely used CMS are WordPress, Drupal, and Joomla. All three are open-source software, each developed and maintained by a community of thousands of dedicated contributors. Most importantly, the three are all free to download and use.
Having some experiences in WordPress and Drupal, whether for portfolio development purposes or academic purposes, I was quite frankly not familiar with Joomla. That said, we’ll dive into Joomla a bit more in depth and look over its major qualities, such as multilingual functionalities, in comparison to those of WordPress and Drupal. Following the analysis of the three CMS, we’ll assess the pros and cons for each platform and make final recommendations.
Here is Joomla: it works very similarly as WordPress does, meaning you can visit www.joomla.com, which will allow you to create a Joomla website hosted on their platform, whereas www.joomla.org will allow you to download the Joomla software and create a Joomla website right through your own server of choice (such as MAMP). Once you begin the configuration for Joomla, you will see the following screen:
And as soon as I completed the Joomla installation, I was greeted by the following friendly message:
Unlike WordPress, which lacks a native multilingual functionality, Joomla allows you to install multiple languages directly through the Joomla Administrator in order to create your very own multilingual website. Select as little or as many languages as you would like, as Joomla truly has a wide selection of languages. What’s great is that Joomla provides a thorough step-by-step tutorial on how to set up a multilingual website. For example, it introduces how a complex functionality like the language switcher can be implemented into a Joomla page in a simple manner. Take a look at the screenshot below that demonstrates how a language switcher can be generated simply by installing a module:
However, speaking from a beginner’s perspective, Joomla proved to become more complex the more I attempted customization. Take templates as an example: Joomla’s selection of templates is not as robust as that of WordPress, and it has taken a certain amount of research to find an appropriate template that is free of charge. When I locked down my choice of template and installed it on my Joomla site, a whole new menu popped up like below:
The above is the “Style Edit” page, specific to this particular template I chose (that makes me think that every template will have some sort of customized “Style Edit” page specific to its menu). During my initial reaction to this edit page, I noticed how unfriendly the menu buttons read: “COM_TEMPLATES_PRESET_FIELDSET_LABEL” and “COM_TEMPLATES_LAYOUT_FIELDSET_LABEL”? It’s not necessarily the most intuitive wording for users to understand what each section entails. My personal issue with this page, however, was that it contained front-end strings that needed to be translated, and they were not easily recognizable. This adds additional manual work to the translation process of a Joomla website, which is already heavy on its manual quality. Albeit first impression was certainly phenomenal as far as Joomla’s multilingual capabilities go, utilizing and integrating multilingual features were not as clean-cut as the step-by-step instructions Joomla provided.
Allow me to demonstrate what I mean — below is an example of a basic Joomla website, borrowing some content from JCrew, and it has been translated into French:
To get to this point, though, every step represented a manual struggle. Each and every article (similar to a page on WordPress) needed to be replicated and translated separately, as demonstrated by the screenshot below: True, WordPress and Drupal also requires users to duplicate individual pages prior to translation. However, in the case of Joomla, there are even more extra steps: rather than duplicating an article, say the “About” page, I would create a new article, link it to an existing article, and then designate a locale for the article, and finally translate and publish the article (but it’s not published yet — more on that later). The greatest issue, however, was not necessarily the manual labor or limitation of multilingual features, but rather the unfriendliness on how to actually manipulate them. The two screenshots above respectively represent Joomla’s Translation Packages and “Localise” extension (similar to plugins on WordPress). Translation packages range not only by languages themselves but version updates as well, while the “Localise” extension specifically notes that it allows the user to all sorts of tasks related to translation (but note, it supposedly says that it creates, edits, and delete languages — don’t we already have that as a native function on Joomla?). These two remain less useful than expected to a beginner, however, as it is completely unclear how to utilize them or put them to action. Lacking further directions and clear navigation to using the translation packages as well as the “Localise” extension, it is difficult to get past the initial installation stage for a beginner.
Lastly on Joomla, let’s quickly go back to publishing translated content. Just as how articles needed to be replicated, menus need to be replicated in different languages as well. When the menus are supposedly created and “published”, one last step is needed: go to the menu selection (second screenshot below) and toggle all selections to be featured on the front-end of the website. It just seems like Joomla likes to add at least one or two more steps to each replication process.
Since I have taken the majority of this post to discuss Joomla at length, let’s run a brief overview on WordPress and Drupal…
One of the greatest advantages of WordPress is its ease of use: you do not need web development experience to get started with building a website. WordPress has a clean, simple, and friendly UI with menus to begin customizing appearance and creating posts. And as briefly suggested before, WordPress has an incredible selection of templates. Specifically, WordPress has more than 4,000 templates, far superior to Joomla with more than 1,000 templates and Drupal with 2,000 templates.
WordPress also has over 45,000 plugins, including several for localization needs like WPML and Polylang. Despite such plugins for multilingual support, however, WordPress still lacks native multilingual capabilities unlike its rivals, Drupal and Joomla. Furthermore, due to its immense popularity, WordPress presents the risk of having a site that resembles any other website and attracting hackers as well. Nevertheless, the popularity of WordPress can be played as a strength, particularly because the large community of WordPress users will provide support and crucial security updates.
Of the three CMS platforms, Drupal is decidedly the most technically challenging and the least intuitive for beginners. It requires some understanding of common web programming languages such as CSS, PHP, and HTML, so it can be difficult for the technically illiterate. But if you are somewhat versed in web development, Drupal can become a whole new experience.
Provided that you have web development knowledge, Drupal allows you to create unique pages, functions, etc. without the use of plugins. And as complicated as Drupal can get, it possesses strengths in complicated matters such as categorizing and organizing elaborate content. Drupal can support anything from a one-page static website to a website that features thousands of different pages, whereas WordPress has not been as effective at handling such large volume of content.
Per our evaluation of the three CMS, it appears that WordPress is the most beginner-friendly and Drupal the most developer-friendly. All three are great options that offer a variety of useful features depending on the users’ needs.
If you are in need of creating a simple blog or a website for a small business, try getting WordPress under your belt. If you are tech savvy and would like to create a website with a larget volume of content, take a stab at Drupal. Last but not least, if you are working with e-commerce or social networking websites and would like more challenge than WordPress but easier learning curve than Drupal, Joomla will be your best bet.