Website Not Working in Other Countries? Here's Why (and How to Check)
Your site loads perfectly for you, but a customer in Spain gets a timeout and a client in India sees "access denied". A website not working in other countries is rarely a full outage. Usually one layer between the visitor and your server answers differently in one place. Here are the five usual causes, how to check your website from different countries, and how to fix each one.
Short answer: when a site works in one country but not another, the cause is almost always one of five things: DNS that hasn't finished propagating (or answers differently by region), a misbehaving CDN edge location, a geo-blocking rule on your own firewall or CDN, an ISP or government block, or a routing problem between that country and your host. The error the visitor sees tells you which one to suspect first.
Not sure yet whether anyone else is affected? Start with our hub guide, Is my website down? How to check. This post covers the next case: the site is fine for you, but broken for a whole region.
Why is my website not working in other countries? Match the error first
"It doesn't work in Germany" can mean five different failures. Before changing anything, get the exact error from the visitor, or test from that country yourself (see below).
| What the visitor sees | Likely cause | Where to look first |
|---|---|---|
| "Access denied", "This site is not available in your country", or Cloudflare "Error 1009" | A geo-blocking rule | Your CDN or WAF, host firewall, security plugins |
HTTP 403 Forbidden with no explanation |
A firewall or bot rule matching their country or network | WAF and security plugin logs |
HTTP 451 Unavailable For Legal Reasons |
A legal block, declared openly | Whoever serves the 451 (you, your platform, or an ISP) |
"Server not found" or DNS_PROBE_FINISHED_NXDOMAIN |
DNS failing or answering differently there | DNS records, recent changes, TTLs |
| A timeout or "connection reset" | Routing, an ISP or government block, or a sick CDN edge | Traceroute and edge headers |
| The page loads, but it's old or half-broken | A CDN edge serving stale or partial content | CDN cache and purge history |
In the first three rows, something answered and said no. In the rest, the request never got a proper answer. For what each code means, see HTTP status codes explained.
1. DNS propagation and regional DNS differences
DNS turns your domain into an IP address. Resolvers around the world cache that answer for as long as the record's TTL (time to live) says. So after you change hosts, edit an A record, or switch nameservers, visitors in different countries can see different IP addresses for a while: some reach the new server, some still reach the old one.
- Normal record changes usually spread within the old record's TTL, often minutes to a few hours.
- Nameserver changes can take up to 24 to 48 hours, because the parent zone's records are cached longer.
- Geo-DNS or load-balancing records send each region to a different server pool on purpose. If one pool is unhealthy, only that region breaks.
How to check: a DNS propagation checker such as whatsmydns.net looks up your domain from resolvers in many countries and shows the IP each one returns. If one country returns an old IP, no answer, or NXDOMAIN, DNS is your problem. From a terminal you can compare your own resolver with a public one:
dig +short example.com
dig +short @8.8.8.8 example.com
How to fix it: lower the TTL (for example to 300 seconds) a day before a planned move, keep the old server running until traffic stops arriving, and make sure every geo-DNS pool points at healthy servers. If the domain stops resolving everywhere, check it hasn't lapsed; our guide on how to monitor domain expiration covers that case.
2. CDN edge issues: one location having a bad day
A CDN serves each region from a nearby edge location. When one edge misbehaves, only visitors routed to it notice. Typical symptoms are a timeout in one country, a 502 or 504 from the CDN only there, or an outdated page because that edge is serving a stale cache.
How to check: most CDNs add a response header naming the edge that served the request. On Cloudflare, the cf-ray header ends in a three-letter code for the data center, for example -MAD for Madrid:
curl -sI https://example.com | grep -i -E "cf-ray|x-served-by|x-cache|via"
Ask an affected visitor for the Ray ID on the error page. If every failing request names the same edge and the working ones don't, you've found the cause.
How to fix it: purge the cache for the affected URLs, check for a misfiring country redirect or cache rule, and open a ticket with your CDN including the Ray IDs or edge names.
3. Geo-blocking: a rule you (or someone) forgot
Geo-blocking means a server deliberately refuses visitors by country, based on their IP address. Sometimes it's intended, for licensing or sanctions compliance. Often it's an accident: a country rule added during an attack and never removed.
On Cloudflare, a visitor blocked by country sees Error 1009 "Access denied: country or region banned", served with an HTTP 403. Cloudflare documents country blocking as a WAF custom rule, so it's easy to add and easy to forget. Check every layer that can hold a country rule:
- CDN or WAF: custom rules, IP access rules, and managed bot settings
- Your host: firewall panels and "block countries" options in hosting dashboards
- WordPress and app plugins: some security plugins offer country blocking or block whole IP ranges after brute-force attempts
- Server config: an nginx
geoblock, GeoIP module, or.htaccessdeny rules left by a previous developer
How to fix it: remove or narrow the rule. If you block countries on purpose, serve a clear page that says so (a 451 for legal blocks), so visitors know it isn't an outage.
4. ISP or government blocks
Sometimes the block isn't yours at all. An ISP or national regulator can block a domain (by filtering DNS or the hostname in the TLS handshake) or block whole IP addresses. IP blocks are the dangerous kind for small sites, because one IP on a CDN or shared host can serve thousands of unrelated websites.
A real example: in Spain, a Barcelona court let LaLiga require major ISPs to block IP addresses linked to illegal football streams. In April 2025, Vercel reported that legitimate sites on blocked shared IPs became unreachable for Spanish users on those ISPs during match days, and that Cloudflare, GitHub Pages, and BunnyCDN were affected too. Visitors in neighboring countries saw nothing wrong.
How to check if a website is blocked in a country:
- Search OONI Explorer for your domain and filter by country. OONI collects network measurements from volunteers worldwide; "confirmed blocked" means a block page was detected, while "anomalous" only hints at interference.
- Compare different ISPs in the same country. If the site loads on mobile data but not on one broadband provider, suspect an ISP block.
- If it works through a VPN or a public DNS resolver like 1.1.1.1 but not on the local connection, the site is up and the local network is filtering it.
How to fix it: you can't override an ISP or government block, but you can escape collateral damage. Ask your host or CDN for a different IP, or move to a provider whose IPs aren't on the block list. If your own content is the target, take local legal advice.
5. Routing and network problems
If DNS, your CDN, and your firewall all look clean, the remaining suspect is the network path. A broken peering link or congested route can cause timeouts in a single region.
How to check: a traceroute from the affected region shows where packets stop. Tools like check-host.net can ping your host and run HTTP checks from servers in many countries, which helps you see whether only one region times out.
How to fix it: send your host the traceroute output so they can raise it with their network provider. A CDN in front of the origin often helps, because visitors connect to a nearby edge instead.
How to check your website from different countries
Combine these methods to test a website from different locations for free:
- Rule out your own side first. Paste the URL into our free instant website checker. It shows the HTTP status code, response time, and SSL details from outside your network, with no signup. It doesn't let you pick a country, so use the tools below for that.
- Compare DNS by country with a propagation checker such as whatsmydns.net.
- Run HTTP checks from many countries with a multi-location tool such as check-host.net, and compare status codes and response times.
- Look for censorship data for that country in OONI Explorer.
- Use a VPN to see the page yourself. Connect to a server in the affected country and load the site. Pay attention to the exact error or block page. Keep it to testing: bypassing someone else's geo-restrictions can break their terms or local law.
- Ask a real visitor for a screenshot, their ISP, and the error code. VPN and datacenter IPs are sometimes treated differently from home connections.
Keep watching after you fix it
Regional problems tend to come back: a security rule gets re-added, a DNS change goes wrong. Continuous uptime monitoring catches the outages that hit everyone, such as a crashed server or a domain that stopped resolving, and tells you before a customer does.
With ismysiteup, the Free plan checks every 5 minutes, Pro every minute, and Business every 30 seconds. Alerts go to WhatsApp, Telegram, Slack, or email on every plan, with the status code and response time included. See the pricing page for current details and availability of each plan. For country-specific checks, pair it with the multi-location tools above.
Managing sites for clients abroad? See our guide to monitoring client websites. If a site is offline on purpose, read how to tell if a website is down for maintenance.
Create a free ismysiteup account: 5 uptime monitors, checks every 5 minutes, and WhatsApp, Telegram, Slack, and email alerts, with no credit card.
FAQ
Why do some websites not work in other countries?
Usually because of geo-blocking by the site owner, an ISP or government block, DNS that answers differently by region, a faulty CDN edge, or a routing problem. The error message is the best clue.
How do I check if a website is blocked in my country?
Load it from another network or a VPN server in a different country. If it works there, check OONI Explorer for measurements from your country, and compare your ISP's DNS answer with a public resolver like 8.8.8.8. A block page or 451 status confirms a deliberate block.
How can I test my website from different countries for free?
Use a DNS propagation checker such as whatsmydns.net and a multi-location HTTP tool such as check-host.net, then confirm with a VPN server in the affected country.
Why does a website only work with a VPN?
A VPN gives you a different IP address, country, DNS resolver, and network route. If the site only loads with a VPN on, your location, ISP, or local network is blocking or misrouting it. The site itself is up.
How long does DNS propagation take?
Most record changes spread within the old record's TTL, often minutes to a few hours. Nameserver changes can take 24 to 48 hours. Lowering the TTL a day before a change makes the switch faster.
What does "this site is not available in your country" mean?
The site owner or its platform blocks visitors whose IP address is in your country. It's a deliberate geo-block, not an outage, and only the owner can lift it.
Monitor your websites for free
Get instant email, Telegram, and WhatsApp alerts when your sites go down. Check every 5 seconds. No credit card required.
Start Monitoring Free