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 SEOInternational SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. 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 — hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly., geo-redirectsA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang., 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 hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others..
What an international SEO audit covers
A normal technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. audit asks “can search engines crawl, render, and indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. 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.
- GeoGenerative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO.-redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. — 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 auditAn SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory. 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-redirectA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang., 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 ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. “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 geoGenerative Engine Optimization — visibility inside AI answer engines.-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 hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. 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 redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.. Collect status, indexability, canonical, language signals, internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., and hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. from HTML, headers, and sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.. 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 crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can reach every version. Done when: forced redirect and inaccessible-switcher findings are documented. - Sample localizationLocalization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native. 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-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" 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 crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. 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 ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. 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 redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. 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 SEOInternational SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. across six areas: (1) URL/domain structure — start with a locale inventory (market, URL pattern, audience, canonical, indexability, alternate method), then ccTLD vs subdomainConfiguring a site or URL to target users in a specific country. vs subfolder, applied consistently; (2) hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. — the core, where 67% of hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.-using domains in my 374,756-domain study had errors; (3) geo-redirectsA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang. vs GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. — test a request-state matrix (IP,
Accept-Language, cookie, deep links) since GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. mostly crawls from US IPs and sends noAccept-Language; (4) technical signals — html langThe HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt., Content-Language, JS renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., 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 crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index., not page-by-page. Prioritize missing return tags and broken URLs over x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" 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 sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.) 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-redirectA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang., or content errors against it.
Three structures, each with a different trade-off, and Google treats them as legitimate:
- ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. (
example.de) — strongest geotargetingConfiguring a site or URL to target users in a specific country. 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 linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. + backlinks is what you’re verifying.
Two more checks here: never use URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. 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 ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. still has a GeoGenerative Engine Optimization — visibility inside AI answer engines. 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 ScaleIf page A lists page B as an alternate, B must list A back — or Google ignores the pair..
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-1Two-letter language codes used in hreflang (en, es, de). for language and ISO 3166-1 Alpha-2Two-letter country codes used in hreflang region targeting (us, gb, au). for region. (Google does tolerate some things — underscores likeen_gb, the specially reserveden-UK, relative URLs, UTF-8 encoded characters.) - Inconsistent URL formats (trailing slashA trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it., http vs httpsHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.') and orphaned locale URLs
(hreflang pointing at 404s or redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.) 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 tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content..
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 hreflangIf page A lists page B as an alternate, B must list A back — or Google ignores the pair. (no return tag)
- Hreflang to non-canonical
- Hreflang to broken page
- HTML lang attributeThe HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt. 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 crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.. 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, NoindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. 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.
A mostly connected cluster can still contain one broken reciprocal pair. Sitemap-only mode does not inspect page-head tags or HTTP Link headers.
Map reciprocal relationships with my free returntag - hreflang checker Free
- Run the locale sitemap set and review every language, region, and x-default node together.
- Prioritize missing returns, broken targets, and clusters split by inconsistent URLs.
- Fix both sides of each relationship, rerun, then verify head or HTTP-header implementations separately when used.
The sitemap-only result reads five URLs and 24 annotations across en-US, en-GB, fr-FR, de-DE, and x-default. It reports nine reciprocal pairs, one missing return, and zero broken targets. The issue says the fr-FR URL does not link back to en-US.
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 SEOInternational SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. 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 renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM.. 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 sitemapsAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.. SPA sites (React, Vue, Next.js in CSR mode) are the highest risk.
- PaginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. 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 TTFBTime to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good. and improve Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data., 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 descriptionsThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through., 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 contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. 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 ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. 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 localizationLocalization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native. 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 VitalsWeb Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors. by country too (CrUXChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. in PageSpeed InsightsPageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking.), since regional performance varies widely without a CDN.
AI summary
A condensed take on the Advanced version:
- An international SEOInternational SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. audit covers six areas: URL/domain structure, hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., geo-redirectsA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang., 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 crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index., not page-by-page.
- HreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. is the core. My Brighton SEO 2023 study of 374,756 domains foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. 67% using hreflang have at least one error. The nine error types: missing return tagsIf page A lists page B as an alternate, B must list A back — or Google ignores the pair., wrong language/country codes, non-canonical targets, missing self-referential tags, missing x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\", hreflang on non-canonical pages, inconsistent URL formatsURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly., and orphaned/broken locale URLs.
- Priorities: missing return tags and broken URLs matter most; x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" (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 crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. enabled.
- Geo-redirectsA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang. vs GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.: Googlebot mostly crawls from US IPs and sends no
Accept-Languageheader, so site-wide IP redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. 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 hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. reference: return-tag requirement, fully-qualified URLs, x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\", and the three equivalent methods (HTML link tags, HTTP Link headers, XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.).
- Managing Multi-Regional and Multilingual Sites — URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly. trade-offs (ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. / subdomain / subfolder), geotargetingConfiguring a site or URL to target users in a specific country. signals, and why IP-based adaptation and URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. are discouraged.
- How Google Crawls Locale-Adaptive Pages — why serving different content by detected location/language (instead of separate URLs) risks Google not crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., or ranking every locale, and GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.’s IP/
Accept-Languagebehavior. - x-default hreflang for international landing pages (2013) — the original x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" reference.
- How x-default can help you (2023) — updated x-default use cases.
- GSC Enhancements / structured-data and hreflang reporting — where hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. 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 ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. in 2020 and not brought back. Bing instead weights the Content-Language meta tag and HTTP header as its primary language/geoGenerative Engine Optimization — visibility inside AI answer engines. 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 hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. complexity
- “TBH hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. 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 crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.
- “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, indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., 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 ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. 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 (ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. / subdomain / subfolder) and applied consistently
- No mixed signals (TLD vs server/CDN location vs content language vs internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them.)
- No URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. used for language/country targeting
- GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Enhancements checked for hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. errors (the old International Targeting report is gone)
- content-language meta tag or HTTP header set for Bing markets (Bing removed its GeoGenerative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO. Targeting feature in 2020; this is now the preferred signal)
2. HreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.
- Crawled at scale (Ahrefs Site Audit or Screaming Frog) — not just spot-checked
- Missing return tagsIf page A lists page B as an alternate, B must list A back — or Google ignores the pair. fixed (most critical)
- Broken / redirected hreflang URLs fixed
- Non-canonical hreflang URLs fixed (point to the indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. URL)
- Language codes validated (ISO 639-1Two-letter language codes used in hreflang (en, es, de). + ISO 3166-1 Alpha-2Two-letter country codes used in hreflang region targeting (us, gb, au).)
-
html langmatches hreflang language codes - Self-referencing tags present (best practice)
- x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" present, pointing to an appropriate fallback (best practice)
- Ahrefs cluster graph reviewed for each affected cluster
- Alternate URLs fully qualified, consistent format (no http/httpsHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' or trailing-slash drift)
3. Geo-redirectsA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang.
- Site tested across a request-state matrix (no signal, US IP/VPN, varied
Accept-Language, existing cookie, deep links) - No site-wide geoGenerative Engine Optimization — visibility inside AI answer engines.-IP redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. sending GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. 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 / sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — 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.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.-blocked
- Server/CDN geolocation consistent with ccTLD targeting
5. Content
- No unedited machine-translated pages live
- Titles, meta descriptionsThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through., 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 VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. 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 hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. error types onto it:
- High impact + easy → fix now: missing return tagsIf page A lists page B as an alternate, B must list A back — or Google ignores the pair. on a small set of clusters,
hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. pointing at broken/redirected URLs, wrong language/country codes (
jp→ja). - High impact + hard → plan now: site-wide geo-IP redirectA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang. blocking GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. (needs engineering + a language-selector pattern), client-side-JS hreflang on an SPA (needs SSR/sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. rework), non-canonical hreflang from a deep canonical-chain problem.
- Low impact + easy → batch: missing self-referential tags, missing x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\",
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 ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. where TLD already dominates the signal.
The guiding principle: return tags and broken URLs break clusters; x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" 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.
- GeoGenerative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO.-redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. — verify GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. can actually reach every version.
- Technical signals —
html lang, Content-Language, JS renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., server geoGenerative Engine Optimization — visibility inside AI answer engines.. - Content quality — localizationLocalization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native., 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 hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. checks (invalid annotation, missing self-reference, multi-language/multi-page conflicts, hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.↔HTML-lang mismatch, missing return tag, non-canonical target, broken target, missing HTML langThe HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt.). 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 SpiderA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.. Enable Configuration > Spider > Crawl Hreflang; add referenced external domains under Config > CDNs for multi-domain (ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal.) 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 ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.. With the International Targeting report gone, check the Enhancements section for hreflang issues (limited detail), and use URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. to confirm the indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. URL your hreflang should point to.
- Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility.. No GeoGenerative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO. 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.