International SEO skill 08 of 13

International Technical SEO SKILL.md

The International Technical SEO skill makes Claude, Codex or another AI agent fix the technical layer of international sites. It tests crawler access to every locale from US IP addresses, replaces forced IP and browser-language redirects with banners, checks CDN caching by URL, makes language selectors crawlable, sets up sitemaps per locale, removes default-locale duplicates, handles UTF-8 and non-Latin URLs and measures performance by country.

international-technical-seo/SKILL.md, version 1.0.0, 1,570 words.

International sites add technical failure modes that single-market sites never face: geo-redirects that stop Googlebot reaching other versions, CDNs serving cached pages in the wrong language, JavaScript language switchers crawlers can't follow, duplicate pages across markets, slow performance far from the origin server, character encoding errors and sitemaps that mix locales. Googlebot mostly crawls from US IP addresses, so anything that changes content by visitor location can hide versions from it. [Confirmed, Google locale-adaptive guidance]

This skill audits and fixes the technical layer of international sites: crawling and rendering per locale, redirects and banners, caching, performance by region, encoding, sitemaps, canonicals and Search Console setup.

Operating principles

  1. Separate URLs for each version. Don't serve different languages on the same URL based on location or cookies.
  2. No forced redirects. Suggest versions; never block crawlers or users from them.
  3. Cache by URL, not by visitor. CDNs must not serve one locale's content to another.
  4. Measure performance where users are. Field data by country shows real speed.
  5. Validate per locale. Crawl and inspect each market, not just the default.

Common international technical problems

ProblemEffectFix
IP-based redirectsCrawlers see only the US or default versionRemove forced redirects; use banners
Accept-Language redirectsSame as above for crawlers without that headerCrawlable URLs with banners
Locale chosen by cookie on one URLOnly one version indexedSeparate URLs per locale
CDN caching ignoring localeWrong language servedCache key per URL; avoid Vary on location unless needed
JavaScript-only language switcherVersions not discoveredPlain links in HTML
Mixed-locale sitemaps with errorsSlow discoverySitemap per locale with hreflang if used
Encoding problemsGarbled characters, broken URLsUTF-8 everywhere; percent-encode non-ASCII URLs consistently
Slow pages far from originPoor experience, weaker performanceCDN, edge caching, regional hosting where needed
Duplicate default pages (/ and /en/)Split signalsChoose one and redirect or canonicalise

When to use, and when not to

Use it when launching locales, when versions aren't indexed, when users report wrong languages, after CDN or platform changes and when performance differs by country.

Don't use it for hreflang design (hreflang-implementation) or market strategy (international-market-selection).

Inputs to ask for, in one message

  1. Domains, URL patterns and how locales are selected.
  2. CDN, hosting regions and caching rules.
  3. A crawl per locale, ideally from different regions.
  4. Search Console and Bing data per version or property.
  5. Core Web Vitals field data by country.
  6. Platform or framework details for routing and rendering.

Raw SKILL.md file

.md

This is the exact file agents read, including the credit header and licence notice. Save it as international-technical-seo/SKILL.md.

---
name: international-technical-seo
description: "Fix the technical layer of international sites: crawler access per locale from US IPs, forced IP and browser-language redirects replaced by banners, CDN caching by URL, crawlable language selectors, sitemaps per locale, default-locale duplicates, UTF-8 and non-Latin URLs, performance by country and Search Console and Bing properties per version. Use whenever someone mentions geo-redirects, IP redirects, international pages not indexed, wrong language served by CDN, language switcher SEO, locale-adaptive pages, international site speed or crawling multilingual sites."
license: CC-BY-4.0
metadata:
  author: Afeez Adebayo
  author_url: https://afeezadebayo.com
  author_linkedin: https://www.linkedin.com/in/afeez-adebayo/
  author_x: https://x.com/za_icon
  source: https://afeezadebayo.com/skills-md/marketing/international-seo/international-technical-seo/
  category: marketing
  subcategory: international-seo
  version: "1.0.0"
  created: "2026-10-10"
  updated: "2026-10-10"
