WooCommerce Country Catalogs – Product Country Restrictions


This plugin is the perfect tool for creating Country Catalogs. You can geolocalize your WooCommerce store and offer different products based on the country of the user.

Are you creating a WooCommerce store and you want to restrict products to specific countries?

This plugin lets you sell WooCommerce products to specific countries.

This plugin works with WPML automatically.

Why do I need special country catalogs?

Simple, to make more money 🙂

Sell WooCommerce products with higher prices for the United States, and lower prices for India or developing countries.

Sell your digital products globally and the physical version in your home country.

How does it work?

When you create or edit products, you will have the option to sell the product to a list of countries, or not sell the product to a list of countries.

When a product is available for a country, only users from that country can view the product and buy it. The same thing happens for restricted products.

Restricted products are completely hidden from the blacklisted country. They are removed from the product catalog, product category, product search, etc. The people from the disallowed country can´t see the product at all.

You can use this for a lot of purposes.

Use cases

  • Create country catalogs easily

  • Sell different product categories for each country

  • Sell WooCommerce products with higher prices for the United States, and lower prices for India

  • Offer products with different Attributes, Variations, Pictures, and Prices to different Countries

  • Change product descriptions and titles based on the country of the user

  • Apply the country restrictions to every product

  • This works with Simple Products, Grouped Products, and External Products

  • In the free version there´s no global settings, you need to edit every product manually

  • And more…

Premium features

Try Premium Plugin for FREE for 7 Days

Advanced geolocation options:
Auto detect country by IP
Show country selector in the header and let users view the country catalogs
Use the shipping country
Use the billing country
Allow to use a second geolocation method as a fallback, for example, shipping country + auto detected ip

Advanced restriction options:
Hide products from the shop catalog, category page, search, and product page
Show products and disable “add to cart”
Show products and disable “add to cart” and hide prices

All product types supported
Example. Variable Products = Restrict variable products and individual variations by country.

Hide individual Product Variations by Country
Offer a “large size” to Spain, “Small size” to Germany
Offer a “physical product” to your home country, and “digital (downloadable)” option to the other countries
Offer a print / delivery to your home country, and digital only to other countries
Show different variation pictures and product dimensions for different countries

Try Premium Plugin for FREE for 7 Days

Hide product categories by Country
You have a menu with the categories: Music, Movies, and Apps.
You can hide the “Music” catalog for Canada, and show the “Movies” catalog for USA.
This will automatically remove the category from the menus, categories list, product pages, etc.
You can select if you want to hide the category catalog only or hide category and all products under the category.

Restrict Coupons by Country
You can create coupons for specific countries, continents, or regions. I.e. Coupons for Europe, Canada, etc.

Bulk Edit Products by Category
You can hide all products under the category “Music” for Canada, and show all products under category “Videos” for USA only.

Global settings page
You can apply country restrictions to all products automatically. No need to edit every product manually.

You can hide all products for specific countries, or sell products to specific countries.

You can also hide all variations by attributes for specific countries. For example, make all “size large” available to USA only, this applies to all products at once.

Try Premium Plugin for FREE for 7 Days


  • Settings in the product editor


Automatic installation

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type the plugin name and click Search Plugins. Once you’ve found our plugin you can install it by simply clicking “Install Now”.

Manual installation

The manual installation method involves downloading our plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains instructions on how to do this here.


What type of products can I use this plugin on?

The free version works with simple, grouped, external products.

The premium version works with all product types.


May 16, 2019
After making a few feature requests, not only were they all implemented into the plugin without hesitation, but the turn around time was almost right away. Other than that, the plugin works as advertised with a reasonable amount of flexibility in how you show or hide products with fallback options.
May 11, 2019
After contacting via email the creator of this plug in,I had a fast response(within 24h) and I received the new updated version of the plug in customized to my needs within 48h since the time I send the first email. It's worth to mention the version I received came with no glitches and fully functional. Very good job, wish WordPress had more creators like them!
May 4, 2019
I'm using this plugin on our corporate site and believe me this is a great option to restrict products by country. And, the real plus is the support received; not so often I received a prompt reply from develeoper. I suggest this plugin.
February 26, 2019
This plugin makes it very easy to separate your catalog by country. We had a couple of questions unique to our application and Jose was quick to respond and ensure we were up and running.
Read all 8 reviews

Contributors & Developers

“WooCommerce Country Catalogs – Product Country Restrictions” is open source software. The following people have contributed to this plugin.




  • NEW – Added automatic support for WPML
  • CHANGE – Improve the cache support so proxies don’t cache the ajax call
  • CHANGE – When the cart or order is updated, updated the country selector in case the current country changed
  • FIX – The general price shown in variable products is cached, so when user switches country it’s not reflecting the real price.
  • FIX – The restriction is not executed when the order is updated on rare scenarios when using the option “Sync the country selector with the shipping country?”.


  • NEW – Added compatibility with WPRocket
  • NEW – Added option to disable the removal of restricted products in the checkout page
  • NEW – Country selector – Use the country from the IP as default country if the option is empty
  • NEW – Added feature to restrict coupons by country, continent, or region
  • NEW – Added option to enable restrictions on REST API endpoints
  • NEW – Added limited compatibility with all cache systems (apply restrictions via ajax on product pages).
  • CHANGE – Don’t apply restrictions on REST API endpoints by default
  • FIX – Allow to unset the “Country selector: Default country” option.


  • FIX – Sometimes WC initializes and the helpers haven’t loaded causing a fatal error
  • FIX – Added 9 missing flags for the country selector


  • CHANGE – Don’t apply the restrictions to REST API requests
  • FIX – When we save products with empty restrictions, sometimes it saves it as an array with empty string making it think it is restricted
  • FIX – Improved the method for reading CSVs, the old caused php warnings when allow_furl_open was disabled


  • NEW – Added shortcode [wccr_country countries=”US,ES” disallowed=”0″]text[/wccr_country] to allow to display custom description and short description per country (premium)
  • NEW – Added option to not apply country restrictions to selected user roles (premium)
  • NEW – Allow to select entire continents in the backend options as a shortcut
  • NEW – Allow to select entire regions in the backend options as a shortcut
  • NEW – Allow to select entire sub regions in the backend options as a shortcut
  • NEW – Added option to link the country selector with the shipping country (premium)
  • NEW – Added option to change the “product not allowed for your country” message (premium)
  • FIX – The “add to cart” was appearing when we viewed a variable product from a restricted country (premium)
  • FIX – Allow to remove the fallback geolocation method, dont force IP as default. (premium)
  • FIX – Some UN countries were missing from the list

