WooCommerce version 3.0 was released this week, which brings about a major update to WooCommerce’s internal structure. This release hits some immediate performance improvements for stores, while it lays a lot of groundwork for future improvements, especially at large scale.

You’ll notice the version jump from WooCommerce 2.6.14 to 3.0.0 to reflect the scope of these internal changes. While there aren’t a ton of merchant-facing changes, we’ll go through those and some of what’s changed structurally for developers.

WooCommerce 3.0 Review: Overview

Version 3.0 of WooCommerce is focused mostly on performance enhancements along with foundation for future improved performance at scale. This ensures that, as stores grow, they won’t run into data bottlenecks while managing or adding WooCommerce products and orders.

While most stores don’t run into these issues, large eCommerce retailers may see performance deterioration with thousands of concurrent users or when processing more than a couple of orders per second. While these may be champagne problems, they’re still issues that larger retailers will have to deal with nonetheless, and this release helps to make strides towards improving the data structure of WooCommerce to make far larger performance gains in the future.

In the immediate release, the frontend product filters (such as “in stock” or “featured”) have been optimized to make product sorting and filtering up to 94% faster (tested with 8000 products). These same improvements also help for stores that hide out of stock products.

Variable product syncing has also been improved to remove some of the data checks that were not needed to sync prices or child product data.

If you want more complete details on some of these changes, you can check out the overview posts from the WooCommerce development blog:

 

Let’s take a look at some of the larger features and changes 🙂

WooCommerce 3.0 Review: Product Photo Gallery

WooCommerce has an overview of the new product image galleries you can watch on YouTube. Basically, there are some major improvements to photos on product pages:

  • Visitors can now magnify, zoom, and open images in a lightbox (previously magnification and zoom weren’t possible)
  • Gallery behavior is improved — clicking on a thumbnail updates the main image instead of opening a lightbox directly
  • Mobile browsing is vastly improvement to support touch gestures, such as pinch-to-zoom, swiping between images, and others
  • Mobile lightboxes are also more relevant now, as they’ll open the image in a size larger than its display size, which didn’t happen in previous versions (the image was constrained by the screen)

You can see the mobile gallery changes in action here: (Click an image to view a gif)


WooCommerce 3.0 Review: WC 2.6 mobile gallery

WC 2.6 Mobile gallery



WooCommerce 3.0 Review: 3.0 mobile gallery

WC 3.0 Mobile gallery


The gallery improvements make it easier to highlight product photography on any device, but the mobile improvements are especially welcome.

WooCommerce 3.0 Review: Product Structured Data Markup

Structured data allows Google and other search engines to learn information about your products. Having this data available on product pages gives search engines the tools they need to find and display information about your product, which can lead to showing rich snippets in search results. You’ve probably seen this if searching for your own products and seeing that they have a star rating next to them in the search listings.

While having structured data isn’t a guarantee that a search engine will show rich snippets, it is a requirement to even have the possibility of showing them. In WooCommerce 3.0, the structured data for products has upgraded to the newer JSON-LD format.

This moves the structured data for products out of template files and into its own bit of code that’s output as part of your page source, making structured data more resilient to theme overrides and more consistent, regardless of theme.

WooCommerce 3.0 Review: Shipping Zones

The shipping zone creation and management UI has been refined in WooCommerce 3.0 to make it easier to add or update a shipping zone. You’ll notice that the zones screen is slightly different when you first visit WooCommerce > Settings > Shipping. In version 3.0, you’ll see a description of zones, and a new “Add Shipping Zone” button at the top instead of at the bottom of the table.


WooCommerce 3.0 Review: 2.6 shipping zones

WC 2.6 Shipping Zones



WooCommerce 3.0 Review: 3.0 shipping zones

WC 3.0 Shipping Zones


Previously, adding a zone was done in-line on the zones list. You’d have to (1) add a zone and name it, then save the new zone; (2) you could then add rates, and then you’d have to click each rate to edit its settings.