---

# International Technical SEO

International sites add technical failure modes that single-market sites never face: geo-redirects that stop Googlebot reaching other versions, CDNs serving cached pages in the wrong language, JavaScript language switchers crawlers can't follow, duplicate pages across markets, slow performance far from the origin server, character encoding errors and sitemaps that mix locales. Googlebot mostly crawls from US IP addresses, so anything that changes content by visitor location can hide versions from it. [Confirmed, Google locale-adaptive guidance]

This skill audits and fixes the technical layer of international sites: crawling and rendering per locale, redirects and banners, caching, performance by region, encoding, sitemaps, canonicals and Search Console setup.

## Operating principles
1. **Separate URLs for each version.** Don't serve different languages on the same URL based on location or cookies.
2. **No forced redirects.** Suggest versions; never block crawlers or users from them.
3. **Cache by URL, not by visitor.** CDNs must not serve one locale's content to another.
4. **Measure performance where users are.** Field data by country shows real speed.
5. **Validate per locale.** Crawl and inspect each market, not just the default.

## Common international technical problems
| Problem | Effect | Fix |
|---|---|---|
| IP-based redirects | Crawlers see only the US or default version | Remove forced redirects; use banners |
| Accept-Language redirects | Same as above for crawlers without that header | Crawlable URLs with banners |
| Locale chosen by cookie on one URL | Only one version indexed | Separate URLs per locale |
| CDN caching ignoring locale | Wrong language served | Cache key per URL; avoid Vary on location unless needed |
| JavaScript-only language switcher | Versions not discovered | Plain links in HTML |
| Mixed-locale sitemaps with errors | Slow discovery | Sitemap per locale with hreflang if used |
| Encoding problems | Garbled characters, broken URLs | UTF-8 everywhere; percent-encode non-ASCII URLs consistently |
| Slow pages far from origin | Poor experience, weaker performance | CDN, edge caching, regional hosting where needed |
| Duplicate default pages (/ and /en/) | Split signals | Choose one and redirect or canonicalise |

## When to use, and when not to
Use it when launching locales, when versions aren't indexed, when users report wrong languages, after CDN or platform changes and when performance differs by country.

Don't use it for hreflang design (`hreflang-implementation`) or market strategy (`international-market-selection`).

## Inputs to ask for, in one message
1. Domains, URL patterns and how locales are selected.
2. CDN, hosting regions and caching rules.
3. A crawl per locale, ideally from different regions.
4. Search Console and Bing data per version or property.
5. Core Web Vitals field data by country.
6. Platform or framework details for routing and rendering.

## Workflow

### Step 1. Test access as a crawler
Fetch each locale from a US IP and with no Accept-Language header; confirm each URL returns its own content with 200.

### Step 2. Review redirects and banners
List any location or language-based redirects; replace with suggestion banners and remembered choices.

### Step 3. Check caching
Request the same URL from different regions and languages; confirm consistent content per URL.

### Step 4. Check discovery
Language selector links in HTML, internal links within each locale, sitemaps per locale.

### Step 5. Check duplicates and canonicals
Default locale duplication, parameter versions, self-canonicals per locale.

### Step 6. Check encoding and URLs
UTF-8, consistent handling of translated slugs and non-Latin characters.

### Step 7. Check performance by country
Core Web Vitals by country in CrUX or RUM; CDN coverage in key markets.

### Step 8. Set up properties
Search Console and Bing Webmaster Tools properties per version (domain property plus folder views), and local engine tools where relevant.

## Test commands
```bash
# Fetch a locale as Googlebot without Accept-Language
curl -sIL -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/de/ | grep -iE "^HTTP|^location|content-language"
# Fetch with a different Accept-Language to check for forced redirects
curl -sIL -H "Accept-Language: fr-FR" https://example.com/de/ | grep -iE "^HTTP|^location"
```
Any redirect away from /de/ in either test is a problem to fix.

