How to exclude shipping countries?
-
Hello everyone. I’m from Italy and I’m sorry if my english is not very good.
I have a question regarding the shipping countries.
I have set woocommerce to “Ship to specific countries”, so I have the list of countries where I decided to ship to. Then the “Sales location” to “sell to all countries”
I configured the prices for all the countries where I ship to, but I have a small problem
For Spain I have a fixed price (for all cities and regions), but I would like to exclude or modify the price for the Canary Island (because the shipping price is different).
Is there a way to do that? I need to set a different price for Spain and Canary Island (that is a part of Spain)
I hope I was clear. Thanks for your help
Davide
-
Hi @davide2021
I have set woocommerce to “Ship to specific countries”, so I have the list of countries where I decided to ship to. Then the “Sales location” to “sell to all countries”
I configured the prices for all the countries where I ship to, but I have a small problem
For Spain I have a fixed price (for all cities and regions), but I would like to exclude or modify the price for the Canary Island (because the shipping price is different).
Is there a way to do that? I need to set a different price for Spain and Canary Island (that is a part of Spain)
From what I understand, you’re looking to set up different shipping prices for mainland Spain and the Canary Islands, right? You can definitely do this with WooCommerce’s Shipping Zones feature.
Shipping Zones are geographical areas that you ship to. You can group multiple regions together that share the same shipping methods and rates.
In your case, you can create a separate shipping zone for the Canary Islands. Here’s how you can do it:
- Go to
WooCommerce > Settings > Shipping > Shipping Zones. - Click on ‘
Add shipping zone‘. - In the ‘
Zone Name‘ field, you can enter a name like ‘Canary Islands‘. - In the ‘
Zone Regions‘ field, you can select ‘Spain‘. - Below that, you’ll see an option for ‘
Limit to specific zip/postcodes‘. Click on it and a text box will appear. - Enter the zip/postcodes for the Canary Islands in this box. For example, a local shipping zone can have a specific set of postcodes (one per line); a range of postcodes (e.g. 90210…99000), or use wildcards (e.g. CB23*)
- After adding the postcodes, you can set up your shipping method (Flat Rate, Free Shipping, etc.) and enter the specific cost for shipping to the Canary Islands.
- Click on ‘Save changes‘.

Now, when a customer from the Canary Islands enters their postcode during checkout, they will be shown the shipping cost you’ve set specifically for the Canary Islands. 👉 You can learn more about Setting up Shipping Zones Here
I hope this is helpful! If you have any more questions or need further assistance, feel free to ask.
Hi Tamrat and thank you for your reply.
This is what I was looking for, but I was wondering if there an easier way to do that (for example just selecting the group “canary island” instead of the zip codes)
I’ve also try to add a “new zone” that only includes canary island, but, unfortunatley it does not work, as woocommerce always recognize the “main zone” ( that includes the shipping rate for Spain)
thanks
Davide
Hi @davide2021
This is what I was looking for, but I was wondering if there an easier way to do that (for example just selecting the group “canary island” instead of the zip codes)
I totally get where you’re coming from. You’re hoping for a simpler method to add the Canary Islands as a shipping zone, rather than having to use specific zip codes.
I took a peek at our default Zone regions and, unfortunately, the Canary Islands aren’t included as a default region. This means you’ll need to add the shipping zone using the specific zip codes for the Canary Islands. I understand it’s not the most convenient, but it’s the most accurate way we have right now to make sure the correct shipping rates apply to orders from this region.
I’ve also try to add a “new zone” that only includes canary island, but, unfortunatley it does not work, as woocommerce always recognize the “main zone” ( that includes the shipping rate for Spain)
As for your concern about WooCommerce always recognizing the “main zone”, it’s important to remember that WooCommerce matches customer addresses with shipping zones from top to bottom. So, the first match it finds is the one it uses. If you’ve already set up a shipping zone for the Canary Islands, you’ll just need to adjust the order so it’s at the top.
Here’s a quick guide on how to sort and reorder zones:
- Head over to: WooCommerce > Settings > Shipping > Shipping Zones.
- Hover and click on the far left handles. You’ll see a four-point icon appear on the screen.
- Then, simply drag and drop.

I hope this helps! If you have any other questions or need more help, don’t hesitate to ask.
I took a peek at our default Zone regions and, unfortunately, the Canary Islands aren’t included as a default region. This means you’ll need to add the shipping zone using the specific zip codes for the Canary Islands. I understand it’s not the most convenient, but it’s the most accurate way we have right now to make sure the correct shipping rates apply to orders from this region.
hi, I’ve checked the zones and you are right. I meant “Santa Cruz Tenerife” (this is the zone I need to edit).
So, what I should do is this:
- Creating a shipping rate for Spain (excluding Tenerife and without using the zip codes method)
- Adding a shipping rate ONLY for Tenerife
Is it possible?
Thanks
Hi @davide2021
I’ve checked the zones and you are right. I meant “Santa Cruz Tenerife” (this is the zone I need to edit).
So, what I should do is this:
- Creating a shipping rate for Spain (excluding Tenerife and without using the zip codes method)
- Adding a shipping rate ONLY for Tenerife
Is it possible?
I understand your concern about wanting to have a more straightforward way to manage shipping zones, particularly for the Canary Islands. Based on your latest message, it seems like you’re interested in creating a specific shipping zone for Santa Cruz de Tenerife, while also having a general shipping rate for Spain (excluding Tenerife).
Yes, this is possible to do with WooCommerce. Here are the steps you can follow:
- First, create a shipping zone for Spain (excluding Tenerife). To do this, go to
WooCommerce > Settings > Shipping > Shipping Zonesand click on “Add shipping zone“. Name it “Spain (excluding Tenerife)” and select “Spain” in the Zone regions. - Then, add your desired shipping methods and rates for this zone.
- Next, create a shipping zone specifically for Santa Cruz de Tenerife. Follow the same steps as before, but this time, name the zone “Santa Cruz de Tenerife” and in the Zone regions, add the specific ‘Santa Cruz de Tenerife, Spain‘.
- Add your desired shipping methods and rates for this zone.
- Lastly, make sure that the “Santa Cruz de Tenerife” zone is above the “Spain (excluding Tenerife)” zone in the shipping zones list. As mentioned in my previous message, WooCommerce matches customer addresses with shipping zones from top to bottom.

Image Link: https://s11.gifyu.com/images/SWGnf.gif
I hope this helps! If you have any other questions or concerns, please don’t hesitate to ask. We’re here to help!
Hello Tamrat and thank you for your reply.
This works perfectly!
however I think it would be very useful and easier to have the option to exclude regions in the same shipping zones
Thanks again for your help
Hi @davide2021
This works perfectly!
however I think it would be very useful and easier to have the option to exclude regions in the same shipping zones
Thanks again for your help
I’m pleased to hear that the solution provided has been effective for you. Your suggestion to include an option to exclude regions within the same shipping zones is a valuable one. This feature would indeed offer more flexibility and control over shipping configurations, making the process more user-friendly and efficient.
As of now, the current version of WooCommerce does not provide this specific feature. However, WooCommerce is an open-source project and it is constantly being updated and improved based on user feedback like yours. I will certainly pass along your suggestion to our development team for their consideration in future updates.
Although I’m marking this thread as resolved now, please feel free to start a new topic if you have further questions or need assistance in the future.
We’d be thrilled if you could spare a few minutes to leave us a review at 👉 https://wordpress.org/support/plugin/woocommerce/reviews.
Cheers!
- Go to
The topic ‘How to exclude shipping countries?’ is closed to new replies.