Flexible Shipping Locations for WooCommerce | ShipAddon
WooCommerce Location-Based Shipping

Show only the right shipping options
for each customer’s location.

Restrict shipping methods by postcode, city, state, or country. Show local delivery in your area, hide irrelevant national carriers for local customers. Total control over what each location sees.

7-day trial for $1  ·  Cancel anytime  ·  Setup in under 10 minutes
Postcode
Granular location rules
Country + State
Multiple location types
Any method
Works with all carriers
No code
Pure UI configuration

What you actually get

📍

Show local delivery only to nearby postcodes

Offer same-day or next-day local delivery to customers within your zone — and hide it from everyone else.

🚫

Hide shipping methods that don’t apply

Remove irrelevant options for each location. A customer in Scotland doesn’t need to see a London courier option.

💰

Offer cheaper rates to specific locations

Reward customers in your local area with lower shipping, without changing rates for everyone else.

🎯

Build precise shipping zones within zones

WooCommerce zones are country-level. This plugin goes deeper — postcode-level precision.

Simple setup.
Powerful results.

Get configured and live in under 10 minutes — no developer required.

1

Install alongside your existing shipping methods

Works with any WooCommerce shipping method — Flexible Shipping, UPS, FedEx, flat rate, free shipping.

2

Define your location rules

Set which postcodes, cities, states, or countries each shipping method should be visible or hidden for.

3

Go live

Customers at checkout only see the shipping options that apply to them. Clean, simple, correct.

Works everywhere
WooCommerce does

Tested with all major setups, themes, and page builders. Compatible with:

WooCommerce 8.x & 9.x
WordPress 6.x
All shipping methods
HPOS Compatible
WooCommerce Blocks
PHP 7.4 – 8.3
Postcode wildcards
Multisite

Trusted by thousands of
WooCommerce stores

3k+
Stores using location rules
Postcode-level
Granularity of control
Any carrier
Works with all WC methods
★★★★★

“We do local delivery within a 20-mile radius. This plugin lets us show that option only to the right postcodes. Before, everyone could see ‘local delivery’ and then call upset when we said we didn’t cover them.”

Rachel M. — Regional food delivery
★★★★★

“We show our in-house delivery in London postcodes and Royal Mail everywhere else. Works flawlessly, zero complaints.”

David N. — London florist with own courier
★★★★★

“Hiding irrelevant shipping methods reduced checkout confusion massively. Conversion at checkout improved noticeably after we cleaned this up.”

Priya K. — Gift hamper company

Built to solve real shipping problems.

✓ What you get with ShipAddon

Postcode-level precision

Go beyond country/state — restrict by individual or wildcard postcodes.

Works with any carrier plugin

Pair with UPS, FedEx, flat rate, Royal Mail — all of them.

Show or hide logic

Both whitelist (show only here) and blacklist (hide here) rules.

$1 trial — zero risk to test

7 days to verify it works exactly the way you need.

✗ Common problems elsewhere

WooCommerce zones alone aren’t enough

Native WC zones don’t let you restrict within a zone by postcode.

Manual workarounds break

Conditional logic in shipping method titles is fragile and developer-dependent.

Confusing checkout for out-of-area customers

Showing local delivery to everyone creates support headaches.

No granular per-method location control

Most shipping plugins treat location as zone-wide, not per method.

Everything you need,
nothing you don’t

📍

Postcode-based rules

Restrict or enable methods by specific postcodes or wildcard patterns.

🏙️

City-level rules

Show/hide by city name.

🗺️

State/county rules

Region-level restrictions within countries.

🌍

Country rules

Per-country method visibility on top of zones.

👁️

Show or hide mode

Whitelist (show only in these locations) or blacklist (hide in these locations).

🔗

Any method compatible

Works with flat rate, table rate, live rate, local pickup — all of them.

📋

Postcode wildcards

Use wildcards like ‘SW*’ to match all SW postcodes at once.

🔄

Real-time at checkout

Rates are filtered live — no caching issues.

💬

No customer-facing labels

The filtering is invisible to customers — they just see what applies to them.

Lightweight

Minimal footprint — pure logic, no heavy UI.

🔐

Works with all themes

No frontend dependency — theme-agnostic.

📦

Multiple rules per method

Stack as many location rules as you need per shipping method.

Start for $1.

Try the full plugin for 7 days, then choose the plan that fits your store count.

Single Plugin
$89 / year
1 plugin · 1 WooCommerce store
  • Full plugin access
  • Priority email support
  • All future updates
  • 1 year of support
  • Setup documentation
Get Single Plugin
7-day trial for just $1 — cancel anytime
All Access
All Access Pass
$229 / year
Every ShipAddon plugin · Unlimited sites
  • All current & future plugins
  • Unlimited site licenses
  • Dedicated account manager
  • Agency & freelancer use
  • Early access to new releases
Get All Access
7-day trial for just $1 — cancel anytime

Common questions

No — it adds precision within zones. WooCommerce zones handle country/region, this plugin handles postcode, city, and finer-grained rules inside zones.
Yes — it works with any WooCommerce shipping method, including third-party plugins like our live rate integrations.
Show mode means the method is only visible to matching locations. Hide mode means it’s visible everywhere EXCEPT matching locations. Use whichever is less work for your setup.
Yes — for example ‘SW*’ matches all London SW postcodes. ‘E1*’ matches E1, E10, E11 etc.
No — the filtering is a simple conditional check. It adds no API calls and negligible load.

Show the right shipping to the right customer.

Postcode-level location control for your WooCommerce shipping methods. $1 for 7 days.

7-day $1 trial
No setup fee
Cancel any time
1-on-1 support included