WooCommerce 3.0 Review: 2.6 add shipping zone

WC 2.6: Add zone



WooCommerce 3.0 Review: 3.0 add zone

WC 3.0: Add zone


In WooCommerce 3.0, you can now add all of your rates to a zone at once, and click the rate name to open a modal, letting you add its settings. While this isn’t a huge change, it cuts down on the steps needed to update a zone or rate, and makes it a bit easier for new users to work with.

If you click on each image below, you’ll see a gif to illustrate how zone creation has changed.


WooCommerce 3.0 Review: 2.6 add zone

WC 2.6 New zone



WooCommerce 3.0 Review: 3.0 add zone

WC 3.0 New zone


WooCommerce 3.0 Review: Grouped Products

Grouped product management has changed with WooCommerce 3.0 to simplify creating a grouped product in the WordPress admin as well.

Previously, you had to take several steps to create a grouped product, which could be confusing for new merchants:

  1. Add a new “Grouped” product type as the “holder” for the grouped product. This would be the product page that shows the group options.

  2. For any simple product that should belong to the group, go to that simple product now and add it to the group under “Linked Products”.

    WooCommerce 3.0 Review: 2.6 grouped product

    WC 2.6 Grouped product

  3. Repeat this process with any simple product that should be shown in the group.

This was a long process if you wanted to show several products as part of the grouped product, as you had to edit every product in the group individually to add them to the group.

Now, you’ll notice that “Linked Products” will no longer show a “Grouped products” selector.

WooCommerce 3.0 Review: 3.0 linked products

WC 3.0: Linked Products

Instead, you can now add all products that belong to a group when you create the “Grouped” product parent / holder. The “Grouped” product now lets you use a multi-select to add all items that should be in the group from the same product page.

WooCommerce 3.0 Review: 3.0 grouped proudct

WC 3.0 Grouped product

This significantly cuts down the number of steps required to create a grouped product, as you no longer have to edit every single product in the group to add it.

However, there’s a small improvement here: because the search input is on the grouped product page and not while editing a product in the group, you can now add a variable product to a grouped product. Previously, this wasn’t possible, as the group selector wasn’t shown for a variable product.

If a variable product is in the group, this will show the “select options” button instead of a quantity selector:

WooCommerce 3.0 Review: 3.0 grouped product frontend

WC 3.0 Grouped product page

WooCommerce 3.0 Review: Other Changes

One change to note is that “product percent” discounts are no longer available. Because the same thing can be used with a cart percentage discount and a product restriction, these coupon types were redundant. These have now been merged into a “Percentage” coupon type instead.


WooCommerce 3.0 Review: 2.6 coupon types

WC 2.6 Add coupon



WooCommerce 3.0 Review: 3.0 coupon types

WC 3.0 Add coupon


There are also other small refinements in the WooCommerce 3.0 admin. First, you’ll notice that the “Purchased” column in the orders list has been removed:

WooCommerce 3.0 Review: 2.6 orders list

WC 2.6: Orders list

This was done for performance reasons. To show this count / item list, when you viewed orders, every order had to be loaded, its items counted, and the item names grabbed. This led to performance issues for stores that sold a lot of items in an order and displayed a large number of orders per page.

Now, this page can load much faster because each order doesn’t have to load all of its items when displaying the orders list.

There are also two other small refinements. First, tax rates are now sorted automatically, putting the most specific rates first, so you no longer have to drag-and-drop to sort tax rates.


WooCommerce 3.0 Review: 2.6 tax rates

WC 2.6 Tax rates



WooCommerce 3.0 Review: 3.0 tax rates

WC 3.0 Tax rates


Next, the “enhanced” selects you see for dropdowns, searchable inputs, and multi-selects have been updated to a new version of select2 (the code library that generates these), so they’ll look slightly different.


WooCommerce 3.0 Review: 2.6 select2

WC 2.6 Enhanced select



