WooCommerce checkout troubleshooting

“No shipping options available”? Check these seven things

WooCommerce usually shows no shipping option when the address reaches the wrong zone, the matched zone has no usable method, or the cart does not meet that method’s conditions. Start with the matched zone before changing prices or adding another plugin.

Published · Updated · Shipping Contract Guard

The short answer

Check the address, then the first matching zone

Enter one complete made-up shipping address. WooCommerce uses the first zone that matches it and shows only the shipping methods—the options configured in that zone. A method in another zone cannot appear, even when its price and settings look correct.

If the cart contains only virtual products, no shipping choice is expected. For a shippable cart, continue through the checks below.

1

Enter a complete shipping address

Use a country, state or province, city, and postcode that the store should accept. An empty or incomplete field can prevent WooCommerce from reaching the intended shipping zone. Also confirm that the store’s shipping locations allow the destination. Use a made-up test address, not a customer address.

2

Find the first zone that matches

WooCommerce checks zones from top to bottom and stops at the first match. A broad country zone above a narrow postcode zone can win too early. Use shipping debug mode for one test if the matched zone is unclear.

3

Confirm that the matched zone has an enabled method

Open that exact zone and check that Flat Rate, Free Shipping, Local Pickup, or the intended extension method is present and enabled. A method configured in a different zone does not help this address.

4

Check whether the products need shipping

A cart containing only virtual products does not need a shipping method. For physical products and variations, confirm that the product settings are saved and that the test cart contains the item you intended to check.

5

Check the method’s own conditions

Free Shipping may require a minimum amount, a coupon, either condition, or both. Other shipping extensions can add their own availability conditions. Core Flat Rate shipping-class costs change the price; they do not create a shipping method by themselves.

6

Test a simple cart before a mixed cart

Start with one physical product and the made-up address. Then add the coupon, second product, shipping class, quantity, or promotion that matters. This shows which change makes the shipping option disappear.

7

Clear stale cart data and repeat the same test

After saving a change, empty and rebuild the test cart or use a new private browser session. Clear relevant cart or page caches, then repeat the same product, address, amount, and coupon. Change one setting at a time.

Start from the symptom

Which check should come first?

Keep the cart fixed while you inspect one layer at a time. That makes the result easier to explain and repeat.

What you seeCheck first
No methods for one postcodeZone match and postcode rule
Flat Rate missing everywhereEnabled method and product shipping
Free Shipping missingAmount, discount, and coupon conditions
Wrong price for a mixed cartShipping class and calculation type

Follow the focused checklist for your result

Wrong zone or postcode →
Free Shipping missing or appearing too early →
Shipping class cost missing or wrong →
Shipping changed after an update →

Check WooCommerce’s own instructions

WooCommerce documents the same address, zone, method, product, and calculation checks in its official troubleshooting guide.

Read WooCommerce’s core shipping checklist →
Read WooCommerce’s shipping-zone guide →

Save the working result before the next change

Shipping Contract Guard saves the shipping options and prices you approve for a test cart, then compares them when the same check runs again. It places no order and uses no customer address.

Install free from WordPress.org