Magento, WooCommerce, Drupal Commerce, and Craft Commerce are four of the most exciting ecommerce platforms available today, in a sea of seemingly limitless options. In this post, we’ll be thoroughly dissecting the various aspects of each technology in order to reach a final conclusion as to which is the best, and why.
Note: There are some simpler, more beginner-friendly alternatives on the market such as Shopify and Squarespace, but these act more like services than standalone platforms and do not allow for the same level of customisation, flexibility and freedom as those that we’ll be focusing on. With such SaaS solutions you’re doing it their way, on their servers, and according to their rules, so you don’t have the same level of control over your shop.
Pricing
Drupal Commerce and WooCommerce are both free and open-source with zero associated costs, whereas Magento is a little more complicated, coming in with two seperate versions: ‘Commerce’, and ‘Open Source’. The former starts from around $22,000/year, while the latter is free. The free edition is a perfectly capable, fully-extendable ecommerce platform, powering many popular sites such as PrettyLittleThing and the V&A, though it’s missing some of the more advanced features offered by the premium edition, such as a rewards program, content scheduling, and an elastic search implementation. Craft Commerce slots somewhere in between, with a yearly fee of $299 for Craft CMS itself ($59/year for ongoing updates), and a further $999 for the Craft Commerce plugin ($199/year for ongoing updates).
Ease of use
Drupal and Magento are notoriously complicated, and come with a steep learning curve. This is not helped by their complex administration interface, though this has improved somewhat with the release of Drupal 8 and Magento 2. Even so, many of their more advanced concepts still take a lot of time to grasp and grow accustomed to, and from our experience, some will never get the hang of them. This can turn out to be particularly problematic when content editors attempt to make changes and consistently manage to break the site.
Craft is by far the most elegant of the four solutions when it comes to the admin UI, with a fresh, clear, modern design. Everything is where you’d expect to be, and there are none of the overwhelming menus and overcrowded pages that you come to expect with Drupal. The general usability of Craft is one of the things that really sets it apart from its competitors - it’s a lot nicer to work with.
The simplicity of WordPress as a CMS makes WooCommerce one of the more easy platforms to both use and understand. There’s a markedly lower time investment required in learning its ins and outs, particularly when compared to Drupal and Magento, though this does come at the cost of customisation and flexibility, as we’ll go on to discuss below.
Plugins
Since WooCommerce is based on the popular blogging platform WordPress, it makes available the 50,000 plugins published on the WP plugin directory. While lots of these offerings are free, plenty are paid and can be quite costly - prices of over $100 aren’t all that uncommon (though all things considered, that’s pretty insignificant when compared to hefty price associated with bespoke development). However, it’s important to note that there’s no guarantee when it comes to the quality of the code of these plugins, so it’s always worth doing some research first to make sure you’re making the right choice.
With Drupal Commerce you’re getting access to Drupal’s contributed modules directory with almost 30,000 listings. These are almost all free, and the source code for each is publicly hosted by Drupal themselves, allowing anyone to see and comment on how they work - you’ll always know exactly what you’re getting.
Magento’s plugin marketplace is more like WordPress’ in that it offers a number of both paid and free options, though with a smaller selection of around 4,000 listings. Having said that, this comparison isn’t necessarily fair as each of these is specifically commerce-related, whereas many of the Drupal and WordPress options will be useless for an ecommerce site. Unfortunately, from our experience, the quality of these modules is frequently very poor, with many rife with code blatantly copy-pasted from the internet, and others just flat-out not working and offering no support whatsoever.
Craft CMS’ plugin directory is by far the smallest, largely down to it being the most niche of the four platforms, and with only around 500 available plugins (both free and paid), you’ll often find yourself in the position of having no option but to develop your own custom implementation for a site requirement. On the other hand, it’s a well-maintained, fully vetted store which gives you the ability to install & test any plugin on a local development environment before making any commitment, saving both time and money.
Flexibility
Drupal Commerce is exceptionally customisable by nature, thanks to the power of Drupal as a content management system. All aspects of products, customers, and orders can be adjusted and catered exactly to the project’s specification, with its comprehensive field management system and flexible API. Based on Symfony (one of the most popular and reputable PHP frameworks), Drupal is developer friendly and makes it easy to extend core behaviour, so it’s one of the best options for building ecommerce sites which require a lot of tailored, custom functionality. There is good documentation across the board, and the core code is clean, understandable, and meets modern standards.
Craft Commerce is similar to Drupal in the sense that it too is built from the ground up to be as extensible and customisable as possible. Utilising another popular PHP framework, Yii2, Craft also makes it easy to modify any default behaviour and implement custom functionality as required. Again, code quality is good, and with solid documentation available both in the codebase and on their official website, Craft is another good candidate for developing more complex sites. Unfortunately, it lags behind Drupal in the amount of resources available online because of its limited adoption thus far, which can make development more difficult and time-consuming for newcomers.
Magento differs somewhat from Craft & Drupal Commerce in that development is far more challenging, complicated and cumbersome, and not as inviting for beginners. Aside from the official documentation, some resources exist online, but a lot of the time they’re poorly put together and not all that useful - partially down to the complexity of Magento. However, because it's an ecommerce platform first and foremost, it’s packed with many customisation options and advanced features out-of-the-box (especially in the case of the ‘Commerce’ edition) that simply do not exist for any of the others, including advanced product categorisation, customer loyalty tools, one click checkout, advanced shipping integrations and much more. For bigger stores such features are often of high importance, making Magento a top choice to consider.
WooCommerce meanwhile is at the opposite end of the spectrum; it’s both less complex and less customisable than all the others. This makes it the most straightforward platform to build a site for, and that’s not even taking into account the sheer number of online resources (tutorials, guides, code snippets) for WordPress development. Despite this, WordPress at its core is significantly harder to extend than Drupal and Craft, which makes it harder to integrate any elaborate, nonstandard behaviour into the site. This is offset to some degree by the volume of plugins available for WooCommerce, but if there’s not a preexisting option out there, it’s probably going to be more of a challenge to integrate.
Content editing
In 2018, WordPress 5.0 was released, and it shipped with a revolutionary WYSIWYG block-based editor known as ‘Gutenberg’, a dramatic change from their previous rich text editor. Gutenberg, written in React, allowed content editors to drag and drop components freely onto the page. It allows content editors to see how the page will look as they build it, streamlining the creation process.
Drupal have also recently released a new block-based page builder, called ‘Layout builder’. It’s not as pretty as Gutenberg and is more focused around designing the structure of page types, rather than creating the content itself on a page-by-page basis (though it does have the capability for the latter). Having said this, there’s a third party module which integrates Gutenberg into Drupal, and we’ve found ourselves using this to great success on some of our more recent projects.
The Magento ‘Commerce’ (paid) edition provides a visual page builder, though as with Drupal’s page builder, it’s not quite as polished as Gutenberg. For the free ‘Open Source’ edition, there are a number of available third party plugins which are available, but your mileage may vary as we’ve not had a chance to test these ourselves yet.
Craft CMS does not have a visual page builder like the other platforms. Instead, it has a couple of options for rich text editing (CKEditor and Redactor), and allows the creation of complex combinations of custom fields with its ‘Matrix’ field type. Its main party piece is its ‘live preview’ mode which lets you see how your content will look on the page with a 1-2 second delay as you make changes, and is an impressive alternative to visual editors like Gutenberg.
In conclusion…
Ultimately, as with most things, the answer as to what the ‘best’ ecommerce platform is: “it depends”. For a boutique store with a tight budget, WooCommerce is probably the best option. It’s (relatively) simple to understand, is used by hundreds of thousands of stores worldwide, and has a vast range of plugins to pick from. For a large-scale, enterprise-level project with a high budget, we would probably recommend Magento Commerce (premium edition), with its advanced featureset, high traffic optimisations and technical support. And for anything in between, we’d go with Drupal Commerce - it’s open source, stable, widely used, has a wide selection of high-quality, free extensions, and the flexibility of its API architecture in general makes it easy to add custom functionality. That’s not to say Craft Commerce isn’t an excellent product, it is, but we struggle with its proprietary nature and are wary of the fact that the limited selection of available plugins can sometimes lead to far higher development times.