1.4.0 – 2019-05-01

  • NEW – If we allow to view restricted products, show a notice on the product page saying “the product is not allowed for your country”
  • NEW – Added support for all variation types added by other plugins (i.e. subscription_variations) (premium)
  • NEW – Added option to use a fallback geolocation method in case the primary geolocation can’t find the user country (premium)
  • NEW – Added option to select if the products are shown or hidden when the user country is unknown (premium)
  • NEW – If the geolocation method is shipping/billing country, use the country from the logged in user’s profile (premium)
  • NEW – Added option to save multiple rules for hiding/showing variations globally (premium)
  • NEW – Added shortcode [vcwccr_country_selector] to display the country selector anywhere (premium)
  • CHANGE – Clear the country cookie when we change global settings to avoid geolocation errors when testing new settings and using old cookies (premium)
  • CHANGE – Country selector – Use the shipping countries from WooCommerce settings for the list as default (premium)
  • CHANGE – Country selector – If we couldn’t find a menu from the settings or automatically, show it as a floating dropdown at the top right corner (premium)
  • CHANGE – Country selector – Added compatibility with the uber menu plugin (premium)
  • FIX – Country selector – some countries don’t have flags (premium)
  • FIX – Country selector – initialize a second time to make it work with “late menus” (premium)
  • FIX – Product variations metabox – We can’t remove the selected country, it always comes back (premium)
  • FIX – Product variations restriction – Sometimes variations were disabled when the country field was empty (premium)

1.3.0 – 2019-03-16

  • NEW – Allow to regenerate country cookie by appending ?wcacr_reset=1 to any url
  • NEW – Settings – Allow to select a page to display when a product is restricted so we can display custom messages
  • FIX – Geolocation issue on sites hosted by hostgator
  • FIX – Make products shortcode cache unique for each country

1.2.4 – 2019-03-04

  • FIX – The country selector JS initializes too late preventing it from using the theme js logic.
  • FIX – PHP warning

1.2.3 – 2019-03-01

  • FIX – Bug on the restriction logic during checkout

1.2.2 – 2019-02-28

  • CHANGE – Added option to select menus for the country selector

1.2.1 – 2019-02-26

  • CHANGE – Added a link to global settings on the product metabox to improve UI
  • CHANGE – Updated freemius SDK to v2.2.4
  • CHANGE – Clear WooCommerce’s cache when a post’s country restrictions are updated
  • FIX – Country restrictions per category – It doesn’t update all the products
  • FIX – Products weren’t excluded on the frontend if the products list used post__in
  • FIX – Sometimes the country selector doesn’t look like a dropdown when themes use a different html structure for dropdown menus
  • FIX – Country restrictions per category – When a product is created/updated, apply the country restrictions from the assigned category
  • FIX – Country restrictions per category – When we remove a category from a product, if the category had restrictions, remove the restrictions from the product

1.2.0 – 2019-02-17

  • NEW – Added geolocation option: Use the shipping country (premium)
  • NEW – Added geolocation option: Use the billing country (premium)
  • NEW – Added geolocation option: Display a country selector in the header so the user can switch between country catalogs (premium)
  • NEW – Added restriction option: Allow to show products and disable “add to cart” (premium)
  • NEW – Added restriction option: Allow to show products and disable “add to cart” and hide prices (premium)
  • CHANGE – Category – Separate section with

, it doesn’t standout between custom fields added by other plugins (premium)
* FIX – Categories – Allow to save country field empty and reset product meta (depending on the “apply to” field)
* FIX – Products – Allow to clear the country field to reset restrictions

1.1.2 – 2019-02-12

  • CHANGE – Replace our geolocation library with WC’s built-in geolocation class
  • CHANGE – Add country as body class, so we can hide elements by country with css
  • CHANGE – Add non-persistent cache for the disallowed products list to improve performance
  • FIX – Exclude common bots from geolocation by user agent.
  • FIX – Improve the product filtering logic. Sometimes hidden products appeared on some themes’ lists

1.1.1 – 2018-12-29

  • FIX – when product metabox is saved initially, the country restriction doesnt work
  • CHANGE – Improved instructions on welcome page and global settings

1.1.0 – 2018-09-19

  • Added option to restrict individual product categories by country
  • Added option to bulk edit products by category

1.0.1 – 2018-09-19

  • Save countries as string separated by commas instead of serialized array

1.0.0 – 2018-09-09

  • Initial release