WordPress, Joomla, and Drupal compared

Content World


Each of the three CMSs has its strengths and weaknesses. WordPress is particularly recommended for blogs, news sites, and websites that frequently publish new text. Thanks to the clear-cut user interface, getting started is particularly painless. In return, site operators have to retrofit many functions with the use of extensions.

Joomla is much more universal and offers a wide range of functions. Sophisticated, finely adjustable user management stands out as one of its strengths, which allows the easy implementation of private member areas. This flexibility also dictates a longer learning curve and a somewhat less agile work process. The confusing online documentation also makes training difficult.

In Drupal, site operators decide which content the CMS should store and present and exactly how this will happen. Therefore, authors do not have to somehow squash a recipe (for example) into the format of a post or look for an extension that implements a recipe collection. Drupal is therefore worth a closer look, in particular if the planned content does not consist (only) of simple posts. However, even with Drupal, users cannot avoid long training periods, although the good online documentation helps.

If the items in Table 1 do not address a feature of interest for your website, that does not mean the respective CMSs cannot accommodate it. The number of modules, plugins, and extensions is huge. The function may already be waiting somewhere for you to find it.

If this is not the case, other open source CMS alternatives might offer exactly the capability you are looking for, including TYPO3 [7], the Magento [8] shop system, Contao [9], or the Django [10] framework, to name just a few.

Table 1

CMS Features at a Glance

  WordPress Joomla Drupal
