The Code Company has been working with WordPress at scale for over a decade. During that time, we’ve often been asked to engineer or build high-scale ecommerce sites. A common request from clients is to integrate the WooCommerce plugin into their tech stack.
However, It is our view, that while WooCommerce is a suitable platform for certain types of ecommerce stores, it is not the ideal solution for large scale ecommerce sites*
*For the sake of clarity, this post is talking about websites that are purely ecommerce and receive a significant number of orders (50+ orders a week or more).
The limitations of WooCommerce’s database structure
At its core, WooCommerce uses WordPress’ flexible database structure, which is a great way to rapidly build out data models. But it fundamentally fails when it comes to any kind of complicated querying or manipulation of that data.
The WooCommerce project are addressing this and are moving towards a custom data structure that will scale significantly better; however, it’s hard to asses just how well this will work until it’s completed.
One risk that still remains, is how third-party developers or WooCommerce addons work with this new data structure. Meaning, that using one poorly written plugin has the potential to significantly degrade the overall performance.
As an example, WooCommerce currently fails to be able to do any kind of reporting. We’ve seen first-hand large database clusters being brought down by a store administrator forgetting to set an end date on their report.
Mixed marketplace and dependency management (Ecommerce plugins)
No single ecommerce product will ever be able to do all things for all businesses. But due to WordPress’ flexibility, anyone can write a plugin that alleges it can do anything.
One of the perceived benefits of using open source software to a business, is that you can leverage these third party addons to prevent having to write your own. This sounds great, but rarely works as well as expected. For a number of reasons we consider this a problem;
Common problems with open source ecommerce plugins like WooCommerce:
- The plugin Author has written a plugin for a small site, so it doesn’t scale and causes performance issues.
- The process to find suitable ecommerce plugins is very fractured. There are official and unofficial WooCommerce marketplaces. All these marketplaces sell plugins that are built to different standards, have different renewal policies, support policies, and subscription costs.
- Multiple ecommerce plugins when used at the same time, can result in unexpected conflicts. When this occurs, it is often very hard to debug a root cause.
- Payment gateways are often the most troublesome, particularly if the gateway isn’t a very popular one. Often the best gateways lack proper testing or they can mysteriously cease working during an upgrade.
- Upgrades and testing are often complicated and require large amounts of manual testing, or resolving conflicts that are created as a result of the upgrades. Many of the plugins don’t work well in a staging environment, so some testing has to be done in production which isn’t typically advisable.
Perceived low costs of WooCommerce
A common problem with both WordPress and WooCommerce is misunderstandings about their true cost. Because open source software is free, publishers assume that running an ecommerce site on WordPress and WooCommerce is going to be cheap. The reality is, a lot of work is required to make WooCommerce scale and handle large spikes of orders and traffic. And it’s not as flexible as other DIY ecommerce tools.
Complex infrastructure and scaling of ecommerce
Running an ecommerce site is very different to running a content-based site. No longer can you rely on CDNs and services like CloudFlare to handle spikes of traffic to your site.
Ecommerce is higly dynamic, and even if you build a high-end AWS cluster, you still find yourself in a never-ending game of cat and mouse. This game can greatly be exaggerated with some of WooCommerce’s known race conditions (we’ve seen product launches result in 100’s of products oversold).
Ecommerce traffic is highly unpredictable so all the planning in the world is pointless unless your infrastructure can scale, and the application has been fine tuned to work.
Store administrator user experience in WooCommerce
Out of the Box, WordPress & WooCommerce present a fairly complicated administration UI. Especially when you bring in all the additional third party plugins and services that are almost essential to a fully functional ecommerce presence.
The above screenshot is all too typical of a WordPress/WooCommerce backend. That’s not to say these issues can’t be fixed, but there is an entire UX design project required just to make the administration interface workable.
Some of that would work would involve overriding how plugins by default set their navigations up etc, which can mean it’s a permanent job to maintain.
WooCommerce alternatives for WordPress publishers
Over the last couple of years, The Code Company has had the opportunity to really deep dive into a bunch of WooCommerce projects of all kinds of shapes and sizes. Our WordPress publishing engineers have always managed to create a viable solution.
Yet at the end of the day, just because you can make WooCommerce work at significant scale doesn’t mean you should. The main exception to this argument is where you need to deploy a large ecommerce store and need 100% control over presentation layer, database and custom business logic alike.
So what if you’re one of a growing number of digital publishers looking to ecommerce as a source of revenue diversification? This often becomes as a WooCommerce vs Shopify (or Magento et al) argument. While we don’t claim to be experts in ecommerce (building digital publishing sites is most definitely our niche), we do have firsthand experience of integrating ecommerce plugins into large scale media websites.
Based on this experience, the best ecommerce plugin for most sizeable ecommerce websites is Shopify.
Benefits of Shopify for WordPress ecommerce:
- Low development and maintenance overheads – in many cases Shopify can be set up in-house.
- Shopify is a stable platform – this means you don’t need to worry about setting up servers. It is all managed through a nice, intuitive UI.
- Reporting is built in to Shopify – it is also far superior to the data querying capabilities of WooCommerce.
- Shopify can be seamlessly integrated with WordPress – with the help of a skilled developer that’s experienced in custom WordPress integrations.
In most cases, the benefits of Shopify outweigh the downsides. Yet it’s worth being mindful that (as with all SaaS products) using Shopify means you don’t have complete ownership of your data.
Shopify also charge per transaction, so costs can rack up quickly for high turnover ecommerce sites. The question really comes down to how much of your business is dependent on ecommerce? And how important is data to your growth?