## CDN and caching rules
| Rule | Why |
|---|---|
| Cache key includes the full URL path (locale folder) | Each locale cached separately |
| Don't vary cached HTML by country or Accept-Language unless content truly differs on the same URL | Avoids serving the wrong language |
| Exclude personalised banners from cached HTML, or render them client-side | Banners don't leak between users |
| Purge all locales when shared templates change | Keeps versions consistent |
| Serve from edges near key markets | Better speed for distant users |

## Sitemaps per locale
- One sitemap (or set) per locale, referenced from a sitemap index.
- Include only canonical, indexable URLs for that locale.
- Add hreflang annotations in sitemaps if that is the chosen method.
- Submit each locale's sitemap in the matching Search Console property and in Bing Webmaster Tools.

## Non-Latin and translated URLs
- UTF-8 throughout pages, databases and headers.
- Translated slugs are fine; keep them stable and consistent.
- Expect percent-encoded URLs in logs and some tools; make sure links and hreflang use the same form everywhere.
- For scripts like Chinese, Japanese or Arabic, decide between native-script slugs and transliterated or English slugs based on how users share links in that market.

## Performance by market
Use field data (Chrome UX Report or your RUM tool) filtered by country. If a key market is much slower, check CDN coverage, image sizes, third-party scripts blocked or slow in that region (for example Google services in mainland China) and hosting distance.

## Launch checklist for a new locale
- Locale URLs return 200 from a US IP with no Accept-Language header.
- No forced redirects; banner tested.
- Locale sitemap submitted; properties verified.
- Language selector links present in server HTML.
- CDN cache keys tested from two regions.

- Core Web Vitals checked for the locale in field data after launch.

## Edge cases and judgement calls
| Situation | What to do |
|---|---|
| Legal need to restrict content by country | Restrict at the point of purchase or action, and keep informational pages crawlable where lawful |
| Locale-adaptive pages unavoidable | Follow Google's locale-adaptive guidance and expect weaker results than separate URLs |
| China delivery | Mainland hosting or CDN, often with licensing requirements; specialist review |
| Headless or JavaScript sites | Server-render locale content and links |
| Multiple platforms per market | Align routing, hreflang and canonicals across platforms |

## Handoffs to related skills
- hreflang: `hreflang-implementation`
- Structure: `international-site-structure`
- Targeting signals: `geo-language-targeting`
- Local engines: `local-search-engines`
- Rendering, redirects and speed: the Technical SEO `javascript-seo`, `redirects-status-codes` and `core-web-vitals` skills

## Worked example
A travel company redirected visitors by IP: US visitors to /us/, UK to /uk/, everyone else to /int/. Google indexed only /us/ pages well, because Googlebot crawled from the US. The fix removed forced redirects, added a banner suggesting the local version, made the language selector plain links and set CDN cache keys per URL. Within two months /uk/ and /de/ pages were indexed and ranking in their markets, and bookings from organic search in the UK and Germany rose.

## Output format
```
# International technical review: <site>, <date>
## Crawler access per locale (tests and results)
## Redirects, banners and caching findings
## Discovery, duplicates and canonicals
## Encoding and URLs
## Performance by country
## Fixes with owners and tests
```

## Common mistakes
- Forced redirects by IP or browser language.
- Locales served on one URL by cookie.
- CDNs caching the wrong language.
- JavaScript-only language switchers.
- Testing only from the home country.

## Questions to ask before you recommend changes
- How are locales chosen today, for users and crawlers?
- Where are servers and CDN edges, and how is caching keyed?
- Are there legal reasons to restrict content by country?

## Self-check before you answer
- Can a crawler from the US reach every locale with 200?
- Are redirects replaced with banners?
- Is caching consistent per URL?
- Is performance checked by country?

