WooCommerce Restrict Shipping

Need WooCommerce to restrict shipping of specific items to certain destinations?

WooCommerce Restrict Shipping lets you do that. It’s great for selling items than cannot be shipped to certain countries or states (or provinces), and you can restrict destinations by postal codes too.

It’s easy to use. If you need to set the same restrictions for all products in your entire store you can do that in the main plugin settings. If you need to have specific restrictions for specific products then you can do that while editing a product: Simply edit a product, select which countries and/or states/provinces where the product cannot be shipped to, and you’re done.

And, if you need to restrict individual variations of a variable product you can do that too.

During the checkout process, if a shopper selects a shipping destination that matches your restrictions they’ll see a message (which you can customize) alerting them that the item cannot be shipped to their chosen destination. At that point the shopper will need to either remove the item from the cart or change their shipping destination before the checkout process can proceed.

You can set up your restrictions on a global basis in the plugin settings, then enable those restrictions on a per product basis for each product that needs to have restricted shipping destinations.  And, you can also add more restrictions on a per product basis. When you that you can choose whether those restrictions should be merged with the global restrictions or used to override the global restrictions. This gives you a huge amount of flexibility.

This plugin recognizes all countries and states/provinces built into WooCommerce, which encompasses the entire world.

Plus it comes with our unbeatable support via email and phone.

See the Screenshots tab above to see what some sample settings might look like.

Compatibility: WooCommerce 3.0 and newer

Current version: 2.3



Woocommerce Restrict Shipping - Plugin SettingsWoocommerce Restrict Shipping - Restrictions for Simple ProductsWoocommerce Restrict Shipping - Restrictions for Variable ProductsWoocommerce Restrict Shipping - Checkout Page, Sample Error Message

We keep all of our software up to date with the latest versions of WooCommerce and WordPress.

If you don't see any recent changes below it's because none have become necessary!

WooCommerce 8 compatbility
	PHP 8 compatbility
	High performance order storage (HPOS) compatbility
	WC cart/checkout block compatbility

Version 2.2 - June 25, 2023
	WooCommerce 7.8 compatibility
	WooCommerce high performance order system (HPOS) compatibility
	Correct a variable name typo in the plugin's main settings file

Version 2.1.1 - August 22, 2022

	Check mode for "can" and set flag to show message when appropriate when global category settings are in use with no product based settings
	Ensure country has states defined before calling count() on the states element of the country

Version 2.1 - December 5, 2021

	Check shipping restrictions on the cart page when the shopper uses the "Calculate shipping" feature on the cart page

Version 2.0.5 - October 5, 2021 

	WC 5.x compatibility

Version 2.0.4 - November 15, 2020

	Updated rule checking when the mode is set to "CAN" (locations that can be shipped to)

Version 2.0.3 - October 15, 2019

	Updated product settings label to indicate whether the global restriction mode is CAN or CANNOT

Version 2.0.2 - September 20, 2019

	WooCommerce 3.7.x compatibility

Version 2.0.1 - June 13, 2019

	Corrected an issue with getting restricted postal codes for non-variable products
	Corrected an issue with saving restricted postal codes for variable products
	Added a new Restriction Mode setting that determines whether restricted locations are for where you can or cannot shipped to. 

Version 2.0 - May 16, 2019

	Added support for restricting based on postal codes

Version 1.7.5 - June 20, 2018

	When shipping is restricted based on categories ensure that restrictions only apply to products in the selected categories

Version 1.7.4 - January 7, 2016

	Tweaked the restriction checking to allow any other WooCommerce messages to display appropriately

Version 1.7.3 - December 7, 2015

	Modified default mode for products from Override to Merge
	Ensure empty product restriction setting results in empty array

Version 1.7.2 - June 15, 2015

	Added setting to enable experiemental live Javascript checkout page updates

Version 1.7.1 - May 29, 2015

	Cleaned up UI for the states/province selections

Version 1.7 - May 27, 2015

	Added ability to set restrictions per variation
	Added JS message display when the update order review process takes place
	Refactored code to load admin stuff only when necessary
	Moved product-based restriction settings into the Product Data area

Version 1.6.9 - May 13, 2015

	Adjusted destination detection checking

Version 1.6.8 - April 23, 2015

	Replaced "Select2" with "Chosen" since Select2 is pathetically slow when larger lists
	Replace jQuery "live" function call with "on" function call

Version 1.6.7 - February 23, 2015

	WooCommerce 2.3 compatbility
	Added new action that checks shipping address before the shopper attempts to place the order
Version 1.6.6 - August 1, 2014

	Surpress harmless warning messages

Version 1.6.5 - July 17, 2014

	Added buttons for every country that has states or provinces

Version 1.6.4 - May 19, 2014

	By customer request: Added product page button to easily select all Australian states. 

Version 1.6.3 - April 28, 2014

	Load settings before testing for a custom message.

Version 1.6.2 - April 24, 2014

	Added setting to let the admin set the error message string.

Version 1.6.1 - April 9, 2014

	Fixed "empty()" function call

Version 1.6 - April 7, 2014

	Added buttons to easily add all US states or EU states etc to the restriction list
	Added the ability to set global category restrictions when the admin does not want to set restrictions on a per-product basis.

Version 1.5.7 - March 31, 2014

	Added buttons to easily add all US states or EU states etc to the restriction list

Version 1.5.6 - February 11, 2014

	WooCommerce 2.1 compatbility
Version 1.5.5 - December 18, 2013 

	Fixed variable name when getting post meta

Version 1.5.4 - December 9, 2013 

	Fixed typo in a variable name

Version 1.5.3 - December 6, 2013 

	Add global settings

Version 1.5.2 - November 13, 2013 

	Fixed checking for countries that have no states

Version 1.5.1 - October 20, 2013 

	Added checking for the WooCommerce option "Only ship to the users billing address"

Version 1.5 - July 2, 2013 

	Initial Public Release

Ask a Question:


From: 79.00 / year

This extension lets you restrict shipping of specific products to specific destinations.

All of our plugins come with great support via email and phone.

Subscription options

A subscription entitles you to 1 year of updates and support. Each individual web site requires a license key, so choose the right license for your needs.