There is an array of e-commerce platforms to choose from and it can be a daunting task selecting the most feasible solution. So in this blog I’ll explore Magento versus Drupal Commerce. But worth noting early on that the decision is not mutually exclusive as few e-commerce sites are hybrid solutions integrating the best of the two platforms: Drupal serving as a content management system while leveraging Magento’s robust e-commerce features.
Magento comes in two flavors: a free open-source community edition and a paid subscription based enterprise edition costing roughly $20,000/year.
Magento Community Edition
The community edition is robust and provides core e-commerce features. These include:
- Custom product variations (size, color, etc.)
- Price rules.
- Shipping rules.
- Discount and promotional codes.
- Discounts for recurring customers.
- Payment configuration with a number of payment gateways (PayPal Express, PayPal Pro, etc.)
- Shipment configuration with different courier services (USPS, FedEx UPS, DHL, etc.)
- Downloadable digital products: MP3, software, files, etc.
- Community based support.
So clearly, the Magento Community edition is a robust entry-level platform for basic e-commerce features that can be configured and launched with minimal effort. But at the same time does not scale as a solution for a storefront with thousands of products.
Magento Enterprise Edition
The enterprise edition provides what the community edition offers in addition to advanced e-commerce features geared towards solutions with multiple storefronts with thousands of products. So the advantages are more performance related. These include:
- Multistore store setup.
- Robust indexing for large volume of products and products catalogs.
- Components scalability.
- Background indexing processes.
- Performance improvement over community edition.
- Built-in full page caching (no need for an external caching mechanism: e.g. Varnish)
- Role-based site administration features (stores management).
- Targeted marketing campaigns (first time buyers versus recurring.)
- Dynamic product suggestions based upon prior purchases.
- Gift registries (birthdays, weddings, etc.)
- Reward points on purchases (e.g. in store credit, free shipping, etc.)
- Built-in return management authorization (RMI) to process product returns.
- Setting up gift card accounts.
- Automated email campaigns targeting certain market segments with relevant products.
- Custom landing pages tied to customer segmentation.
- Customer assistance shopping while checking out.
- Credit card tokenization; required by some payment gateways.
- Professional support.
So where does Drupal fall in comparison to Magento? Well, Magento is an enterprise class e-commerce flagship; it lends itself as a platform with e-commerce use case emphasis from its inception. And yet Drupal Commerce isn’t distant from that milestone as it continues to evolve. Where Drupal lends itself most is that it isn’t just a content management system or an e-commerce platform, it is a framework with an extensible API. That flexible ecosystem permits the integration of additional functionalities without compromising the integrity of Drupal core. And worth noting that in recognition of the two platforms, Acquia (a leading cloud based platform for Drupal) and Magento Commerce have partnered
to unify content and commerce, so merchants will benefit from seamless, highly customized shopping experiences.
But what if the requirements at hand are for a solution that incorporates content management features along with an advanced e-commerce store? In that scenario, we can leverage Drupal’s enterprise class content management features with Magento’s enterprise class e-commerce features in its enterprise edition.
To be clear, I am not advocating the use of Drupal modules to import products and catalogs stored in Magento into Drupal as nodes using a cron job and then use Drupal Commerce as the store front and shopping cart. I just don’t see the merit of that approach as we might as well just use Drupal Commerce without Magento. But the idea here is to seamlessly theme Drupal and Magento (common headers, footers, CSS, images, templates, etc.) then serve the results from either platform depending upon what the user is looking for. So a URL like <example.com> is served from Drupal whereas something like <example.com/store/> would route traffic to the Magento e-commerce docroot.
A common search engine, e.g. Solr, would index both Drupal nodes and Magento products and if, for example, the user is searching for “Health and Fitness”, the search result can be faceted as either content (served from Drupal) or products served from Magento. Depending upon the selection, narrower facets for content or product would then be presented. A content or page facet could be: author, date, content related tags, etc. whereas a product facet can be: price, color, size, brand, vendor, product category, etc.
That approach leverages the best of both platforms. Granted this solution can be daunting to implement. But certainly doable especially that both Drupal and Magento use the same technology stack (LAMP) minimizing cross technology integration barriers as well as hosting providers.
How to Choose?
Well, I am going to adopt the time honored professional consultant response: “it depends.” But seriously, the solution is often how you perceive and visualize your website and business proposition years from today. Is it strictly an Amazon like e-commerce platform with thousands of products and store fronts (Magento Enterprise); is it a single store with tens of thousands of products (Magneto community or Drupal Commerce); is it a single store along with content management features and blogging (Drupal Commerce); is it a large e-commerce platform along with community based blogging (perhaps a hybrid solution: Magento enterprise edition and Drupal.)
Thanks for reading.