WooCommerce no shipping options available? Find the zone
At the delivery step, the customer enters Aisha Rahman’s fictional address: 14 Al Noor Residence, Dubai Marina, Dubai, UAE. They get the familiar WooCommerce message that no shipping options are available. The product is in stock, the basket looks ordinary, and a promotion is running. It is tempting to start poking at the shipping plugin.

Hold off. For a Dubai, UAE or UK store, the useful first question is simpler: which shipping zone did WooCommerce match for that exact address, and does that zone have a usable method?
An otherwise valid sale can stall at delivery because WooCommerce found a zone with no enabled shipping method, or because the product in the cart does not qualify for the method configured there. Customers do not see the logic behind it. They see a checkout that will not let them pay, then support gets the inevitable message.
Start with the failed address, not the settings screen
Capture the exact conditions before anyone rewrites checkout fields or installs another extension. Shipping rules are address-sensitive, so a broad test such as Dubai delivery works on my machine is not much use.
- Record the country, state or region, city, postcode if used, and any relevant address field.
- Note the product, variation, quantity and shipping class in the basket.
- Check whether the product is physical, virtual, downloadable, or marked as needing shipping.
- Take a screenshot of the unavailable-shipping message and the visible address fields.
- Use a fresh browser session or private window for the retest, particularly if a cache or session tool has recently been changed.
That last bit is dull but worth doing. A saved customer address, a persistent cart, or an old shipping session can make a test look cleaner than the customer’s actual route.
WooCommerce uses the first matching shipping zone
WooCommerce checks shipping zones in order and uses the first zone that matches the customer’s address. It then displays the shipping methods configured for that zone. WooCommerce documents this first-match behaviour in its shipping zones guidance. That tells you how the selection works, though it cannot identify the faulty rule on a particular store without testing the address.
This is where a sensible-looking setup can go wrong. A wide UAE zone placed above a Dubai-specific zone may match a Dubai customer first. If that wider zone has no active method, the local Dubai delivery rule below it never gets its turn.
A shipping failure needs an address and a matched rule before it needs a new plugin.
Use two controlled addresses to expose the overlap
Take the actual failed address and one nearby address that should receive the intended service. Keep the product and basket unchanged. You are testing the rule boundary, not conducting a general tour of checkout.
| Test | Example address | What to inspect | Useful outcome |
|---|---|---|---|
| Failed route | Aisha Rahman, Dubai Marina, Dubai, UAE | Matched zone, enabled methods, product shipping requirement | Proves the live failure conditions |
| Expected local route | Omar Khan, Jumeirah Lakes Towers, Dubai, UAE | Whether the same Dubai rule and method appear | Shows whether the issue is limited to one address pattern |
| Broader route | Omar Khan, Al Majaz, Sharjah, UAE | Whether a UAE-wide zone is deliberately handling this address | Reveals whether zone ordering is too broad |
These are representative fictional addresses, not postcode advice. Use real affected delivery areas from your own order records, without sharing more customer data than is needed for the check.
Check the zone before blaming the shipping plugin
In WooCommerce shipping settings, work down the zone list as WooCommerce does. Look for a broad country, region or city rule above the narrower one you expected to match. Then open that matched zone and check whether it contains an enabled method.
A common Dubai setup problem
A store offers local Dubai delivery through a Dubai zone. Above it sits a UAE-wide zone created earlier for a different delivery plan. The UAE zone matches first but has no enabled delivery method. The customer therefore gets no usable rate, despite the Dubai zone below being configured correctly.
The repair may be as small as changing zone order, narrowing the broad rule, or enabling the intended method in the right zone. Do not assume that is the answer until the controlled addresses prove it. Reordering zones because they look untidy can quietly alter delivery availability elsewhere.
Then check whether the product is eligible
If the correct zone is matching and its method is enabled, turn to the basket. A physical product may carry a shipping class that is handled differently from standard products. A variation can also behave differently from the parent product if its shipping settings were changed separately.
- Confirm the test product requires shipping.
- Check its shipping class and whether the matched method supports that class.
- Compare a simple known-good product with the failing product using the same address.
- Check whether custom code or a shipping extension is filtering available methods.
If the fault began after an update, an extension change or custom checkout work, retain the evidence and test the narrow route first. The wider process for a checkout affected by a change is covered in this WooCommerce checkout repair after an update guide. It is a different job from blindly replacing shipping rules during a promotion.
Retest every delivery area you say you serve
Once a correction is made, repeat the failing address and the comparison addresses. Then test one address for each delivery area that relies on a different zone. Confirm that the method shown is the intended one and that the customer can continue beyond delivery.
For routine protection, include this route in a controlled WooCommerce checkout maintenance test. A completed test order checks more than whether the settings page looks populated. It checks the route a customer actually takes.
If the evidence points beyond a single shipping rule, such as a broken checkout session, a conflict or custom code changing rates, it may need wider website repair support in Dubai rather than another round of settings edits.
Questions about missing WooCommerce shipping options
Why does shipping work for one address but not another?
Different addresses can match different shipping zones. WooCommerce selects the first zone that matches the address, then shows methods configured for that zone. A city, region or postcode condition may therefore send two nearby customers down different routes. Test both addresses with the same product before changing the rules.
What is the difference between selling locations and shipping locations?
Selling locations control where the shop is willing to sell products. Shipping locations control where the store will ship physical goods. They are related but separate settings. A customer may be in an allowed selling location but still have no usable shipping method if no matching shipping zone and eligible method are configured.