Drupal 8 was officially launched in November, 2015. We have been fortunate to test Drupal 8…
Wordpress vs Drupal
This article was originally published in 2011 and has been updated for 10 years now! Some web development best practices, or rather, common practices, have changed during that time. This article is updated frequently as we hands on uncover differences between Wordpress or Drupal.
When we first started developing sites in 2007, every site we built was with WordPress. At that time, these sites were smaller and WordPress was evolving from a blogging platform to a full fledged content management system (CMS). The sites that we were developing had very minimal content types and the general WordPress page content block was sufficient to give our clients a clean page admin experience. Note: we often refer to the “admin” as the password protected web portal where clients update their content.
The saying is very true “if the only tool you have is a hammer, everything starts looking like a nail”. We were in love with Wordpress. It was such an easy to use platform, for both content editors as well as for developers. It was simple and did the job. We were active in the Wordpress community, hit up all of the WordCamps that we could, and even hung out at the Automattic office, back when it was on the unstable pier in San Francisco.
Along the way, our client roster grew and we encountered needs for more content types, a richer admin experience, and a more Enterprise Level CMS. That is when we started developing sites with Drupal. Today, we're an Acquia partner and spend our conference time at DrupalCons. We always have had Wordpress sites in our client portfolio and have had a very unique history of watching both Wordpress and Drupal evolve. We sponsor both Wordcamps and Drupal camps and do our best to support both communities.
Compared to WordPress, Drupal is an absolute beast! Drupal’s taxonomies and core structure took us a while to get used to. However, after building numerous sites with Drupal, we slowly and surely came to love Drupal as the CMS of choice for Enterprise level websites and web applications. If you have a web app, or any type of web project that requires user permissions, Drupal’s functionality is hardier than WordPress. Drupal is also more flexible when it comes to API development and its default caching features are more robust out of the box.
In this article, we will analyze key differentiators between the two CMS’s and help steer you in the right direction towards which is right for you.
Security is hands down the biggest differentiator between WordPress or Drupal. Drupal has enterprise level security and site scale. Numerous government websites are built with Drupal, with the poster child as Whitehouse.gov for many years. As time has progressed, Whitehouse.gov is now a Wordpress site! In fact, Whitehouse.gov is on its second administration as a Wordpress website.
With WordPress, hackers can target a vulnerability inside a plugin and wipe out hundreds of thousands of sites. There’s some street cred behind the damage that can be done to the WordPress ecosystem.
Sucuri, the foremost authority in malware removal and web security, stated in their hacked website report that Wordpress sites were 90% of all infected sites. To be fair, I'm sure that many of these sites were neglected "old beaters" who did not have any updates for many years.
In 2021, we have seen a rise in malware and vulnerabilities that stem from paid plugins. Specifically, from page builder add-ons. We will discuss page builders below. Paid plugins is a common business model for Wordpress; whereas for Drupal, we've never once purchased a paid plugin that was worth its weight.
Within the past few years, there have been a rise of platform specific hosting applications that help manage your security risks. For Drupal, our favorites are Acquia and Pantheon. For WordPress, WP Engine was one of the first to offer a managed WordPress platform and is our recommended Wordpress platform for all our Wordpress clients. Most security vulnerabilities happen at the server level, and hosting with one of these companies will help mitigate against waking up to a mess.
Responsive Design and Development
For responsive design and development, one element that you need to fully understand is how your images will be managed. With responsive design, images don’t just automatically scale perfectly to each break point. Both CMS’s have solutions to responsive images, but they take different tracks.
With WordPress, image sizes per break points are declared in the functions.php file.
**Beware, some themes will scale with images with CSS and this can lead to performance issues ***
With Drupal, you can set image sizes inside the admin by using the Image Style module. This does take a bit of setup time but your work can be done inside of the admin instead of php files.
On the bright side, both CMS’s have plugins or modules that provide legacy support by allowing you to regenerate your previous generated images. If you are building a new theme and will need to regenerate many new images, the regenerate thumbnails plugin is a handy little tool.
As far as the actual “design” aspect, both CMS’s are design agnostic and you can design your templates however you like. We often hear "I don't want my website to look like a Wordpress site". This statement's origins is that many brands will use the same templates; or design patterns, that their layout has become synonymous as a Wordpress website. In actuality, you can design and build a Wordpress website however you deem fit.
Both CMS’s have starter responsive themes that can accelerate your development time.
Mobile Theme or Mobile Development
If your site strategy calls for a dedicated mobile theme, both WordPress and Drupal have nice starter themes to help your site get to market quickly. WPTouch has been a tried and true solution for WordPress, and there are plenty of Drupal mobile starter themes available on drupal.org
Edit: Very rarely will you need a completely separate mobile theme, as compared to a responsive strategy. If you do need to have responsive overrides, both CMS's are capable.
As far as content editing on a mobile device, WordPress has an native mobile app. This app is awesome if you are updating your blog in real time. Drupal does not have a native app, but Drupal 8’s admin is responsive and executes a solid mobile first strategy.
Search Engine Optimization
I’ll put to bed the concept that WordPress sites rank higher than Drupal sites. SEO is platform agnostic and there is not a particular SEO advantage towards either CMS if it was developed using best standards. However, Drupal sites can go terribly bad if the developer did not know what they were doing. WordPress has less margin of error.
Consider these factors when perfecting your on-page optimization.
- Page load times. Drupal’s default caching features are very robust out of the box. WordPress has caching plugins which should be utilized. Wordpress's caching plugins, such as WP Fastest Cache, are very customizable and include nice features such as image optimization and a CDN. We can't emphasize enough the importance of a fast loading website, both for SEO and for usability.
- Page structure. Drupal sites can suffer from "divitis", or the impact of views that create a large, nested view structure. In 2021, Google's Core Web Vitals initiative encourages a cleaner DOM (html page structure). Both Wordpress and Drupal have mega menu builders, and off the start, mega menus can add a lot of bloat to the page. Wordpress's page builders such as Elementor can also add a lot of page bloat.
- Schema.org implementation. Schemas can be added to Drupal’s views, or hard-coded to template files. The same process works for WordPress.
- Content Delivery Networks can be integrated with either content to serve assets to the closest local distribution point. Many hosting platforms will offer (or even include) a CDN with even the base subscriptions.
- Pretty URL's. Drupal does have a massive advantage in URL rewriting as compared to Wordpress. With Drupal, the sky is the limit with your URL structure. You have full flexibility over your alias patterns, including categories. Categories in Wordpress have limitations. Also, if you ever setup a directory page on Wordpress (ex: /directory/page-name), without actually selecting a parent page, this will cause bugs.
Come year 2023, the last thing you want to do is hop in the DeLorean to go back to the future to change your mind on your CMS.
Understand some core concepts:
WordPress: The code is upgradable but the database requires an upgrade which is done seamlessly in the background. WordPress’s release schedule is about every 3-4 months. Some platforms, such as WP Engine, will update core within 48 hours within a release. You will have to update plugins, when available, but this is an automated approach to keeping with security best practices.
Drupal: The Database is upgradable and the code is not. Upgrading from versions, for example, Drupal 7 to Drupal 8 are more intensive and usually revolve around a re-design. In other words, the content that is stored inside the database will be able to be migrated to the latest version, but most of the code will need to be re-written.
Drupal 9 does provide massive future proofing abilities for Drupal. The upgrade from Drupal 8 to 9 does not require a complete code upgrade. This structural improvement towards updating Drupal sites has been a massive win for the Drupal Community. As of July, 2021, is still a decent amount of community modules that have slowed down the adoption for Drupal 9.
Matt Mullenweg had a great interview on Smashing Magazine describing how in the future, he would love if you didn’t know that you are using WordPress. WordPress’s market share is so strong that this could very well be the case.Quite frankly, there’s a Tumblr (whose interface is the simpliest of all), or even Instagram may be competitors). Interesting enough, Automattic purchased Tumblr in August, 2019.
I do think that WordPress will continue to own the blogging, small website market and continue to make dents into the mid/small enterprise market.
Acquia, the founder of Drupal, positions itself against Enterprise and proprietary CMS’s. They have invested in the “personalized web” and has very nice products such as Acquia Lift and Site Studio. This is a testing, targeting and reporting platform that is built into your Drupal installation. It is comparable to Optimizely but has some additional targeting capabilities. Acquia was recently purchased by Vista Equity Partners in a deal valued at 1 billion dollars.
If we’re in a scenario where a new client is debating WordPress or Drupal, we often hear the argument that Drupal is too hard to learn or is impossible to update. If the stakeholder has used WordPress before, they will favor WordPress. They always favor Wordpress!
We often compare this favortism to the famous Pepsi and Coca Cola blind taste test. Pepsi won due to the fact that Pepsi is sweeter. Wordpress can be considered sweeter due to the fact that Wordpress can require less thinking. I believe this reasoning stems from the fact that Drupal nodes have relationships and dependencies. This means that a chunk of content has the ability to appear throughout the site, not just on one page. You have to think “Ok, if I publish this piece of content, will it show in other places”. There are taxonomies, content types, blocks, views, etc. that leads to a learning curve with Drupal. I really think that this process can be intimidating to newbies and lead to displeasure with Drupal.
Ambitious Digital Experiences
Acquia coined the phrase "Ambitious Digital Experiences". This phrase rings very true to the point of Drupal websites and its marriage to the Enterprise. To have an ambitious digital experience, you often need the following:
- Integrations with 3rd party systems connected through an API or web services. Common 3rd party systems are Ratings and Reviews providers such as Bazaarvoice, CRM systems like Salesforce or Eloqua, and Site personalization software (Optimize, Interaction Studio, etc)
- Single sign on services to allow for easy authentication and user management.
- Advanced caching strategies and performance optimization.
- Customer experience management integration.
- Different Authenticated user roles and permissions such as site admin, content editor, access to private content.
- Multi site or Internationalization
- ADA and section 503 compliance.
- Enterprise security.
Wrapping up, other differences between WordPress and Drupal include:
- Theme Market: WordPress has an amazing theme market for do-it yourselfers. Do not ever buy a Drupal theme! There are amazing Drupal starter themes but Drupal development is not the type of project that you can spin a theme off of. It is custom development!
- Market Share: WordPress has wide scale adoption and a plethora of plugins that are suitable for smaller websites.
- Deployment Time: WordPress is very easy to develop a site from start to finish. WordPress is perfect if you have minimal content types and are building a general (brochure-like) marketing website.
- Content Types: Drupal supports multiple site stakeholders (admin, editors, logged in users requiring customized content, private groups, etc)
- App Development and API Development Projects Drupal has, in general, more robust features for complex projects. Drupal 8′s web services integration takes this feature to the next level.
- Multi-lingual: Multi-national or multi-lingual sites can be easily deployed with out of the box drupal features.
- Theme switching: As websites mature, you may want to display different themes on a website. A use case would be that you want to show newer layouts on some sections of your site, while you leave an older theme on a different section of the site. Drupal does a very good job of "theme switching". For Wordpress, this can be very difficult, especially if you already have a parent-child theme relationship.
Most developers will recommend the CMS that they are most familiar with without considering the site’s needs and objectives. Knowing which CMS is right for your project will ultimately save you both time in money, both now and in the future.