WooCommerce shipping troubleshooting

WooCommerce shipping zone not working? The order may be the problem.

WooCommerce shipping zones are order-sensitive. The first custom zone that matches a customer address wins, so a valid zone can appear to be broken simply because another matching zone is above it.

Want to check the configuration instead of guessing?

Shipping Doctor for WooCommerce can scan common shipping-zone and Free Shipping problems and test what WooCommerce returns for a customer address.

Install Shipping Doctor free

WooCommerce uses the first matching zone

If you have a broad Sweden zone above a Stockholm postcode zone, a Stockholm customer may match Sweden first and never reach the Stockholm rates below.

Put specific zones above broad zones

Postcode and state-specific zones should generally appear before country-wide zones covering the same destination.

Treat Everywhere as a catch-all

A custom shipping zone with no geographic restrictions appears as Everywhere in WooCommerce. It is a legitimate catch-all, but if it sits above other custom zones it can hide all of them.

Test a real postcode

Use the exact postcode that is behaving incorrectly. This makes overlaps much easier to spot than reading the zone list alone.

Check the winning zone’s methods

Once you know which zone wins, inspect the shipping methods inside that zone. A correctly matched zone can still produce no rate if nothing inside it is available.

A faster way to verify the setup

Shipping Doctor is a read-only troubleshooting plugin. It does not change your WooCommerce settings. Its Health Check can flag likely configuration problems, while Address Test shows which zone and built-in WooCommerce shipping methods are returned for a destination.

Check your WooCommerce shipping setup

Install Shipping Doctor from WordPress.org and run a read-only health check.

Get Shipping Doctor