## Official documentation
- Google: locale-adaptive pages: https://developers.google.com/search/docs/specialty/international/locale-adaptive-pages
- Google: managing multi-regional and multilingual sites: https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites
- Chrome UX Report (field data by country): https://developer.chrome.com/docs/crux

---
Created by Afeez Adebayo, Marketing, SEO & Growth Expert
Website: https://afeezadebayo.com
LinkedIn: https://www.linkedin.com/in/afeez-adebayo/
X: https://x.com/za_icon
Source: https://afeezadebayo.com/skills-md/marketing/international-seo/international-technical-seo/

Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). You may copy, share and adapt this skill, including for commercial use, as long as you credit Afeez Adebayo and link to the source URL above. Keep this notice in any copy or adapted version.

Workflow

Step 1. Test access as a crawler

Fetch each locale from a US IP and with no Accept-Language header; confirm each URL returns its own content with 200.

Step 2. Review redirects and banners

List any location or language-based redirects; replace with suggestion banners and remembered choices.

Step 3. Check caching

Request the same URL from different regions and languages; confirm consistent content per URL.

Step 4. Check discovery

Language selector links in HTML, internal links within each locale, sitemaps per locale.

Step 5. Check duplicates and canonicals

Default locale duplication, parameter versions, self-canonicals per locale.

Step 6. Check encoding and URLs

UTF-8, consistent handling of translated slugs and non-Latin characters.

Step 7. Check performance by country

Core Web Vitals by country in CrUX or RUM; CDN coverage in key markets.

Step 8. Set up properties

Search Console and Bing Webmaster Tools properties per version (domain property plus folder views), and local engine tools where relevant.

Test commands

# Fetch a locale as Googlebot without Accept-Language
curl -sIL -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/de/ | grep -iE "^HTTP|^location|content-language"
# Fetch with a different Accept-Language to check for forced redirects
curl -sIL -H "Accept-Language: fr-FR" https://example.com/de/ | grep -iE "^HTTP|^location"

Any redirect away from /de/ in either test is a problem to fix.

CDN and caching rules

RuleWhy
Cache key includes the full URL path (locale folder)Each locale cached separately
Don't vary cached HTML by country or Accept-Language unless content truly differs on the same URLAvoids serving the wrong language
Exclude personalised banners from cached HTML, or render them client-sideBanners don't leak between users
Purge all locales when shared templates changeKeeps versions consistent
Serve from edges near key marketsBetter speed for distant users

Sitemaps per locale

  • One sitemap (or set) per locale, referenced from a sitemap index.
  • Include only canonical, indexable URLs for that locale.
  • Add hreflang annotations in sitemaps if that is the chosen method.
  • Submit each locale's sitemap in the matching Search Console property and in Bing Webmaster Tools.

Non-Latin and translated URLs

  • UTF-8 throughout pages, databases and headers.
  • Translated slugs are fine; keep them stable and consistent.
  • Expect percent-encoded URLs in logs and some tools; make sure links and hreflang use the same form everywhere.
  • For scripts like Chinese, Japanese or Arabic, decide between native-script slugs and transliterated or English slugs based on how users share links in that market.

Performance by market

Use field data (Chrome UX Report or your RUM tool) filtered by country. If a key market is much slower, check CDN coverage, image sizes, third-party scripts blocked or slow in that region (for example Google services in mainland China) and hosting distance.

Launch checklist for a new locale

  • Locale URLs return 200 from a US IP with no Accept-Language header.
  • No forced redirects; banner tested.
  • Locale sitemap submitted; properties verified.
  • Language selector links present in server HTML.
  • CDN cache keys tested from two regions.
  • Core Web Vitals checked for the locale in field data after launch.

Edge cases and judgement calls

