I want to cover a debatable topic: WordPress vs Drupal. If you had to pick just one Open Source CMS for your next project would you know which one to use?
Before we begin I want to make it clear that this is a very brief comparison. Knowing which is better or worse is not the point. The point of this series is to point out the holes in both. So, during your next project you can pick the one that fits your needs.
Before we begin I want to make it clear that this is a very brief comparison. Knowing which is better or worse is not the point. The idea is to point out the holes in both. So, during your next project you can pick the one that fits your needs.
Also note that this post does not regard stand-alone installations of Drupal or WordPress. The idea of comparing them without taking into account community add-ons is pointless and biased.
According to the Masses
WordPress runs a number of blogs and fully customized sites as a CMS, around 60,000,000.
Half of these 60,000,000 belonging to wordpress.com leaving 30,000,000 as the top choice of hosted websites. WordPress by far is the most popular CMS for running websites. Drupal on the other hand doesn’t run as many sites, around 500,000, but numbers mean little when it comes to the truth.
- First, these numbers are reported by WordPress and Drupal.
- Second, they are incomplete. Not every site reports its existence.
Still, there is no debate. WordPress rocks the house in popularity.
Content management is the next thing to look at. How easy is it to add, edit and delete your information? You can almost define this section as usability.
Out of the box the admin in WordPress is much more usable than in Drupal. For example, in WordPress:
- Content is searchable in the list view
- Media has management
- Built in WYSIWYG Editor
- You can easily get around the admin pages
In Drupal you need modules to do these things. But they are still possible. It just takes some work.
This is the idea behind Drupal. You want everything to be a module. You cannot miss this point.
So, with this in mind, both have the features to get around. The implementation is the difference.
However, because Drupal requires outside modules for these usability features the admin feels disjointed. It is simply not as user friendly as WordPress. There is no argument on this between the two.
Therefore on User Interface and Content Management:
- WordPress is light and streamlined for users and clients. It’s a tricycle.
- Drupal is robust and crafted for webmasters. It’s a unicycle. Great if you are going to manage the content.
Search Engine Optimization
SEO is the high point of Content Management Systems. All do this well. Drupal has the modules to support it. WordPress does as well. So there is no real debate on who is capable. And to be honest, SEO has more to do with doing and knowing what is best.
Both systems have
- Good URL naming tools: Friendly or Clean URLs.
- Meta tag plugins or modules. Description, canonical and the like.
- Social media tools
- Control of Semantics.
- Ability to add Meta data. Micro Formats for example.
- XML Sitemaps
The only snag you will run into is the fact that Drupal lacks choice. It is also painful to setup SEO for Drupal. Specifically, version 7.
However, these are not real problems because you can still have the features. It is an implementation issue.
WordPress suffers from the opposite. There are too many SEO plugins and those for social media. You can spend as much time looking with WordPress as you do setting everything up in Drupal.
Once you find the WordPress plugins that work, you will not need to look again.
This is a painful and long topic. So, to be fair, I’ll keep it short.
- Fail at Object Oriented Programming.
- Give you an amazing amount of Hooks. Drupal more than WordPress.
- Have great asset management. WordPress more than Drupal.
- Make it super easy to create custom fields and content types. They both have plugins for creating them and are very thought out. Yes WordPress has them too.
- Have powerful Multisite capabilities.
- Have an extremely similar theming file structure implementation. It’s scary.
- They have powerful caching tools. You should use a CDN for both and cache pages.
- Are licensed under the GPL.
- Both have great plugin development options. Again hooks.
- Backing up your site is also possible. However, this has more to do with implementation.
- Theming is incredibly easy. You get full control of your HTML.
- Some functions start with “the” making them nouns. Bad practice. Developers will get this.
- Querying content is very easy and customizable.
- Easy to manage theming of different post types.
- Very good taxonomy capabilities. Really easy to use.
- The Views Module is extremely powerful. Theme without touching HTML but it is hard to control your semantics for this reason. There is a module for that though.
- Control of HTML is not user friendly. Painfully so.
- Painful but powerful overriding system to change output.
- Very painful taxonomy implementation if you are not a seasoned pro.
The list could be more comprehensive but these are the core items. The most important of them listed.
For coding WordPress has a robust template system. This gives developers and designers full control of the HTML and design.
Drupal gives developers an environment to do anything with content. The views module specifically makes WordPress look weak when it comes to setting up complex data structures on the fly.
Drupal does a great job of letting you use any number of themes at the same time. WordPress gives you child themes but this is not the same as multi themes.
In Drupal it is also very easy to customize the admin with its own theme. WordPress on the other hand is not known for such.
However, it is rare to need more than one theme and WordPress has many options for branding the admin theme. So, the idea that this makes one better is subjective.
Module and Plugin Management
WordPress has a lot of cool plugin features. Drupal has just as many. Managing them is another story all together.
As stated before Drupal is very robust. Drupal is also very module heavy for this reason. This means you will have an unreal number of modules for even the most simple of sites. Keeping them up-to-date and organized is close to impossible.
The irony of this is the fact that there are modules to help with the management of modules.
With WordPress you may only have a handle full. So, keeping take of them and making sure your website is up-to-date is normally pain free. Unless the plugin you have was made by a not-so-savvy developer.
Permissions and User Management
When it comes to permissions and user management Drupal pulls a Chuck Norris and gives WordPress a roundhouse kick to the face.
Drupal has many excelling properties
- Modular control over content access.
- Feature permissions are modular.
- Roles are well thought out and flexible.
- Modules for restricting content, node, menu and path access.
- Rights are a mess. They are mixed into both users and roles like noodles in spaghetti.
- Content access controls are limited. Almost none existent. Limited plugins for this too.
- User rights are simple to set and not complicated.
It is disappointing to see WordPress suffer on this one front. However, there is good news.
The development team that manages the code of WordPress is working hard to completely recode and fix users and roles. This will happen soon.
If there is one thing Drupal has over WordPress it is drush. Drush is a command line tool that makes doing anything in Drupal super sexy. You can create backups, update your entire site with one command, check module versions and so much more.
Drupal is a developers dream and extremely flexible platform from creating complex systems.
Future Versions and Upgrading
This is a sticky subject. The future is unknown. But we do know this. WordPress has a future and will continue to grow.
WordPress has a strong grip on the design community. It is simple to use. Can be updated with a few clicks.
I have not seen many cons to WordPress when it comes to updates. There are many, mainly for security, but it has not been an issue. Still, WordPress has some major holes like with roles that will cause big issues in the future.
Drupal on the other hand can be painful to update. This is especially true if you neglect drush. As far as new versions go, Drupal has also had a falling out recently. Drupal 7 being the source.
Many, like me, choose to continue in using Drupal 6 until the next version comes along. This is not a bad thing.
In 7, Drupal has seen some huge changes to its “core” modules and code base. This includes Views, the now core CCK and many more.
Simply put. It is going to take the Drupal community a while to settle in. I don’t think this will happen until Drupal 8 or 9. I personally consider Drupal 7 the Windows Vista of Drupal.
7 has some great features, don’t get me wrong. They are game changing. But, like Windows Vista, things need to be ironed out. They will be.
Drupal has a future and will continue to grow.
WordPress is best for sites that do not require limited access and complex user groups. Basically, the majority of websites. Which makes since of its popularity.
It is easy to use, manage and maintain. From sites with millions of page views to just a few, WordPress is a favorite. CNN trusts WordPress as its content management system.
Drupal is the king of complex sites and is the developer’s friend. You will find no better Open Source tool for making robust websites. Twitters development site runs on this system and it works well.
Again we find that this is a matter of picking the right tool for the job at hand. Just remember. Some projects grow and thus need to scale while others do not.
I will continue to use both WordPress and Drupal. You should use both too.