Which CMS fits your situation: Drupal, WordPress or Joomla
Drupal fits organizations with complex content models, multi-step editorial workflows and a long governance horizon, which is why it suits large institutional sites. WordPress fits marketing and publishing sites that need fast setup, a large plugin ecosystem and automatic background updates for minor releases. Joomla fits mid-sized sites that want multilingual support and access features such as LDAP and multi-factor authentication in core. All three are GPL-family and free to download, so the decision turns on fit, support windows and what your team will spend to run each one. Confirm that fit against your own PHP, database and staffing environment before you shortlist.
Mid-life, the three are not interchangeable. Drupal 10 reaches end of life on December 9, 2026, so a Drupal 10 site needs an upgrade path to Drupal 11 or later, and the Drupal core release schedule sets the dates to plan around. WordPress officially supports only its latest version, so your update cadence must match the release line. Joomla 5 moved to security-only support after its bugfix window closed on October 13, 2026, while Joomla 6 has a longer bugfix window. Switching later means rebuilding content types, themes and extensions, which costs more than the licence saved at the start. Check each project's current support dates directly before you commit.
Before you choose, write down the content types, workflow roles, languages and integrations you need, then test each candidate against them. Check that every contributed module, plugin or extension you depend on is maintained for the version you will run. Confirm PHP and database versions with your hosting team, since Drupal 12 requires PHP 8.5 or later and Joomla 6 requires PHP 8.3 at minimum. Ask any implementation partner for a written scope that names the platform, the extensions, the upgrade plan and the handover documentation. That scope is what lets you compare running costs fairly.
Which platform fits which scenario
This table maps common organizational scenarios to the platform that fits best, with the supplied facts behind each choice. Treat each row as a starting position and check the stated condition against your own content model, identity stack and team skills. The main takeaway is that no single platform wins every scenario, and the membership row is the one to test before committing.
| Scenario | Best fit | Reason and what to confirm |
|---|---|---|
| Multi-department content hub | Drupal | Deep content modeling and core multilingual support suit many editors. Confirm permission design and workflow modules before build. |
| Marketing or brochure site | WordPress | Automatic background updates and a large plugin ecosystem. Plugins update automatically only in special cases, so confirm your review process. |
| Membership or publishing site | Test before choosing | Paywalls and member access depend on specific extensions. Trial the shortlisted modules, plugins or extensions against your content model. |
| Heavy integration with identity and APIs | Drupal | Contributed SAML and OpenID Connect modules exist. Confirm module versions support your Drupal release and identity provider. |
| Directory login and MFA in core | Joomla | LDAP, multi-factor authentication and web services ship in core. Confirm your directory setup and any extensions you still need. |
| Small team with limited PHP skills | WordPress | Familiar admin model and a large plugin ecosystem. All three need someone who can maintain PHP hosting and updates. |
| Existing Drupal 10 site | Drupal, with an upgrade plan | Drupal 10 reaches end of life on December 9, 2026. Confirm your upgrade path and PHP 8.3 or later hosting before that date. |
How content complexity shapes the choice
Start by deciding whether your content is a set of typed records that relate to each other or a set of pages that editors assemble by hand. Drupal is built around entities with fields, bundles and entity references, so a product, a policy and a regional office can each carry their own fields and link to one another. Its four core multilingual modules handle interface, content and configuration translation, which matters when you publish many languages with translated fields and per-language review. The condition is real complexity: if your model needs deep references, several languages and different editors for each content type, Drupal's model earns its setup cost. Before you commit, build one content type with its references and translations in a prototype and confirm it behaves as your editors expect.
WordPress handles simple content well, with posts, pages and custom fields that many teams extend through plugins. Multilingual support is not part of the core product, so a site typically relies on a translation plugin or runs one site per language on multisite. That approach suits a small number of languages, a modest content model and editors who already know the interface. The risk is that the plugin you choose becomes part of your content model. Changing translation plugins later can mean migrating translated content, custom fields and URL structures. Ask which plugins your team would need for field types, per-language roles and translation workflow, and check how each one stores translations before you rely on it.
Joomla takes a middle path. Its core includes multilingual support and a workflow plugin, so review stages and language handling are available without adding a separate product. Its article, category and field structure suits organizations with moderate content types, such as news, association or membership sites. The advantage matters when your editorial process is linear and your languages are handled inside one site. It is less suited to highly relational content that must be reused across channels, where Drupal's entity model is the more natural fit. Confirm the workflow stages, per-language permissions and field types you need against the core plugins list before you design the content model, since those details decide how much custom work follows.
Side-by-side capabilities from supplied facts
This table sets the licensing, runtime requirements, release cadence, authentication options and support windows for Drupal, WordPress and Joomla side by side. Read each row as a checkpoint: where a cell says to confirm, the reader should verify the current position with the project before committing.
| Capability | Drupal | WordPress | Joomla |
|---|---|---|---|
| License | GPL-2.0-or-later for Drupal core and derivative contributed files, with no paid edition of Drupal itself | GPLv2 or later, published by the Free Software Foundation | GNU GPL version 2 or later, copyright Open Source Matters, Inc. |
| Current major version | Drupal 11 is current; Drupal 11.4 released the week of June 29, 2026 | WordPress 7.1 released August 19, 2026; 7.1.3 released October 6, 2026 | Joomla 6.2.0 and 5.4.10 both published October 13, 2026 |
| Next major version | Drupal 12.0.0 scheduled for the week of December 7, 2026 | Confirm the next major release on the WordPress releases page | Confirm the Joomla 7 timeline on the Joomla roadmap, which marks dates as tentative |
| PHP requirement | Drupal 11 requires PHP 8.3 or later; Drupal 12 requires PHP 8.5 or later | PHP 8.3 or greater recommended | Joomla 6.x requires PHP 8.3.0 minimum, with 8.4 recommended |
| Database requirement | MariaDB 10.6+, MySQL 8.0+, PostgreSQL 16+ or SQLite 3.45+; SQL Server and MongoDB via contributed modules | MariaDB 10.11+ or MySQL 8.0+ recommended | MySQL 8.0.13+, MariaDB 10.4+ or PostgreSQL 12.0+ |
| Release cadence | Bugfix releases first Wednesday monthly, security releases third Wednesday, new majors about every three years | Only the latest release is officially supported; security fixes backported as a courtesy | Patch releases typically every 4 to 8 weeks; minor versions follow alpha, beta and RC phases |
| Core authentication | Core login plus contributed SAML Authentication (samlauth) and OpenID Connect modules | Plugin-based; no SAML or LDAP option in the supplied facts, so confirm plugin choices and their maintenance | Core LDAP authentication and multi-factor authentication shipped in core |
| Support window | Drupal 10 end of life December 9, 2026; Drupal 7 security support ended January 5, 2025 | Only the most recent 7.1 release is actively maintained | Joomla 5.x security-only until October 12, 2027; Joomla 6.x security fixes until October 16, 2029 (tentative) |
| Automatic updates | Manual, module-by-module updates; plan each major as a migration project | Automatic background updates for minor releases; major release auto-updates on by default for new sites since 5.6 | Confirm the update mechanism and its scope in the Joomla update documentation for your version |
License and editions for each platform
Drupal core and the contributed files hosted on Drupal.org are licensed under the GNU General Public License version 2 or later (GPL-2.0-or-later). There is no paid edition of Drupal itself, so downloading, running, and modifying the core carries no license fee. Costs appear elsewhere: the people who build and maintain the site, the hosting in your own cloud or data center, and any commercial modules or support contracts you choose to buy.
- Core license: GPL-2.0-or-later covers Drupal core with no paid tier to purchase.
- Contributed modules: Modules hosted on Drupal.org are generally GPL as well, but confirm the license on each project page before you rely on it.
- Paid services: Agencies, hosting providers, and support retainers are billed separately and recur with the engagement.
- Commercial add-ons: Any third-party product you integrate, such as a hosted search or a proprietary connector, carries its own license outside the GPL.
- Extended support: Drupal 7 sites that cannot migrate can buy extended security coverage from listed providers, which is a service, not a license upgrade.
Before you commit, confirm the license of every module and theme in your build list and ask any vendor what their service agreement covers after the license terms are settled.
WordPress is released under the GPLv2 or later from the Free Software Foundation, and the core software is free to use. The paid layer is mostly commercial plugins and themes sold by third parties, each with its own license and renewal terms. Hosting, managed WordPress plans, and agency work are separate purchases that recur on their own schedules.
- Core license: GPLv2 or later covers WordPress core with no paid edition from the project.
- Third-party plugins and themes: Commercial products are sold by their authors, and their licenses, update access, and renewal rules differ by vendor.
- Hosting and managed services: Infrastructure, backups, and managed WordPress plans are billed by the host or provider.
- Development work: Custom plugins and theme builds are one-time costs, while maintenance is recurring.
- Update access: Some paid extensions stop receiving updates when a subscription lapses, so check renewal terms before you depend on them.
Before purchase, confirm the license and update policy of every paid plugin or theme, since the core GPL does not govern those products.
Joomla is free and open source software distributed under the GNU General Public License version 2 or later, and Open Source Matters, Inc. holds the copyright. The project has no commercial edition of the CMS. The extensions directory holds thousands of extensions, most of them free, and a smaller set that are paid or carry commercial terms. Costs come from implementation, hosting, and the commercial extensions you select.
- Core license: GPL-2.0-or-later covers Joomla core, with no paid tier from the project.
- Free extensions: Most entries in the extensions directory are free, but the license of each one varies.
- Paid extensions: Commercial extensions are sold by their developers, with their own license, support, and renewal terms.
- Services: Development, hosting, and support come from agencies and hosts, billed by the engagement.
- Governance: The project is run through a board and a foundation with a volunteer community, so no single company sells a supported edition.
Before purchase, confirm each extension's license, support window, and whether it works with the Joomla version you plan to run.
How each project handles security and support windows
Drupal publishes on a fixed rhythm, and your patch calendar should follow it. According to the Drupal core release schedule, bugfix releases arrive on the first Wednesday of each month and security releases on the third Wednesday, with new major versions typically every three years. Drupal 10 reaches end of life on December 9, 2026, and Drupal 12 is scheduled for the week of December 7, 2026. A Drupal 10 site therefore needs a planned move to Drupal 11 or 12 well before December 2026, and the upgrade work itself (contributed modules, custom code and deprecations) is the effort to budget. Confirm the current schedule on the Drupal core release schedule before you set a date, since the calendar is the input your change process will depend on.
WordPress asks you to stay on the latest version, and its security team backports fixes to older releases as a courtesy. Only the most recent version is officially supported, and WordPress.org says only the newest release in a series is actively maintained, so 7.1.3 is the line to track within the 7.1 series. Automatic background updates have applied to core since WordPress 3.7, and newly created sites have automatic major updates enabled by default since 5.6. Plugin and theme auto-updates, however, happen by default only in the special cases the WordPress.org API flags for critical vulnerabilities. Most of the risk therefore sits with the plugins you install, and someone on your team must review plugin updates, retire abandoned plugins and confirm that auto-update settings match your policy.
Joomla splits support into two tracks, and the 5.x window closes sooner than many teams expect. According to the Joomla roadmap, Joomla 5.x moved to security-only support after October 13, 2026 and receives security fixes until October 12, 2027. Joomla 6.x gets bugfixes until October 17, 2028 and security fixes until October 16, 2029. The roadmap labels these dates as tentative, so confirm them on the Joomla roadmap before you commit a budget. Joomla has no automatic core update path comparable to WordPress, so each site owner schedules patches every four to eight weeks, and extension vendors must keep pace with the same window. In all three projects, your patching process and your extension inventory decide how exposed the site is.
What drives the running cost of each CMS
Running cost for all three CMSs comes from the same places: the hosting stack, how often you must upgrade, the extensions you keep current, the people who can operate the site, and what you pay for monitoring and support. The cards below set out who pays for each item, what is one-time and what recurs, and what to ask for in a quote.
Hosting stack and runtime
Each platform needs PHP, a database and a web server, and the versions you must run differ. WordPress.org recommends PHP 8.3 or greater with MariaDB 10.11 or greater or MySQL 8.0 or greater. Drupal 11 requires PHP 8.3 or later and Drupal 12 requires PHP 8.5 or later, and Joomla 6.x requires PHP 8.3.0 minimum with 8.4 recommended. Setup is one-time, but keeping runtimes current is recurring work. Ask your implementation partner which PHP and database versions the quote assumes and who patches them.
Major-version upgrade effort
This is the largest difference in running cost. WordPress applies automatic major release updates to sites created since WordPress 5.6, so upgrades are usually a small recurring task. Joomla 6.x patches arrive typically every 4 to 8 weeks, which means a steady testing rhythm. Drupal major versions arrive about every three years, and Drupal 6 and 7 sites are migrated into a new site with themes rebuilt, not updated in place. Budget for the upgrade project on Drupal and a recurring test cycle on the other two.
Extension maintenance
Modules, plugins and extensions carry most of the ongoing change. WordPress applies plugin and theme updates automatically only in cases the WordPress.org API flags, so most plugin updates still need someone to review them. Drupal contributed modules must be checked for compatibility with each core release, and Joomla extensions must track each minor release. Count the extensions you need now, note which are paid or single-vendor, and ask how many of them the quote assumes you will maintain.
Team skills and staffing
The people who run each CMS shape the recurring cost more than the software does. Drupal usually needs developers comfortable with PHP, configuration management and Drush for upgrades. WordPress has the widest pool of administrators and freelancers, but serious customization still requires PHP developers. Joomla sits between them with a smaller developer pool. Ask who will own content modeling, theme work and upgrades after launch, and whether those roles are internal staff, an agency or a retainer.
Security monitoring and patching
Each project publishes security fixes on its own schedule, and your team or partner must apply them. Drupal security releases follow a fixed Wednesday window, and WordPress security fixes arrive in bugfix releases with backports to older versions as a courtesy. Joomla 5.x moved to security-only support, so sites still on 5.x carry a different patch load than sites on 6.x. Define who receives advisories, who tests fixes, and how fast production is updated.
Support contracts and retainers
Commercial support is optional for all three, because the core software is free, but the cost of having someone on call is not. Vendor-backed options, such as Extended Security Support for Drupal 7 or hosting-provider plans, are paid separately from the software. A retainer covers ongoing upgrades, monitoring and testing, and a fixed-scope project covers the initial build and migration. Ask for the response expectations, what the retainer excludes, and whether upgrades are priced per cycle or included.
What implementing each platform involves
Implementation effort for Drupal is mostly design work done before any code is written. The team models content types, fields, taxonomies, roles and workflow states, then chooses contributed modules for needs core does not cover, such as authentication, search or media handling. Theme work is a separate stream: the front end is built as a custom theme on top of the core rendering layer, so front-end skills and design sign-off are needed alongside the Drupal site builders. Ask any implementation partner for a written scope that lists the content model, the module list with a named reason for each contributed module, and the theme deliverables before work starts. Drupal 6 and 7 sites are different. They cannot simply be updated to Drupal 10 or later. They are migrated into a new site using the core Migrate, Migrate Drupal and Migrate Drupal UI modules or Drush, and themes must be rebuilt because they cannot be migrated. Treat that migration as a new build with its own content mapping and redirect plan.
WordPress implementation centers on theme and plugin selection. The team chooses a theme, decides which plugins provide functions such as forms, caching or SEO, and checks each plugin's maintenance history before installing it, because plugin and theme code carries much of the risk on the platform. Automatic background updates for plugins and themes apply only in special cases chosen by the WordPress.org API, so the team must set an update policy for everything else. A hardening pass should follow the build: restrict file editing in the admin, limit admin accounts, review which plugins are active, and confirm that the server meets the PHP 8.3 or greater and MariaDB 10.11 or greater or MySQL 8.0 or greater recommendations on the WordPress.org requirements page. Confirm with your partner who owns that pass and how it is documented.
Joomla implementation is installation, template selection and extension setup. The team installs the core on a server that meets the Joomla 6.x requirements, selects a template, and then configures extensions for each function, such as multilingual content, workflow, privacy and multi-factor authentication. Core already ships several of these functions, so the first decision is which needs the core covers and which require a third-party extension, along with that extension's maintenance record. Extension and template setup is the largest recurring risk in the build, so require a list of every installed extension with its version and source in the handover. Because Joomla 5.x bugfix support has ended and its 6.x line has its own dated support windows, confirm the version you will install and the upgrade path before the project starts, and put that path in the written scope.
Questions buyers ask before hiring outside help
What drives the cost of building a site on Drupal, WordPress or Joomla?
The biggest cost driver is the scope of the content model, integrations and custom work, not the license, because all three CMSs are free to download under open-source licenses. Drupal's GPL-2.0-or-later license covers core and contributed modules, and there is no paid edition of Drupal itself, so you pay for design, development, hosting, and ongoing maintenance. WordPress (GPLv2 or later) and Joomla (GPL version 2 or later) follow the same pattern. Ask each vendor to price these items separately: discovery, content modeling, theme or template work, module or extension selection, migration, hosting setup, and a recurring maintenance plan. Extension licensing is the item most often missed, so confirm which paid add-ons, if any, the scope requires.
How long does a CMS implementation take, and what sets that duration?
Duration depends mainly on how many content types, user roles, languages and integrations the site needs, and on whether content is migrated from an existing system. A brochure-style WordPress or Joomla site with a standard theme generally has a shorter path than a Drupal site with custom content types, workflow, multilingual publishing and single sign-on. Theme rebuilds take time in every platform, and Drupal 6 or 7 sites must be migrated into a new site rather than updated in place, which adds a migration phase. Ask for a written timeline tied to named deliverables and a clear list of what the client must supply, such as content, approvals and test accounts. Avoid any quote that gives a duration without a scope it depends on.
What does the work need from our own team?
Expect your team to supply decisions and people more than code. Content owners need to define content types, editorial roles and approval paths, and your identity team needs to confirm how users sign in. Drupal implementations typically need someone who can own configuration, contributed modules and deployment pipelines, while WordPress and Joomla sites often need a named administrator for plugins or extensions and their update schedule. Your infrastructure team should confirm the hosting stack: Drupal 11 requires PHP 8.3 or later, WordPress.org recommends PHP 8.3 or greater, and Joomla 6.x requires PHP 8.3.0 minimum with 8.4 recommended. Ask the implementation partner to document which skills must stay in-house after handover.
Can our team run each CMS without outside help after launch?
A team can run any of the three without outside help if it has the skills and time to handle updates, security monitoring and hosting. WordPress has the lightest day-to-day routine for many teams, because its automatic background updates are enabled by default for newly created sites since WordPress 5.6, though plugin and theme updates are applied only in special cases. Drupal asks more of the operator: its bugfix releases come on the first Wednesday of each month and security releases on the third Wednesday, and each major version is typically released every three years. Joomla patch releases typically arrive every 4 to 8 weeks. Be honest about staffing: if no one on your team can own a PHP application, plan for a retainer rather than an ad hoc fix.
How do upgrades differ between Drupal major versions and WordPress or Joomla updates?
Drupal major versions are a planned project, while WordPress and Joomla usually move through smaller updates. Drupal 10 reaches end of life on December 9, 2026, and Drupal 12.0.0 is scheduled for the week of December 7, 2026, so a Drupal 10 site needs a plan for a move to a supported major version. Drupal 6 and 7 sites cannot be updated to Drupal 10 or later and must be migrated into a new site, with themes rebuilt. WordPress 7.1 was released on August 19, 2026, and only the most recent release in the 7.1 series is actively maintained, so keeping up with point releases matters. Joomla 5.x moved to security-only support, with bugfixes for 6.x until October 17, 2028. Ask each partner to price the upgrade path for your current version, including modules or extensions with no supported successor.
What should we ask for in a written quote?
Ask for a fixed-scope proposal that lists deliverables, assumptions, exclusions, timelines and acceptance criteria before work starts. DeployOpen works from fixed scopes agreed in writing, and it does not publish a price list, so a quote follows from that scope. Ask each vendor to separate one-time costs (discovery, build, migration, testing, documentation and handover) from recurring costs (hosting, support, security updates and upgrades). Request a list of every third-party module, theme or extension, its license and who maintains it. Confirm what happens when a major version reaches end of life during the project, and who pays for the change. Also ask for the named roles who will do the work and how changes after sign-off are priced.
Which CMS has the most mature security response process, and does that change the outside help we need?
Each project publishes its own security process, and the answer changes how much ongoing review you buy. The Drupal Security Team and its security release windows apply to core and contributed projects, while the WordPress Security Team backports critical fixes to older versions as a courtesy and includes more than 50 trusted experts. Joomla's security fixes are published on its roadmap with dated support windows. Regardless of the platform, risk usually sits in third-party modules, plugins and extensions, so ask your partner to inventory them, set an update owner, and confirm how security advisories reach your team. Compare these processes in detail on the security comparison page before you sign.
How DeployOpen helps choose and implement a CMS
DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a Drupal, WordPress or Joomla decision, that means working from your content model, editorial workflow and hosting constraints before any platform is chosen or installed.
How we scope
- Map content types, editorial roles and multilingual needs before comparing CMS options on fit.
- Document the PHP, database and web server versions your hosting stack must support.
- Agree the written scope, deliverables and timeline before any build work starts.
- Confirm the release and support windows your team must plan around for each candidate.
How we build
- Install and configure the chosen CMS in your infrastructure, with the extensions you approved.
- Integrate identity, such as SAML or OpenID Connect where the platform supports it, and verify the modules involved.
- Harden the site, test the update path and run security testing against the public-facing application.
How we hand over
- Deliver documentation covering installation, configuration, extension inventory and the upgrade runbook.
- Set up backups and restore testing so your team can recover the site without outside help.
- Walk your administrators through editorial, patching and release procedures against the agreed scope.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- Plan major-version upgrades, such as moving between CMS releases, as a separately scoped piece of work.
- Ask any implementation partner to confirm in writing who patches extensions and who owns the upgrade calendar.