SituationWhat to do
Legal need to restrict content by countryRestrict at the point of purchase or action, and keep informational pages crawlable where lawful
Locale-adaptive pages unavoidableFollow Google's locale-adaptive guidance and expect weaker results than separate URLs
China deliveryMainland hosting or CDN, often with licensing requirements; specialist review
Headless or JavaScript sitesServer-render locale content and links
Multiple platforms per marketAlign routing, hreflang and canonicals across platforms
  • hreflang: hreflang-implementation
  • Structure: international-site-structure
  • Targeting signals: geo-language-targeting
  • Local engines: local-search-engines
  • Rendering, redirects and speed: the Technical SEO javascript-seo, redirects-status-codes and core-web-vitals skills

Worked example

A travel company redirected visitors by IP: US visitors to /us/, UK to /uk/, everyone else to /int/. Google indexed only /us/ pages well, because Googlebot crawled from the US. The fix removed forced redirects, added a banner suggesting the local version, made the language selector plain links and set CDN cache keys per URL. Within two months /uk/ and /de/ pages were indexed and ranking in their markets, and bookings from organic search in the UK and Germany rose.

Output format

# International technical review: <site>, <date>
## Crawler access per locale (tests and results)
## Redirects, banners and caching findings
## Discovery, duplicates and canonicals
## Encoding and URLs
## Performance by country
## Fixes with owners and tests

Common mistakes

  • Forced redirects by IP or browser language.
  • Locales served on one URL by cookie.
  • CDNs caching the wrong language.
  • JavaScript-only language switchers.
  • Testing only from the home country.

Questions to ask before you recommend changes

  • How are locales chosen today, for users and crawlers?
  • Where are servers and CDN edges, and how is caching keyed?
  • Are there legal reasons to restrict content by country?

Self-check before you answer

  • Can a crawler from the US reach every locale with 200?
  • Are redirects replaced with banners?
  • Is caching consistent per URL?
  • Is performance checked by country?

Official documentation

When to use this skill, and when not to

Use it when launching locales, when versions aren’t indexed, when users report wrong languages, after CDN or platform changes and when performance differs by country.

International sites have failure modes single-market sites never face. Googlebot mostly crawls from US IP addresses, so anything that changes content by visitor location can hide versions from it. CDNs can serve one locale’s cached page to another, and JavaScript-only language switchers leave whole markets undiscovered.

Don’t use it for hreflang design (use hreflang Implementation) or market strategy (use Market Selection).

Example prompts

  • “We redirect visitors by IP. Is that hurting us?”
  • “Our German pages aren’t indexed. Check our setup.”
  • “Users see the wrong language from our CDN. Fix caching.”
  • “Is our language switcher crawlable?”
  • “Why is our site slow in Australia?”

Example output

The skill returns a fixed structure. A shortened example for an imaginary site:

# International technical review: example travel company, 11 October 2026

| Test | Result | Fix |
| /uk/ fetched as Googlebot from US | 302 to /us/ | Remove forced IP redirect; add banner |
| /de/ with Accept-Language fr | 302 to /fr/ | Same |
| CDN cache key | Ignores locale cookie | Key by URL path |
| Language selector | JavaScript only | Plain HTML links |

## Result after fixes: /uk/ and /de/ indexed and ranking within 2 months

Every locale is tested as a crawler would see it, from a US IP with no language header, because that is how most of Google’s crawling happens.

What the agent needs from you

The skill asks for domains, URL patterns and how locales are selected, CDN, hosting regions and caching rules, a crawl per locale, Search Console and Bing data per version, Core Web Vitals field data by country and platform or framework details for routing and rendering.

How this skill hands off to related skills

Technical work connects to structure and the Technical SEO set: annotations in hreflang Implementation, URL design in Site Structure, signals in Targeting Signals, local engines in Local Search Engines, and rendering, redirects and speed in the Technical SEO JavaScript SEO, Redirects and Core Web Vitals skills.

