WooCommerce 9.6.1 can break your store if you use brands

Dave Hilditch
Talk to me

A customer of mine came to me with a problem. They had updated their staging site to 9.6.1 and then all of a sudden all of his brand URLs were 404 errors. What gives?

What’s the cause?

Looking into this, a new Brands item had appeared in their Products menu.

Screenshot of the WooCommerce Products menu in WordPress, with the newly added "Brands" option highlighted in red. This change in WooCommerce 9.6.1 Update is causing conflicts with existing brand taxonomies, leading to 404 errors on brand pages.
WooCommerce 9.6.1 Update will probably break your brands – be careful!

This customer was using a product attribute for their brands.

Screenshot of the WooCommerce Edit Attribute page, showing a product attribute named "Brand" with the slug set to "brand." This slug is now conflicting with WooCommerce's new built-in brand taxonomy, causing a WooCommerce brand slug conflict.

You can see in the image that their Brand attribute has it’s archives enabled and the qualifier slug set to ‘brand’, e.g. /brand/nike/

WooCommerce have gone ahead and embedded the WooCommerce Brands plugin directly into core and enabled it by default for anyone upgrading. This is the cause for this particular WooCommerce 9.6.1 problem.

That means their code is taking over the /brand/ slug and there actually are zero brands for this taxonomy since it has just been newly created by WooCommerce.

Screenshot of the WooCommerce Brands settings page. The table is empty, displaying "No Brands Found." This issue occurs because the WooCommerce 9.6.1 update introduced a new brand taxonomy, overriding previous brand attributes and causing a WooCommerce brands plugin issue.

Will I be affected if I’m using some other taxonomy plugin for Brands?

Yes, you almost certainly will – Woo will register the taxonomy for /brand/ before your 3rd party plugin can and all your brands will appear to be gone. So if you use a /brand/ attribute, or one of the 3rd party plugins then you will suffer this problem when you upgrade.

Can it be fixed?

Yes, of course, and probably WooCommerce should have added a check in their upgrade to see if /brand/ was in use already prior to activating their stupid embedded plugin that doesn’t care about breaking sites.

To fix it, visit Settings > Permalinks and look for the Product Brand Base slug and change it to something else.

Screenshot of WordPress Permalink settings, highlighting the "Product Brand Base" field set to 'brand.' This default setting in the WooCommerce 9.6.1 update is taking over existing brand slugs, leading to WooCommerce update problems with brands and causing 404 errors on brand pages.
Screenshot of the WordPress Permalink settings, showing the "Product Brand Base" field updated to a unique string. This manual change is necessary to fix the WooCommerce broken brands issue caused by the WooCommerce 9.6.1 update.

Summary

WooCommerce are out there breaking websites again, this time by including the old Woo Brands plugin directly into core but neglecting to check if the brand slug was already in use and not giving any way to deactivate their brands without changing the slug.

You can fix it quickly by visiting wp-admin > Settings > Permalinks > Product Brand Base, change the slug to something random, hit save and your 404 errors will be gone.

Thanks go to @americanoffroads for their help in diagnosing this issue. If you’re in the US and you are interested in UTV or ATV accessories, check them out!

https://www.americanoffroads.com/

1 Comment
  1. Yep, same problem in other languages like when using merk.

    Thanks for the info!

Leave a reply

Super Speedy Plugins
Logo