WooCommerce 3.0 Review: 3.0 select2

WC 3.0 Enhanced select


WooCommerce 3.0 Review: Debugging Tools

Several of the debugging tools built into WooCommerce have been updated in version 3.0. While these typically aren’t used by merchants on a regular basis, they’re very helpful when getting support for WooCommerce or extensions.

First, here’s one merchants may actually use: you can now delete orphaned variations right from WooCommerce > System Status > Tools:


WooCommerce 3.0 Review: 2.6 tools

WC 2.6 Tools



WooCommerce 3.0 Review: 3.0 tools

WC 3.0 Tools


This will remove variations from your store that have no parent product. This can happen occasionally if an item that was variable has been changed to a simple product or different type, as these variations still exist in your site database. Since this can affect reporting or other queries on your site, this tool will make it easy to delete them.

Other debug tools, such as “shipping debug mode” have moved or been removed in WooCommerce 3.0. For example, the shipping debug mode setting is now under WooCommerce > Settings > Shipping > Shipping options:


WooCommerce 3.0 Review: 2.6 debug tools

WC 2.6 Debug tools



WooCommerce 3.0 Review: 3.0 debug tools

WC 3.0 Debug tools


Logging has also changed slightly in WooCommerce 3.0 from a merchant perspective, and you can now delete logs right from the “logs” list. This is helpful if you’ve enabled logging for a time period to resolve an issue, but can now delete the log, as logs can fill up with data over time that you likely don’t want to keep.

WooCommerce 3.0 Review: 3.0 logs

WC 3.0 Logs

WooCommerce 3.0 Review: For Developers

Most of the changes in WooCommerce 3.0 are under-the-hood, so developers should definitely take note of these. The introduction to CRUD methods from the developer blog is an important primer on writing WooCommerce 3.0+ compatible code, and this is where the largest amount of changes have been made, basically refactoring several core objects (products, coupons, customers, and orders) in WooCommerce. The consistency between these is welcome, but there are plenty of new things to learn.

As a result of moving to new CRUD methods for adding, updating, getting, and deleting data, several hooks and methods have been deprecated in WooCommerce, so updating to newer hooks and functions is recommended.

The CRUD system will allow WooCommerce to change its backend data stores in the future without affecting developers, letting WooCommerce optimize for scalability at a very large level, which isn’t possible with its current database schema.

Developers may also want to check out a few other posts on the developer blog:

WooCommerce 3.0 Review

The product gallery and structure data updates in WooCommerce 3.0 are two welcome changes to product pages, and they improve a few of the biggest influences in purchase decisions: product photography, product reviews, and search engine visibility / click-through.

The performance enhancements in this release also speed up the shop frontend and browsing experience, helping customers get to the improved product pages even faster.

While the admin UI changes are nice “quality of life” improvements, most of the other changes in this release are structural, massively updating the internals in WooCommerce to provide it more flexibility in the future for even further performance upgrades. While store owners won’t see the full effects of this immediately, it clears the way for WooCommerce to make more aggressive changes to the way it handles data for performance gains while leaving plugins or custom code unaffected.

However, if you have put customizations in place on your site, you’ll want to update them for WooCommerce 3.0 compatibility at some point, as likely these would break with WooCommerce 4.0 (when the way data is stored for your orders or other items actually changes).


Note: This post may contain affiliate links, which means we get a commission from the plugin, theme, or service provider if you choose to purchase. Regardless of this, we are committed to providing high quality, unbiased resources. Have more questions? See our affiliate policy. You can use the plain links below if you prefer that we not receive a referral commission:
Articles you may also like:

Posted by Beka Rice

Beka Rice manages the direction of Sell with WP content and writes or edits most of our articles to share her interests in eCommerce. Or she just writes as an excuse to spend more time jamming out to anything from The Clash to Lady Gaga. Who knows.

Leave a reply

Your email address will not be published. Required fields are marked *