Going Off-the-Shelf: WordPress vs. Craft vs. Drupal vs. Shopify
Megan Zlock, Former Front-End Development Director
An assessment and comparison of the popular content management systems WordPress, Craft, Drupal, and Shopify.
After reviewing some facts about Craft's security features, I've down-graded WordPress's security rating from "Great" to "Good" out of comparison to Craft. I'd like to give Craft an "Excellent", but I feel that the age and lower usage of the platform make it hard to justify that mark in relation to Drupal.
So, you’ve decided you want to use an off-the-shelf solution for managing your website’s content. That is to say, your business or organizational needs fit into the typical constraints of an off-the-shelf content management system (CMS) and you know you won’t need to go custom-built. (Still unsure about that? Check out Ryan’s comparison of the two approaches.)
You’ve made it this far, but there are certainly a lot of options to choose from. And each choice for a CMS can have some direct influences on your website and your business. So, let’s take the most popular products out there and break this down a little (keep on scrolling for some more in-depth comments):
|Support, Community and Notoriety||Excellent||Good||Great||Great|
|Features and Add Ons||Excellent||Great||Good||Good|
|Ease of Use||Great||Excellent||Poor||Good|
1 The stability and security metric assumes that you keep your CMS updated to the newest version.
You’ve probably heard of WordPress already, as it has a large community and is used for a staggering 25% of websites. Yes, that’s a lot of sites. But is WordPress right for your site?
WordPress’s power comes from its ability to create a site with a specific structure very quickly. If you need a website for your business that is 5 pages and a blog that needs to be up tomorrow, WordPress is your go-to. There are also an incredible number of plugins and add-ons, so you can add things like integration with your CRM platform in just a few clicks. You can also pick from a huge array of WordPress “themes” (some free, many you have to pay for) to determine the look and feel of your website. The better ones include some great customization options.
WordPress Multisite is also a great product for many small sites that need some level of connection and shared administration. I’ve seen it used well for multi-location events like travelling conferences. Each site (e.g. conference location) has the same pages and structure; they just need a little tying together.
Where WordPress gets a little shakey is sites with more unique content and data relationships. Many, many sites on WordPress fit into that 5-pages-and-a-blog model, so that is what out-of-the-box WordPress is optimized for. From there, WordPress can be customized and molded to an incredible degree serving enterprise and small businesses alike, but it does take effort to do so. Be prepared to spend smartly and get a team who knows how to work with the platform well and utilize its best features. There are many “WordPress experts” out there who can build you a site, but results (and maintainability of your site thereafter) will vary.
On one last note, I must say: Beware of overusing Plugins with WordPress. While powerful and one of the best selling features of WordPress, they can also be your worst nightmare. Using too many at once can kill the maintainability and performance of your site. Each plugin added is a failure point. The plugin developer could stop supporting the plugin, the plugin could stop working with a WordPress update, it could have shipped with a security flaw, etc. If you need 20-plus plugins to run your website, then a different platform (and maybe a custom solution) may serve you better.
WordPress offers regular updates approximately once or twice a month. Remember to update as often as possible to avoid security vulnerabilities. Make sure your plugins still work with every update.
WordPress is very reliable. Look out for hacking attempts which can cause some problems. Since WordPress is used so much, it is a high-profile target for hacking.
Adoption and Development Effort:
Low - Medium Effort. If you don’t have a tech team and are fine with the look-and-feel of an existing WordPress Theme, then you can create your website yourself. WordPress is well-documented, and a small development team can learn how to implement a custom theme very quickly. PHP knowledge is recommended, but not required.
Unlike WordPress, you may not have heard of Craft. And that, I think, is highly unfortunate. As we’ve blogged about several times before, we love Craft here at Viget and tend to prefer it over WordPress.
Craft is really amazing when it comes to ingesting, displaying, and relating whatever kind of content you can throw at it. It doesn’t matter if you have just a simple blog, curated portfolio pages with custom designs, or complex relationships between your organization’s mission pages and the rest of your content. Craft can handle that beautifully.
Added bonuses for content editors are Craft’s Live Preview and Matrix features which are included in the core platform. The Live Preview is exactly what you’d expect – you can see your page change live as you edit the content. No more opening a preview in a new tab; Craft shows you your changes with a minor 1-2 second delay in the same window. I won’t go into Matrix fields except to say that we’ve used them to great effect to make page builders for our clients. You can start with a completely blank page and use pre-created building blocks to build up what you need and only what you need on a page. Need a new block? A new page builder block can be added with far less effort than re-designing a whole page AND you can then use that new block on any other page. Granted, other platforms can achieve this flexibility as well, but only with a plugin or add-on.
However, you cannot spin up Craft nearly as quickly as WordPress. Craft is really meant for one-off custom websites and takes some tailoring during set-up. This is usually a plus since this model gets around some of the pitfalls of WordPress development, but it does mean you will not have a new site within 24 hours. Complex functionality might also take a little while since Craft doesn’t have the plugin pool that WordPress does (although this is growing). If you go with Craft, get a development team, give them a few weeks, and you’ll have something amazing.
Craft updates are near-constant and are very small and safe unless it’s a big version change. As with WordPress, update as often as you can while checking your plugins.
Craft is a newer platform, so there is the occasional hiccup with the system. Usually bugs are fixed quickly in their fast update cycle. Also, get hosting with higher memory allocation (minimum 2GB RAM) since Craft’s behind-the-scenes tasks can hog memory.
Adoption and Development Effort:
Medium Effort. Craft is incredibly easy to learn and requires no PHP knowledge (unless you need to write a plugin). A front-end developer or two can easily manage development for a Craft site with little training, but will need time to build from scratch.
It is worth noting that, unlike WordPress and Drupal, Craft is not free. Well, you can go with the Personal License for free, but that limits you to only one user account. More practically, you'd most likely end up with the Pro plan which is a one-time $299 license fee that covers you for life. If you want to read more about Craft's licenses, check out their pricing page.
I’m including ExpressionEngine (EE) on this list, but only as a foot-note to Craft, unfortunately. Craft was built by former ExpressionEngine add-on developers, so Craft borrows a lot from how EE works. In fact, Craft covers pretty much any use-case you would have for EE and is much easier to use. For those who are already on EE, the platform has been continuing to update and improve, but I wouldn’t recommend ExpressionEngine on a new site build whenever Craft may be an option.
Drupal is a complete beast when compared to the other content management systems on this list. It is highly customizable and very powerful when you know what you’re doing (and have some money to throw around on plugins and hosting). You can do a lot with Drupal, but working with it can be an art.
Like WordPress, Drupal comes with a lot of Plugins and add-ons, which they call “modules.” Modules mean you can drop-in sections of pages that are pre-built and are almost ready to go. This is great when you want to add content and features quickly, and Drupal allows for some pretty flexible set-up, especially with the Page Manager Module. BUT, drop-in modules only get you so far; while they give you a starting point, expect plenty more work to be done to use, customize, and style a module.
As you may have gathered, Drupal is powerful but has a really steep learning curve. Drupal Core (the minimum feature set) does only so much on its own, so knowledge of available modules is key. And then on top of that you have to be ready to customize those modules. If you choose to go with Drupal for your website, you’ll want to find an experienced team who is well-versed in Drupal development. Training your own staff to work with it might take some time. This becomes especially important when you approach the point in time where you may need to update Drupal. Small updates are released often, but larger version updates (like the current conversion from Drupal 7 to Drupal 8) can take a lot of time and effort and be very painful. All those essential modules need to get updated as well and it can become a real nightmare in the wrong hands.
Note: WordPress and Drupal have similar issues with updating and using too many modules/plugins. However, in Drupal, modules are vital to build your site, so you’d be doing yourself a disservice to restrict your module usage. Try to pick popular, well-maintained modules when you can to make things easier later. Or build your own and maintain them yourself. Luckily, Drupal doesn’t hit the same performance and bloat issues as WordPress the more modules/plugins you pile on.
Drupal updates are somewhat sporadic and cover several versions. Small updates are fine, but be ready to invest a lot into whole version updates (like moving from Drupal 7 to 8). New Drupal versions are only released every few years, so you’ll likely need a redesign when the next one comes up anyway.
Drupal is very stable with caching set-up correctly and is built to scale for very large, heavy-traffic sites. That is, if you're ready to spend a pretty penny on hosting. Host with a Drupal specialist hosting company to best take advantage of their stability.
Drupal is also very transparent and vocal about any security updates.
Adoption and Development Effort:
High Effort. Drupal has a very high learning curve which surfaces to most everyone who uses it, from developers to content managers. Get a team that specializes in Drupal development to succeed with this platform. Their community has been in somewhat of a decline, but Drupal 8 which released late 2015 could bring it back in full-force. Don't expect a Drupal 7 team to switch to Drupal 8 too quickly though, as they've revamped a lot of the platform so it's almost a new system.
When thinking about content management systems, Shopify might not cross your mind at first. In fact, it is a little bit of an oddball to compare to these other systems, but I think it’s worth a mention. If the core of your business is products and sales, then Shopify is a great place to start. It acts as a great shopping platform with all of the tools you need as a business owner built in: order fulfillment, optimized shopping cart experiences, reimbursements and coupons, payment processing, etc.
Some think of Shopify as an add-on. Of course that reputation is justified: you can use Shopify for just your Cart experience and then connect to any of the previous platforms with plugins and modules. But Shopify can do a lot on its own too. Like WordPress, you can choose from existing themes with some customization options or have a developer make a custom theme for you to personalize the look-and-feel.
Where Shopify gets a little funny is if you want to have a larger site with more custom functionality. If your site is just products, categories, and a few one-off pages, then you’re all set. But add unique content and you’ll have to hunt for a plugin that suits your needs, which you may or may not find. Shopify’s templating is also very rigid. Themes dictate what content displays on a page and there is little you can do as an administrator to add or remove sections of your pages.
Note: The monthly price of Shopify might be scary (you’d probably need at least the Basic $29/month plan at minimum), but keep in mind that includes hosting fees and support; costs that are not included with the other platforms. There is also an Enterprise version, Shopify Plus, which can range into the thousands of dollars per month. Now that number really is scary, but it does include dedicated support, scaling for high traffic, and an Account Manager.
Shopify is constantly making improvements and, because their platform is Software as a Service (SaaS), updates are pushed to your site as soon as they’re available. However, you may want to keep up with their blog so you’re aware of what updates are coming. They have on occasion updated the Shopping Cart experience (over-writing any custom styles you may have put in place). Overall, those changes are for the better, since they put a lot of research into the optimal cart experience.
As a Software as a Service, Shopify is in charge of keeping your site going. They claim a 99.99% uptime as one of their features.
Adoption and Development Effort:
Low - Medium Effort. One administrator can easily set up a Shopify website if s/he is happy with an existing theme. Once you get into custom themes, then picking up a front-end developer will do. Setting up the development and deployment structure with your tech team is a big hassle (and only one developer can actively work on it at once), but actual theme development is not difficult and easily learned.
Unlike the other options on this list, Shopify is a SaaS and requires a monthly fee. Check out their pricing tiers to see what might be right for you.
WooCommerce, Craft Commerce, Drupal Commerce
As a foot-note to Shopify, be aware that WordPress, Craft, and Drupal all have their own eCommerce solutions. WooCommerce is one of the most popular eCommerce plugins for WordPress, Craft Commerce was just released for Craft, and Drupal has Drupal Commerce as its big eCommerce option. So don’t feel tied to Shopify if eCommerce is your thing. Try to decide based on the needs of your whole web presence and which has the best tools for your business needs.
Hopefully this run-down was helpful! Of course, there’s only so much I can convey in one blog post, so you’ll have to weigh the options on your own to figure out what might work for your specific needs. You can always give us a shout if you need some help deciding.
Remember to factor in hosting and maintenance costs which will be a factor on any platform. And think about your website’s future and everything you might want it to do three years from now rather than just your immediate needs. Platform decisions will stick with you for a long time to come and can shape a lot of how customers see your business or organization.
If nothing seems to quite fit your unique problems, then maybe a custom solution is the right choice and will pay for the added effort over time.