How to run International Technical SEO step by step

  1. Install the skill as international-technical-seo/SKILL.md.
  2. Describe locale selection, CDN and hosting.
  3. Run the curl tests for each locale.
  4. Crawl each locale and export Search Console data per version.
  5. Review findings on redirects, caching, discovery and speed.
  6. Fix with owners and tests, then re-run the checks.

Situations this skill handles

International technical problems recur. The skill handles these situations:

SituationWhat the skill does
Legal need to restrict by countryRestricts at purchase, keeps information pages crawlable where lawful
Locale-adaptive pages unavoidableFollows Google’s guidance and sets expectations
China deliveryMainland hosting or CDN with specialist review
Headless or JavaScript sitesServer-renders locale content and links
Multiple platforms per marketAligns routing, hreflang and canonicals
Root and /en/ duplicateChooses one and redirects or canonicalises

What makes this skill different

Most international SEO advice skips the technical layer or reduces it to hreflang. This skill tests what crawlers actually receive for every locale, removes forced redirects, fixes caching and discovery and measures speed where users are.

It gives developers concrete tests (curl commands, regional fetches, cache checks) so fixes can be verified, not assumed.

Practical tips from real projects

  • Separate URLs for every version.
  • No forced redirects.
  • Cache by URL.
  • Test from where crawlers and users are.

A worked example: a travel company redirected visitors by IP, sending US visitors to /us/, UK visitors to /uk/ and everyone else to /int/. Google indexed only /us/ pages well because Googlebot crawled from the US. Removing forced redirects, adding a banner suggesting the local version, making the language selector plain links and setting CDN cache keys per URL got /uk/ and /de/ indexed and ranking within two months, and organic bookings from the UK and Germany rose.

Common problems have known fixes: IP and Accept-Language redirects replaced with banners; one URL switching locales by cookie replaced with separate URLs; CDN caching keyed by URL; JavaScript-only switchers replaced with HTML links; error-prone mixed sitemaps split per locale; encoding issues solved with UTF-8 throughout; slow distant markets helped by CDN edges and regional hosting; and duplicate default pages consolidated.

CDN rules keep locales separate: cache keys include the full path, cached HTML doesn’t vary by country unless content truly differs on the same URL, personalised banners stay out of cached HTML, all locales are purged when shared templates change and edges sit near key markets.

Sitemaps per locale, referenced from an index and submitted in matching Search Console properties and Bing Webmaster Tools, speed discovery and make indexing visible market by market.

Non-Latin and translated URLs work fine with UTF-8 everywhere, as long as links, hreflang and sitemaps use the same form. For Chinese, Japanese or Arabic, the choice between native-script and transliterated slugs depends on how users share links in that market.

Performance is checked by country with field data; slow markets often point to missing CDN coverage, heavy images or third-party scripts blocked or slow in that region, such as Google services in mainland China.

A launch checklist for each new locale confirms 200 responses from a US IP without a language header, no forced redirects, a submitted sitemap, crawlable selector links, tested cache keys and field data checked after launch.

Search Console and Bing properties per version complete the setup: a domain property for the whole site plus folder properties for each locale, each with its own sitemap, so market teams see their own indexing and performance.

Re-test after every CDN or routing change.

Frequently asked questions

Forced redirects can stop Googlebot, which mostly crawls from the US, from reaching other versions. Use suggestion banners instead.

Pages that change content on the same URL based on location or language. Google supports them with caveats but recommends separate URLs.

By URL, so each locale folder is cached separately, without varying cached HTML by location unless content truly differs on the same URL.

Yes. Plain HTML links to equivalent pages let crawlers discover every version.

No, if UTF-8 is used everywhere and links, hreflang and sitemaps use the same form of each URL.

Use field data from the Chrome UX Report or your own real-user monitoring filtered by country.

Changelog

  • 1.0.0, 10 October 2026: first release.

Use, adapt and share this skill under CC BY 4.0: credit Afeez Adebayo and link to this page.