International SEO Audit
A step-by-step international SEO audit — URL structure, hreflang errors, geo-redirects, technical signals, content quality, and country-level performance.
An international SEO audit checks how a site signals language and country to search engines across six areas: URL/domain structure (start with a locale inventory — market, URL pattern, canonical, alternate method), hreflang, geo-redirects (test across a request-state matrix — IP, Accept-Language, cookie, deep links), technical signals (html lang, Content-Language, JS rendering, pagination), content localization, and country-level performance. Hreflang is the core — my Brighton SEO 2023 study of 374,756 domains found 67% of domains using hreflang have at least one error. The GSC International Targeting report is gone (removed Sept 22, 2022), so auditors now lean on crawlers like Ahrefs Site Audit (with its hreflang cluster graph) and Screaming Frog. Prioritize missing return tags and broken URLs over x-default and self-referential tags. Keep observed performance data (GSC, GA4) separate from Ahrefs' estimates — neither alone proves why a market underperforms.
TL;DR — An international SEO audit checks whether your site is telling search engines the right things about which language and country each page is for. It’s different from a regular technical audit because it adds a whole layer of signals — hreflang, URL structure, geo-redirects, localized content — that only exist once you serve more than one market. You usually run one before expanding to a new country, after traffic drops in a specific market, or the first time you set up hreflang.
What an international SEO audit covers
A normal technical SEO audit asks “can search engines crawl, render, and index this site?” An international audit adds a second question on top: “are search engines serving the right version of each page to the right people?”
That second question pulls in a set of signals you don’t have on a single-market site:
- URL / domain structure — are you using a country domain (
example.de), a subdomain (de.example.com), or a subfolder (example.com/de/)? And is that choice applied consistently? - Hreflang — the annotations that tell Google “here’s the same page in French, in German, in Japanese.” This is where most of the problems live.
- Geo-redirects — if you automatically send visitors to a version based on their location, does that quietly break how Google crawls the rest of your site?
- Localized content — is the content actually written for each market, or run through machine translation and left alone?
- Country-level performance — are some markets underperforming relative to how much search demand exists there?
Why it’s different from a regular audit
Hreflang is the big reason. It feels like a small meta tag, but it’s one of the fiddliest things in SEO to get right. John Mueller from Google put it bluntly:
“TBH hreflang is one of the most complex aspects of SEO (if not the most complex one). Feels as easy as a meta-tag, but it gets really hard quickly.”
He’s right. When I studied 374,756 domains for my Brighton SEO 2023 talk, 67% of the domains using hreflang had at least one error. Two thirds. These are problems you simply don’t have on a single-language site, which is why international audits need their own process.
When you need one
Run an international SEO audit when:
- You’re about to expand into a new market. Audit before you launch so you set up hreflang and structure correctly the first time, instead of fixing it later.
- Traffic dropped in a specific country. If Germany cratered but the US is fine, that’s almost always an international-signal problem — broken hreflang, a geo-redirect, or content that stopped ranking locally.
- You’re implementing hreflang for the first time. It’s so easy to get wrong that a pre-launch audit (and a re-audit after it goes live) pays for itself.
- As routine maintenance. Hreflang breaks silently when developers ship changes. Checking it periodically catches drift before it costs you traffic.
One thing that trips people up: the Google Search Console “International Targeting” report is gone. Google removed it on September 22, 2022. There’s no dedicated dial in GSC anymore, so an audit today leans on crawl tools (Ahrefs Site Audit, Screaming Frog) plus what little surfaces in GSC’s Enhancements section.
Want the full six-area process — every hreflang error type, the geo-redirect trap, and the tool walkthrough? Switch to the Advanced tab.
SOP: recurring international SEO audit
Run this quarterly and after any locale-template, routing, canonical, or hreflang release.
- Freeze the locale inventory. Export every supported language/region combination, its URL pattern, and its expected fallback. Done when: each live locale has an owner and representative URLs.
- Crawl every locale without redirects. Collect status, indexability, canonical, language signals, internal links, and hreflang from HTML, headers, and sitemaps. Done when: all declared locale URLs are represented in one crawl dataset.
- Validate clusters as graphs. Check self-references, return links, valid codes, direct
200targets, and agreement between implementation methods. Done when: each error is assigned to a cluster and template. - Review routing and access. Compare default requests with relevant
Accept-Languagerequests and verify crawlers can reach every version. Done when: forced redirect and inaccessible-switcher findings are documented. - Sample localization quality. Review visible language, currency, formats, local terms, and market-specific claims with a qualified reviewer. Done when: each priority market has an approved sample and remediation owner.
- Compare market performance. Segment search data by country, page directory, and query language; annotate launches and technical incidents. Done when: movement is separated into demand, targeting, and technical hypotheses.
- Prioritize and retest. Fix broken targets and missing return links before optional x-default cleanup. Done when: high-impact fixes pass the same crawl checks and the next review date is scheduled.
Metrics that keep the audit operational
Hreflang cluster integrity
Metric: Percentage of expected locale pairs with reciprocal, self-referential annotations to direct canonical 200 URLs. What it tells you: Whether alternate relationships are technically usable. How to pull it: Join crawler exports by cluster and compare actual edges with the locale inventory. Benchmark / realistic range: Establish the current baseline and drive critical-template failures toward zero. Cadence: After relevant releases and monthly for large changing sites.
Indexable locale coverage
Metric: Expected locale URLs that are indexable and self-canonical. What it tells you: Whether routing, robots, status, or canonical rules are removing intended pages. How to pull it: Join the locale inventory to crawl status, robots directives, and canonical targets. Benchmark / realistic range: Compare with the approved inventory; investigate every unexplained gap. Cadence: Monthly and after migrations.
Non-default market search visibility
Metric: Search clicks and impressions for each locale directory and target country. What it tells you: Whether intended markets are receiving search exposure rather than default-market URLs absorbing it. How to pull it: Segment Search Console page and country data using the site’s locale patterns. Benchmark / realistic range: Use each market’s own seasonally comparable baseline rather than borrowing another market’s target. Cadence: Weekly monitoring with monthly review.
Redirected entry exposure
Metric: Locale entry URLs that redirect based on request language, location, or cookie state. What it tells you: Where discovery and user-choice risks exist. How to pull it: Run a request matrix against representative entry URLs and compare status and Location headers. Benchmark / realistic range: No forced redirect on URLs that must remain directly crawlable; document any homepage-only exception. Cadence: Each routing release and quarterly.
Test yourself: International SEO audits
Evidence for this claim Google documents multiple locale-specific URL structures and multiple target-locale signals, so an audit should assess URL architecture and the signals around it together. Scope: Google Search international architecture and target-locale signals. Confidence: high · Verified: Google: Managing multi-regional sites Evidence for this claim Google supports hreflang in HTML, HTTP headers, and XML sitemaps and requires reciprocal alternate relationships, making all delivery locations and return links relevant audit surfaces. Scope: Google Search hreflang delivery and reciprocity guidance. Confidence: high · Verified: Google: Localized versionsTL;DR — Audit international SEO across six areas: (1) URL/domain structure — start with a locale inventory (market, URL pattern, audience, canonical, indexability, alternate method), then ccTLD vs subdomain vs subfolder, applied consistently; (2) hreflang — the core, where 67% of hreflang-using domains in my 374,756-domain study had errors; (3) geo-redirects vs Googlebot — test a request-state matrix (IP,
Accept-Language, cookie, deep links) since Googlebot mostly crawls from US IPs and sends noAccept-Language; (4) technical signals — html lang, Content-Language, JS rendering, pagination, server geolocation; (5) content quality — machine translation (judged on value and purpose, not the method alone), gaps, local E-E-A-T; (6) country-level performance, keeping observed GSC/GA4 data separate from Ahrefs’ estimates. Run it at scale with a crawler, not page-by-page. Prioritize missing return tags and broken URLs over x-default and self-referential tags. The GSC International Targeting report is gone — hreflang errors now surface in Enhancements.
Run the whole thing with a crawler, not by hand. Manual checks only reveal issues on the exact pages you look at; a crawl (Ahrefs Site Audit or Screaming Frog) catches the rest. Here’s the six-area process I work through.
1. URL structure audit
Before you score anything, build a locale inventory — one row per market/language combination, listing the URL pattern, intended audience, canonical target, indexability, and which hreflang delivery method (HTML head tags, HTTP headers, or sitemap) is actually deployed. This turns the rest of the audit from a pile of individual URL findings into a dataset you can join your crawl against:
| Market | Locale | URL pattern | Audience | Canonical | Indexable | Alternate method |
|---|---|---|---|---|---|---|
| Germany | de-DE | example.com/de/ | DE-based buyers | Self | Yes | HTML head tags |
| Global fallback | x-default | example.com/ | Unmatched locales | Self | Yes | HTML head tags |
Replace those rows with your own locales — the point is one normalized table before you start scoring hreflang, geo-redirect, or content errors against it.
Three structures, each with a different trade-off, and Google treats them as legitimate:
- ccTLD (
example.de) — strongest geotargeting signal, server location irrelevant, but expensive and you build domain authority separately per domain. - Subdomain (
de.example.com) — easy setup, flexible hosting, but users may not read it as country-targeted. - Subfolder (
example.com/de/) — simplest, consolidates authority on one domain, but harder to split out and tied to one server location.
There’s no universally superior structure — each has had success stories. The audit
question isn’t “which is best,” it’s “is the chosen structure implemented
consistently?” The failure mode is mixed signals: a .de domain hosted on US
servers serving English content, or a site that uses /de/ on some pages and
de.example.com on others. Consistency across TLD + content language + server/CDN
location + internal links + backlinks is what you’re verifying.
Two more checks here: never use URL parameters for language/country targeting (Google calls this “not recommended” — it makes segmentation hard), and remember GSC no longer has a manual country-targeting setting. For ccTLDs Google infers geotargeting from the TLD automatically. If you target Bing markets, Bing Webmaster Tools still has a Geo Targeting feature (domain/subdomain/directory/page level) that’s worth setting.
2. Hreflang audit (the core)
This is where most international audits live and die. Hreflang tags work in pairs to form a cluster of equivalent pages — when configured correctly, the right version swaps in for the right country during re-ranking; when broken, the swap doesn’t happen and users see the wrong language.
This section covers what belongs in a broad audit — the error taxonomy, what actually breaks a cluster, and how I triage with a crawler. For the full extraction-to-matrix mechanics (pulling every annotation from all three implementation methods, building the reciprocal matrix, and reading cluster graphs at scale), see How to Audit Hreflang at Scale.
The nine error types
From my Brighton SEO 2023 study (The Most Common Hreflang Issues Across 374,756 Domains, the largest hreflang study to date — nearly 10× larger than any other), here are the errors to hunt for, with how common each is:
| Error | % of hreflang-using domains |
|---|---|
| Missing x-default | 56.3% |
| Missing self-referencing tags | 18.0% |
| Tags pointing to redirected/broken pages | 16.9% |
| Missing reciprocal (return) tags | 15.3% |
| Tags pointing to non-canonical URLs | 8.0% |
| Incorrect hreflang values (wrong language/country codes) | 4.6% |
| Inconsistent language attributes (hreflang vs html lang) | 3.2% |
| Multiple pages for the same language | 2.5% |
| Same page for multiple languages | 2.5% |
67% of domains using hreflang have at least one issue. But not all errors are equal, and this is the nuance most checklists miss:
- Missing return tags are the most functionally damaging. If page A references page B but B doesn’t link back to A, Google may ignore the whole annotation pair. “If page X links to page Y, page Y must link back to page X.”
- Missing x-default is the most common (56.3%) but not strictly required — it’s a recommended fallback, not a hard requirement.
- Self-referencing tags are a best practice, not a requirement either. 18% miss them and many still work fine. Fix for robustness, but it’s not a critical blocker.
- Value errors are real breakers: using
jpinstead ofjafor Japanese, typos likejsforja, three-letter codes (gbrinstead ofgb),la(Laos) misused for Latin America. Use ISO 639-1 for language and ISO 3166-1 Alpha-2 for region. (Google does tolerate some things — underscores likeen_gb, the specially reserveden-UK, relative URLs, UTF-8 encoded characters.) - Inconsistent URL formats (trailing slash, http vs https) and orphaned locale URLs
(hreflang pointing at 404s or redirects) quietly break clusters too. Alternate URLs must
be fully qualified with the transport method —
https://example.com/page, not//example.com/pageor/page.
A key distinction I drew at Pubcon 2019: hreflang is about the indexed version, not the canonical. It doesn’t matter what your canonical is set as — it matters what the indexed version is. If your hreflang points to a URL that’s canonical-chained away from the indexed URL, the signal can be lost. Verify the indexed URL with GSC’s URL Inspection, not just the canonical tag.
Ahrefs Site Audit hreflang checks
Ahrefs Site Audit runs a specific set of hreflang checks I lean on:
- Hreflang annotation invalid (wrong ISO codes, e.g.
en-enoren-uk) - Self-referencing hreflang annotation missing
- Page referenced for more than one language
- More than one page for the same language
- Hreflang and HTML lang mismatch
- Missing reciprocal hreflang (no return tag)
- Hreflang to non-canonical
- Hreflang to broken page
- HTML lang attribute missing / hreflang defined but HTML lang missing
Ahrefs hreflang cluster visualization (the differentiator)
This is the part no competing guide calls out, and it genuinely changed how I audit. In Site Audit, open the URL Details panel for any page, go to the Hreflangs tab, and you see the page’s full hreflang cluster rendered as a network graph — every page in the cluster as a node, every annotation as an edge. Errors are highlighted in red, so a missing or mistakenly-added link in the cluster jumps out visually.
It’s the first tool to show hreflang clusters this way. Instead of reading a spreadsheet of “page X is missing a return tag to page Y,” you see the broken edge in the graph. It makes it far easier to spot which cluster is broken at a glance — and far easier to explain the problem to stakeholders than a typical export.
Screaming Frog hreflang method
If you prefer Screaming Frog: enable Configuration > Spider > Crawl Hreflang
before crawling. For multi-domain implementations (ccTLDs that reference each other), add
the external domains under Config > CDNs — without that, hreflang tags pointing to
.de, .fr, etc. won’t be validated. Run post-crawl analysis to populate the hreflang
filters, then review them (Contains Hreflang, Non-200 Hreflang URLs, Unlinked Hreflang URLs,
Missing Return Links, Inconsistent Language & Region Return Links, Non-Canonical Return
Links, Noindex Return Links, Incorrect Language & Region Codes, Multiple Entries, Missing
Self Reference, Not Using Canonical, Missing X-Default, and tags placed outside the head).
Export via Reports > Hreflang.
For a manual spot-check: view source on a sample page, search for hreflang, and for each
alternate URL confirm it returns 200 and has a return tag pointing back, with matching ISO
codes.
3. Geo-redirect audit
This is the silent killer. Googlebot crawls primarily from US IP addresses. If your site auto-redirects every non-local visitor to a “local” version based on IP, Googlebot — coming from a US IP — gets sent to the US version every time. The consequence: Googlebot never reaches your other language versions, can’t see their return tags, and those versions can effectively fall out of the index. A silent deindex.
There is no path that follows all international SEO best practices while also maintaining
geo-IP redirects on individual pages. Google itself notes “IP location analysis is
difficult and generally not reliable” and that “most, but not all, Google crawls
originate from the US.” On locale-adaptive pages (ones that serve different content
by detected location/language instead of separate URLs), Google is explicit that it
“might not crawl, index, or rank all your content for different locales” — largely
because Googlebot typically sends no Accept-Language header at all.
(Managing Multi-Regional and Multilingual Sites;
How Google Crawls Locale-Adaptive Pages)
Test across a request-state matrix, not one condition:
- No IP signal, no
Accept-Language, no cookie — Googlebot’s typical state. Confirm the URL still resolves to a crawlable, indexable page instead of bouncing to a default market. - US IP (or VPN) with default browser settings — see which version loads.
- Varied
Accept-Languagevalues — check the redirect doesn’t override an explicit hreflang/language choice. - Existing locale cookie — verify it doesn’t permanently trap a user who tries to switch markets.
- Deep links straight to a non-default locale URL (not just the homepage) — confirm they load the requested locale instead of bouncing to a default.
From that matrix:
- Identify any IP- or cookie-based redirects.
- The only acceptable auto-redirect is from the x-default / root URL. Individual language/country pages should never auto-redirect.
- Confirm users can manually override with a language selector, and that a cookie preference doesn’t permanently trap them.
4. Technical checks
A cluster of signals beyond hreflang:
- The
html langattribute. Set it correctly, but know its role: Google uses the visible content of the page to detect language, not the lang attribute. Sohtml langis mostly for UX/accessibility (screen readers) and other engines — Google ignores it for language detection. A page withlang="en"serving French content is still a bug worth fixing. (Ahrefs flags hreflang/lang mismatches.) - Content-Language HTTP header. The
<meta http-equiv="content-language">tag is deprecated by the HTML spec — don’t use it. The HTTP response header is still valid, and it matters because Bing weights Content-Language as a primary language signal while Google treats it as a weak hint. For Bing markets, set the header correctly. - JavaScript rendering. If hreflang is injected by client-side JS after load, crawlers that don’t fully render JS may miss it, or process it late. Compare the raw page source (no JS) against the rendered version in URL Inspection. Best practice: hreflang in server-rendered HTML head, HTTP Link headers, or XML sitemaps. SPA sites (React, Vue, Next.js in CSR mode) are the highest risk.
- Pagination with hreflang. Each paginated URL needs its own complete hreflang set, and page 2 in English should point to page 2 in French — not the French homepage. If you also canonicalize paginated pages, make sure hreflang points to the canonical/indexed URL, since Google ignores hreflang on non-canonical pages.
- Server IP / CDN geolocation for ccTLDs. For ccTLD properties, hosting in-country (or a CDN with PoPs there) is a mild reinforcing signal — TLD dominates, but consistency helps in competitive markets. More practically, regional PoPs cut TTFB and improve Core Web Vitals, which is measurable.
- GSC after deprecation. The International Targeting report was deprecated/removed on September 22, 2022 (live since 2014), and nothing replaced it directly. Hreflang errors now surface in the Enhancements section, with limited detail — treat it as a secondary signal behind your crawl tools.
5. Content quality audit
Implementation can be perfect and the site can still fail in-market because the content isn’t actually localized:
- Machine translation check. Unedited MT is a red flag. It misses local search intent (the terms people in that country actually search), cultural context, and cohesive semantic structure. Google holds translated pages to the same quality bar as original content. Check whether titles, meta descriptions, and URL slugs were localized too — slugs should use local keywords, not transliteration. One nuance worth auditing accurately: machine translation isn’t automatically a policy violation. Google’s scaled-content-abuse policy turns on purpose and value — it names automated translation as one example of a technique that becomes abusive when it’s used primarily to manipulate rankings and adds little value to users, and the same test applies to human-written scaled content. Judge translated pages on usefulness, originality, accuracy, and market fit — not on “was this translated by a machine” alone.
- Thin/duplicate content across versions. Watch for near-identical pages across languages, and for primary-market pages cannibalizing the localized versions for the same queries.
- Market-specific content gaps. Use Ahrefs Site Explorer > Organic Keywords filtered by target country to see what the site ranks for in each market, and compare to the primary market. High-performing English content with no localized equivalent is your gap list.
- Local E-E-A-T. Authority doesn’t travel automatically — relevance is built, not assumed. US PR coverage doesn’t earn trust in Japan. Audit for local author bios and credentials, local references, local certifications/compliance, reviews on local platforms (e.g. Rakuten in Japan), and links from local sites. A central content team with no local input can’t hit the same threshold as a local subject-matter expert.
6. Performance audit by market
Finally, where are you actually winning and losing. Keep two data types separate as you go: Search Console and GA4 give you first-party observed rows (actual clicks, impressions, sessions); Ahrefs’ country traffic-share and keyword-volume numbers are third-party estimates. Both are useful for building a hypothesis about a market — neither one, by itself, proves why Google chose to rank or not rank a page in that market. Google says as much about geotargeting generally: “geotargeting isn’t an exact science.” Treat crawl and performance findings as leads to confirm, not final proof.
-
Country-level traffic. Ahrefs Site Explorer > Metrics by Country shows organic
-
Country-level traffic. Ahrefs Site Explorer > Metrics by Country shows organic traffic share and keyword counts per country. Compare each market’s actual traffic share against its potential (search demand there). Markets where you have content but disproportionately low traffic signal a technical/hreflang problem; good rankings with poor CTR signal a title/description localization problem.
-
Benchmark local competitors. Site Explorer > Organic Competitors filtered by country surfaces who actually ranks in that market — often entirely different, local-language entities than your global competitors. Use a link/content gap against them.
-
GA4 country segmentation rounds it out: high traffic + poor engagement = content quality; low traffic to a market you’ve localized = discovery/hreflang. Check Core Web Vitals by country too (CrUX in PageSpeed Insights), since regional performance varies widely without a CDN.
AI summary
A condensed take on the Advanced version:
- An international SEO audit covers six areas: URL/domain structure, hreflang, geo-redirects, technical signals, content quality, and country-level performance. Start with a locale inventory (market, URL pattern, audience, canonical, indexability, alternate method) before scoring errors. Run it at scale with a crawler, not page-by-page.
- Hreflang is the core. My Brighton SEO 2023 study of 374,756 domains found 67% using hreflang have at least one error. The nine error types: missing return tags, wrong language/country codes, non-canonical targets, missing self-referential tags, missing x-default, hreflang on non-canonical pages, inconsistent URL formats, and orphaned/broken locale URLs.
- Priorities: missing return tags and broken URLs matter most; x-default (missing on 56.3%) and self-referential tags are best practices, not blockers. Hreflang follows the indexed version, not the canonical.
- Ahrefs Site Audit runs 9 hreflang checks and is the first tool to show clusters as a network graph with red-highlighted errors (URL Details > Hreflangs tab). Screaming Frog needs Crawl Hreflang + CDN crawling enabled.
- Geo-redirects vs Googlebot: Googlebot mostly crawls from US IPs and sends no
Accept-Languageheader, so site-wide IP redirects send it only to the US version — a silent deindex risk. Test a request-state matrix (no signal, US IP, variedAccept-Language, existing cookie, deep links) rather than one condition. Only the x-default/root should auto-redirect. - Technical signals:
html langis for UX/Bing (Google ignores it for language); Content-Language header is Bing’s primary signal; JS-injected hreflang risks being missed; paginated pages need per-page hreflang. - GSC International Targeting report removed Sept 22, 2022 — hreflang errors now in Enhancements (limited detail).
- Content + performance: flag unedited machine translation, but judge translated pages on usefulness, originality, accuracy, and market fit — the method alone isn’t a policy violation. Find gaps and benchmark local competitors via Ahrefs country filters and Metrics by Country, keeping observed GSC/GA4 data separate from Ahrefs’ estimates, and earn local E-E-A-T — authority doesn’t travel.
Official documentation
Primary-source documentation for international targeting.
- Tell Google about localized versions of your page — the hreflang reference: return-tag requirement, fully-qualified URLs, x-default, and the three equivalent methods (HTML link tags, HTTP Link headers, XML sitemap).
- Managing Multi-Regional and Multilingual Sites — URL structure trade-offs (ccTLD / subdomain / subfolder), geotargeting signals, and why IP-based adaptation and URL parameters are discouraged.
- How Google Crawls Locale-Adaptive Pages — why serving different content by detected location/language (instead of separate URLs) risks Google not crawling, indexing, or ranking every locale, and Googlebot’s IP/
Accept-Languagebehavior. - x-default hreflang for international landing pages (2013) — the original x-default reference.
- How x-default can help you (2023) — updated x-default use cases.
- GSC Enhancements / structured-data and hreflang reporting — where hreflang issues surface now that the International Targeting report is gone.
Bing / Microsoft
- Bing Webmaster Tools — Geo Targeting (archived, 2013) — the old feature that let you set targets at domain, subdomain, directory, or page level; removed from the redesigned Bing Webmaster Tools in 2020 and not brought back. Bing instead weights the Content-Language meta tag and HTTP header as its primary language/geo signal.
- Bing Webmaster Tools Removes Geo-Targeting Feature (Search Engine Roundtable, Sept 2020) — Fabrice Canel (Bing) confirms the removal and points to content-language meta/header as the replacement.
Quotes from the source
On-the-record statements relevant to an international audit.
Google — on hreflang complexity
- “TBH hreflang is one of the most complex aspects of SEO (if not the most complex one). Feels as easy as a meta-tag, but it gets really hard quickly.” — John Mueller, Google, Twitter/X, February 19, 2018. Coverage
Google — on the return-tag requirement
- “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.” — Google Search Central docs. Jump to quote
Google — on IP-based geolocation
- “IP location analysis is difficult and generally not reliable.” — Google Search Central docs (Managing Multi-Regional and Multilingual Sites). Read the doc
Google — on locale-adaptive crawling
- “If your site has locale-adaptive pages (that is, your site returns different content based on the perceived country or preferred language of the visitor), Google might not crawl, index, or rank all your content for different locales.” — Google Search Central docs (How Google Crawls Locale-Adaptive Pages). Jump to quote
- “Don’t use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we don’t attempt to vary the location to detect site variations.” — Google Search Central docs (Managing Multi-Regional and Multilingual Sites). Jump to quote
Google — on the International Targeting report
- “The International Targeting report has been deprecated, and will be removed from Search Console soon.” Google added that “we continue to support hreflang and our recommendations for managing multilingual and multiregional sites still stand.” (Removed September 22, 2022.) Coverage
The international SEO audit checklist
Organized by the six audit areas. Run it top to bottom.
1. URL / structure
- Locale inventory built (market, URL pattern, audience, canonical, indexability, alternate method)
- One structure chosen (ccTLD / subdomain / subfolder) and applied consistently
- No mixed signals (TLD vs server/CDN location vs content language vs internal links)
- No URL parameters used for language/country targeting
- GSC Enhancements checked for hreflang errors (the old International Targeting report is gone)
- content-language meta tag or HTTP header set for Bing markets (Bing removed its Geo Targeting feature in 2020; this is now the preferred signal)
2. Hreflang
- Crawled at scale (Ahrefs Site Audit or Screaming Frog) — not just spot-checked
- Missing return tags fixed (most critical)
- Broken / redirected hreflang URLs fixed
- Non-canonical hreflang URLs fixed (point to the indexed URL)
- Language codes validated (ISO 639-1 + ISO 3166-1 Alpha-2)
-
html langmatches hreflang language codes - Self-referencing tags present (best practice)
- x-default present, pointing to an appropriate fallback (best practice)
- Ahrefs cluster graph reviewed for each affected cluster
- Alternate URLs fully qualified, consistent format (no http/https or trailing-slash drift)
3. Geo-redirects
- Site tested across a request-state matrix (no signal, US IP/VPN, varied
Accept-Language, existing cookie, deep links) - No site-wide geo-IP redirect sending Googlebot only to the US version
- Only the x-default / root URL auto-redirects; language pages never do
- Language selector available; cookie preference doesn’t trap users
4. Technical
-
html langset correctly on every page (UX/accessibility + non-Google engines) - Content-Language HTTP header set for Bing markets (not the deprecated meta tag)
- Hreflang in server-rendered HTML / headers / sitemap — not client-side JS only
- Hreflang inside the head, not outside it
- Paginated pages have correct per-page hreflang sets (page 2 → page 2)
- No international pages accidentally noindexed or robots.txt-blocked
- Server/CDN geolocation consistent with ccTLD targeting
5. Content
- No unedited machine-translated pages live
- Titles, meta descriptions, and URL slugs localized (slugs = local keywords, not transliteration)
- Content gaps identified per market (Ahrefs country filter)
- Local author bios / credentials on market-specific content
- Local trust signals present (certifications, local contact details, local-platform reviews)
6. Performance
- Ahrefs Metrics by Country reviewed; underperforming markets flagged
- Traffic share compared to keyword potential per market
- Local competitors benchmarked per market (Organic Competitors filtered by country)
- GA4 segmented by country; Core Web Vitals checked by region
How to prioritize what to fix
You’ll surface more issues than you can fix at once. Sort every finding into a simple impact × effort matrix:
| Easy fix | Hard fix | |
|---|---|---|
| High impact | Fix immediately | Plan now (schedule + resource it) |
| Low impact | Batch fix (knock out together) | Deprioritize (revisit later) |
Mapping the hreflang error types onto it:
- High impact + easy → fix now: missing return tags on a small set of clusters,
hreflang pointing at broken/redirected URLs, wrong language/country codes (
jp→ja). - High impact + hard → plan now: site-wide geo-IP redirect blocking Googlebot (needs engineering + a language-selector pattern), client-side-JS hreflang on an SPA (needs SSR/sitemap rework), non-canonical hreflang from a deep canonical-chain problem.
- Low impact + easy → batch: missing self-referential tags, missing x-default,
html langmismatches — real best practices, but not cluster-breaking, so do them in one pass. - Low impact + hard → deprioritize: minor server-geolocation tuning for a ccTLD where TLD already dominates the signal.
The guiding principle: return tags and broken URLs break clusters; x-default and self-referential tags are robustness. Fix the breakers first.
The 6-step audit sequence
Work the areas in this order — each builds on the last:
- URL / structure — confirm the foundation is consistent before auditing anything on top.
- Hreflang — the core; crawl at scale, then review the cluster graph and triage.
- Geo-redirects — verify Googlebot can actually reach every version.
- Technical signals —
html lang, Content-Language, JS rendering, pagination, server geo. - Content quality — localization, gaps, and local E-E-A-T.
- Performance by market — measure where you’re winning/losing and benchmark locally.
Patrick's relevant free tools
- hreflang Generator + Linter — Enter your URL × locale matrix and get bidirectional hreflang markup as head tags, sitemap XML (auto-split past 50,000 URLs), and Link headers — linted live for wrong region codes, duplicates, and missing fallbacks. Runs entirely in your browser.
- returntag - hreflang checker — Enter one URL or an XML sitemap and the returntag - hreflang checker crawls the whole hreflang cluster — missing return tags, broken targets, self-reference and x-default checks, language-code validation, and head vs Link header vs sitemap disagreements — on an interactive cluster map with CSV export. The check Search Console's International Targeting report used to run.
- SEO Incident Simulator — Practice thirty deterministic technical SEO incident investigations — indexability, crawl controls, redirects, sitemaps, markup, caching, DNS, bot verification, rendering, hreflang, and faceted navigation — with clearly labeled fixture evidence and Find → Fix → Verify handoffs.
Tools for an international SEO audit
- Ahrefs Site Audit (primary). Runs the 9 hreflang checks (invalid annotation, missing self-reference, multi-language/multi-page conflicts, hreflang↔HTML-lang mismatch, missing return tag, non-canonical target, broken target, missing HTML lang). Its hreflang cluster visualization — URL Details > Hreflangs tab — renders each cluster as a network graph with errors in red, the fastest way to spot a broken cluster. Pair it with Site Explorer > Metrics by Country and Organic Competitors filtered by country for the performance audit.
- Screaming Frog SEO Spider. Enable Configuration > Spider > Crawl Hreflang; add referenced external domains under Config > CDNs for multi-domain (ccTLD) setups. Review the hreflang filters post-crawl and export via Reports > Hreflang. Also reads the Content-Language response header and flags hreflang placed outside the head and pointing to noindexed pages.
- Google Search Console. With the International Targeting report gone, check the Enhancements section for hreflang issues (limited detail), and use URL Inspection to confirm the indexed URL your hreflang should point to.
- Bing Webmaster Tools. No Geo Targeting feature anymore — Bing removed it from the redesigned tool in 2020 and never brought it back. Audit Content-Language meta tag/header handling instead, since that’s Bing’s actual signal and it differs from Google’s.
- technicalseo.com Hreflang Tags Tool — a manual validator for generating and spot-checking hreflang annotations on individual pages.
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Added a locale-inventory step, a Googlebot request-state test matrix for geo-redirects, a spam-policy-grounded nuance on machine translation, and an observed-vs-estimated caveat for country performance data.
Change details
-
Added a normalized locale-inventory table (market, URL pattern, audience, canonical, indexability, alternate method) as the first step of the URL structure audit.
-
Expanded the geo-redirect audit into a request-state test matrix (no signal, US IP, varied Accept-Language, existing cookie, deep links), grounded in Google's locale-adaptive-pages guidance and quoted in the Quotes and Official Docs lenses.
-
Clarified that machine translation isn't automatically a scaled-content-abuse violation — Google's policy turns on purpose and value, not the translation method alone.
-
Added a caveat separating first-party observed performance data (GSC, GA4) from Ahrefs' third-party estimates, and linked to the dedicated hreflang-audit article for extraction-to-matrix mechanics.
Full comparison unavailable — no prior snapshot was archived for this revision.