Version Reviewed 4.9.4 3.8.5 8.4.5
License GPLv2 GPLv2 GPLv2
System Requirements
PHP version 7.2+ 5.3.10, 5.6, or 7.0+ 5.5.9+
Databases MySQL 5.6+, MariaDB 10.0+ MySQL 5.1+, PostgreSQL 8.3.18+, SQL Server 10.50.1600.1+ MySQL 5.5.3+, MariaDB 5.5.20+, Percona 5.5.8+, PostgreSQL 9.1.2+, SQLite 3.4.2+
Web Server Apache and Nginx recommended Apache 2.0+, Nginx 1.0+, IIS 7 Apache 2.0+, Nginx 1.1+, Hiawatha, IIS 5+
Graphical Installation Wizard Yes Yes Yes
User Support Forum Forum, Mailing list Forum, Slack, IRC, Stack Exchange
Online Documentation Yes Yes Yes
Back End
Management via Back End/Front End Yes/Partly Yes/Partly No/Yes
Multilingual Back End Yes Yes Yes (via the front end)
Back End Suitable for Mobile Use Yes Yes Yes (via the front end)
Saved Information Pages and posts (extensions can retrofit further content types) Posts (extensions can retrofit further content types) Any (page operators themselves specify content types and thus the structure of the pages)
WYSIWYG Editor Yes (TinyMCE) Yes (TinyMCE, CodeMirror) Yes (CKEditor)
Preview Yes Yes Yes
Drafts Yes Yes Yes
Unpublished Content (hide from all visitors) Yes Yes Yes
Time-Controlled Publishing Yes Yes Yes (with modules such as Scheduler [11])
Version Management Yes Yes Yes
Content Editable in the Front End No Yes Yes
Multilingual Websites No Yes Yes
Media Management Yes Yes Yes
Image Processing Functions Yes (restricted) No (retrofit via extensions like Media Kits [12]) Yes (restricted)
Additional Built-in Functions
Search Function Yes Yes Yes
Picture Gallery Yes No (retrofit with extensions like Phoca Gallery [13]) No (retrofit with own content type or a module like Juicebox [14], which was beta at the time of writing)
Comment Function Yes No (can be retrofit with extensions like JComments [15] or CComment Pro [16]) Yes
Contact Forms With plugins (e.g., Contact Form 7 [17]) Yes Yes
Advertising Banners No (retrofit with plugins like AdRotate Banner Manager [18]) Yes No (retrofit with modules like Ads System [19] and Advertising Entity [20], both still beta at press time)
Show/Create Newsfeeds Yes/Yes Yes/Yes Yes/Yes
Search Engine Optimization Partial (with extensions like Yoast SEO [21]) Yes Partial (further functions can be retrofitted with modules, like Real-time SEO for Drupal [22] or Drupal SEO Checklist [23])
Multisite Function (management of several independent websites with one installation) Yes No (retrofit with extensions like Multi Sites [24]) Yes
Caching With Plugins (e.g., WP Super Cache [25] or WP Fastest Cache [26]) Yes Yes
Calendar Implemented with modules [27] [28] Implemented as a module [29] Implemented with modules [30]
Design Templates
Theme/Template Engine Yes Yes Yes
Template Language PHP PHP and XML PHP
Design Template Properties Modifiable Yes (in live preview) Yes Yes
Live Preview Yes No Yes (with fictitious sample page)
User Management
Groups Yes (default; user management extendable with numerous plugins, such as Simple Access Control [31], Restrict User Access [32], Profile Builder [33] or User Access Manager [34]) Yes Yes (via roles)
Access Restrictions Access depends on user group Access Control Lists (via user groups) Access Control Lists (via roles)
Member Areas (individual pages are only visible for certain user groups) Major limitations (password protection or visibility only for all registered persons) Yes (via Access Control Lists) Partial (only for individual blocks, such as a menu, and with modules such as Private [35] or Nodeaccess [36], which was still in beta at press time)
Force Review (release of newly written text by a moderator) Yes (depending on user group) Yes Yes (corresponding module still tagged as experimental)
Two-factor authentication With plugins (like Two Factor Authentication [37], Google Authenticator [38], or Two-Factor [39]) Yes (Yubikey, Google Authenticator) No (retrofit with the Two-factor Authentication (TFA) module [40], which was still in alpha at press time)
Registration by External Services No (only with plugins like Social Login [41]) Yes (Gmail account, LDAP) No (retrofit with corresponding Social Auth module [42])
Internal Messaging System No Yes No (retrofit with modules like a suitably configured Message Stack [43] or Privatemsg [44], which was ported to Drupal 8 at press time)
Extensions Yes Yes Yes
Control with API RESTful No (retrofit with extensions, such as cAPI Core REST API [45] or Rest API for Joomla [46]) RESTful
Automatic Update Yes Semiautomatic No
Backup of Website Data import and export only No (retrofit with extensions like Akeeba Backup [47]) No (help with corresponding modules like All In One Backup [48])


  1. WordPress: https://wordpress.org
  2. "Popular CMS by Market Share" by Robert Mening: https://websitesetup.org/popular-cms/
  3. Joomla: https://www.joomla.org
  4. Drupal: https://www.drupal.org
  5. Drupal 8.5: https://www.drupal.org/blog/drupal-8-5-0
  6. Updating Drupal 8: https://www.drupal.org/docs/8/update
  7. TYPO3: https://typo3.org
  8. Magento: https://magento.com
  9. Contao: https://contao.org/
  10. Django: https://djangoproject.com
  11. Drupal Scheduler module: https://www.drupal.org/project/scheduler
  12. Joomla Media Kits: https://extensions.joomla.org/extensions/extension/photos-a-images/images/media-kits/
  13. Joomla Phoca Gallery extension: https://extensions.joomla.org/extensions/extension/photos-a-images/galleries/phoca-gallery/
  14. Drupal Juicebox module: https://www.drupal.org/project/juicebox
  15. Joomla JComments extension: https://extensions.joomla.org/extensions/extension/contacts-and-feedback/articles-comments/jcomments/
  16. Joomla CComment Pro extension: https://extensions.joomla.org/extensions/extension/contacts-and-feedback/articles-comments/ccomment-pro/
  17. WordPress Contact Form 7 plugin: https://wordpress.org/plugins/contact-form-7/
  18. WordPress AdRotate Banner Manager plugin: https://wordpress.org/plugins/adrotate/
  19. Drupal Ads System module: https://www.drupal.org/project/ads_system
  20. Drupal Advertising Entity module: https://www.drupal.org/project/ad_entity
  21. WordPress Yoast SEO plugin: https://wordpress.org/plugins/wordpress-seo/
  22. Real-time SEO for Drupal: https://www.drupal.org/project/yoast_seo
  23. Drupal SEO Checklist module: https://www.drupal.org/project/seo_checklist
  24. Joomla Multi Sites extension: https://extensions.joomla.org/extensions/extension/core-enhancements/multiple-sites/multi-sites/
  25. WP Super Cache plugin: https://wordpress.org/plugins/wp-super-cache/
  26. WP Fastest Cache plugin: https://wordpress.org/plugins/wp-fastest-cache/
  27. WordPress All-In-One Event Calendar plugin: https://wordpress.org/plugins/all-in-one-event-calendar/
  28. WordPress The Events Calendar plugin: https://wordpress.org/plugins/the-events-calendar/
  29. Joomla JEvents: https://extensions.joomla.org/extension/jevents/
  30. Drupal Glazed CMS Events module: https://www.drupal.org/project/cms_events
  31. WordPress Simple Access Control plugin: https://wordpress.org/plugins/simple-access-control/
  32. WordPress Restrict User Access plugin: https://wordpress.org/plugins/restrict-user-access/
  33. WordPress Profile Builder plugin: https://wordpress.org/plugins/profile-builder/
  34. WordPress User Access Manager plugin: https://wordpress.org/plugins/user-access-manager/
  35. Drupal Private module: https://www.drupal.org/project/private
  36. Drupal Nodeaccess module: https://www.drupal.org/project/nodeaccess
  37. WordPress Two Factor Authentication plugin: https://wordpress.org/plugins/two-factor-authentication/
  38. Google Authenticator plugin: https://wordpress.org/plugins/miniorange-2-factor-authentication/
  39. WordPress Two-Factor plugin: https://wordpress.org/plugins/two-factor/
  40. Drupal Two-factor Authentication plugin: https://www.drupal.org/project/tfa
  41. WordPress Social Login plugin: https://wordpress.org/plugins/miniorange-login-openid/
  42. Drupal Social Auth module: https://www.drupal.org/project/social_auth
  43. Drupal Message Stack module: https://www.drupal.org/node/2180145
  44. Drupal Privatemsg module: https://www.drupal.org/project/privatemsg
  45. Joomla cAPI Core REST API: https://extensions.joomla.org/extensions/extension/capi-core-rest-api/
  46. Rest API for Joomla: https://techjoomla.com/free-downloads/rest-api-for-joomla.html
  47. Joomla Akeeba Backup extension: https://extensions.joomla.org/extensions/extension/access-a-security/site-security/akeeba-backup/
  48. Drupal All In One Backup module: https://www.drupal.org/project/allinone_backup

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus