Rewind a few years, and early e-commerce in WordPress was a bit of a hack (as it was in most blogging software).
There was a time when “WordPress is just for blogging” was a valid argument. Products were simply blog posts. Programmatic gymnastics took place to work around this, but in the end, everything was saved in the database as a post with attributes just like any other blog post.
Then, in WordPress 3.0, Custom Post Types came to be, and this opened a vast array of possibilities. Suddenly everything fit in the posts table. Anything you could think of, from social network content to e-commerce products, could all fit in the posts table, with the postmeta table to back it up.
A post could now be thought of as an entity or a model with attributes or properties described by information in the post metadata table.
But it’s not like that anymore.
BigCommerce: eCommerce For WordPress
Backing Up a Bit
But over time an uneasiness set in.
For some things, this lead to additional complications that resulted in developers performing additional programmatic gymnastics, and the more complicated things became, the slower it all ran especially when a larger number of products were added to the database.
But why? Take, for example, meta queries. They’re relatively slow and have typically been so (unless you knew enough SQL-fu to craft custom queries that might provide more optimal performance). Over the years more and more plugins have started moving back to custom tables in the database.
This takes a great deal of time and effort, though. EDD is mostly there. WooCommerce still struggles at scale because much of the data is still stored in the posts and postmeta tables.
The Future Of e-Commerce in WordPress
On any website, but particularly in e-commerce, you want your presentation layer to be as fast as possible. Quarter-seconds matter. If your web server is doing any kind of work that isn’t presenting web pages to your visitors, then it’s worth treating the site as if something is wrong.
For this reason, Software-as-a-Service is coming to WordPress e-commerce. We first saw it when WooCommerce started moving services like taxes and shipping into Jetpack. Suddenly, all the labor is being taken care of on Jetpack servers.
It’s not irrational to think there are plans to move more and more components into the cloud. After all, this reduces the load on a single web server and improves the performance of a given site.
That said, details are still sparse. And given the complexities of doing something like this, it’s fair to assume we won’t see this very soon.
A much bigger step was recently taken by BigCommerce. While WooCommerce started with everything in WordPress and moving bits and pieces into the cloud, BigCommerce is moving in the opposite direction: They’re starting with everything in the cloud and moving only the most vital things into WordPress. BigCommerce uses posts and postmeta as a caching layer for the API.
This allows the presentation layer to be as fast as possible, without any processing related to e-commerce slowing it down the delivery of the page.
This, of course, requires that normal site speed enhancements (like properly-sized images and other assets) are properly and optimized, but that’s an assumption fair for any given site or web application.
All e-commerce platforms need to integrate with other systems. That is, you want your store to talk seamlessly to your shipper, so customers can know as early as possible how much shipping will cost, and what their options are.
Furthermore, unless you love accounting, you want a tax service doing on-the-fly calculations.
With a SaaS model, most of those integrations happen on the e-commerce server, not your web server. WooCommerce has moved two integrations into the cloud with Jetpack, but since BigCommerce is coming from the other direction, all of their integrations are in the cloud.
This makes it much easier for a third-party service to integrate into the service. This is why BigCommerce has hundreds of integrations in the cloud.
If you’ve ever had to deal with PCI compliance, I’m sorry. It’s a headache and a half. A big advantage of using something like Commerce-as-a-Service from BigCommerce over self-hosted like WooCommerce or Magento is that all of the responsibility for PCI compliance is on their shoulders.
This has two advantages of its own:
- you don’t have to worry about it,
- it’s handled by people who are experts.
They’re good at it, and you can rest easy knowing that your data is safe and you’re not going to get sued.
Just like with most WordPress plugins, when you buy the premium version, you get excellent support. Companies like BigCommerce and Shopify offer 24/7 phone support with multiple call centers on multiple continents (including North America).
When you get stuck, someone is always there to help you figure things out.
As with many other resource-intensive activities, e-commerce in WordPress is moving toward a Commerce as a Service model. This allows you the power and flexibility of a SaaS model while also allowing you to leverage the power and flexibility of WordPress.
You get to be the expert of your products and content, they get to be the expert in e-commerce, and together your online store will hum along like a well-oiled machine.
If you’d like to try out BigCommerce for WordPress, you can get the plugin from the WordPress.org plugin repository.
What will you build?