Run a Complete International SEO Audit | OpsBlu Docs

Run a Complete International SEO Audit

Audit hreflang tags, ccTLD strategy, content localization, and geo-targeting for multi-region sites.

International SEO failures are expensive. A misconfigured hreflang setup can cause Google to index the wrong language version for an entire country, cannibalizing traffic across all regional variants. This audit process covers every layer of international SEO from domain strategy to content-level localization signals.

Domain Structure Decision

Your domain strategy determines how search engines associate content with regions:

Strategy Example Pros Cons
ccTLDs example.de, example.fr Strongest geo signal, clear user trust Separate domains to manage, link equity split
Subdirectories example.com/de/, example.com/fr/ Consolidated domain authority, easiest to manage Weaker geo signal than ccTLD
Subdomains de.example.com, fr.example.com Flexible hosting per region Google may treat as separate sites, link equity split

Recommendation for most sites: Subdirectories. They consolidate authority and are the simplest to implement. Use ccTLDs only when you have established brands in specific countries that need separate domain identity.

Hreflang Audit

What Hreflang Does

Hreflang tags tell Google which language and regional version of a page to show to users in specific locations. Without them, Google guesses -- and guesses wrong regularly.

Implementation Methods

HTML head (for sites under 10,000 pages):

<link rel="alternate" hreflang="en-us" href="https://example.com/page" />
<link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />

XML sitemap (for large sites):

<url>
  <loc>https://example.com/page</loc>
  <xhtml:link rel="alternate" hreflang="en-us" href="https://example.com/page" />
  <xhtml:link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page" />
  <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/page" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page" />
</url>

HTTP headers (for non-HTML files like PDFs):

Link: <https://example.com/page>; rel="alternate"; hreflang="en-us",
      <https://example.com/de/page>; rel="alternate"; hreflang="de"

Common Hreflang Errors

  1. Missing return tags -- If page A references page B, page B must reference page A. Non-reciprocal tags are ignored by Google.
  2. Wrong language codes -- Use ISO 639-1 for language (en, de, fr) and ISO 3166-1 alpha-2 for region (US, GB, DE). "en-UK" is wrong; "en-GB" is correct.
  3. Missing x-default -- The x-default tag specifies the fallback page for users in non-targeted regions. Without it, Google picks one arbitrarily.
  4. Self-referencing missing -- Each page must include a hreflang tag pointing to itself.
  5. Pointing to non-canonical URLs -- Hreflang must point to the canonical version. If a page has rel="canonical" pointing elsewhere, hreflang is ignored.

Validation Process

# Use Screaming Frog to crawl all hreflang tags
# Export: Configuration > Spider > Extraction > Hreflang
# Then validate with this checklist:
  • Every page has a self-referencing hreflang
  • All return tags are reciprocal
  • x-default is set on every page group
  • Language codes follow ISO 639-1
  • Region codes follow ISO 3166-1 alpha-2
  • All hreflang URLs are canonical (200 status, not redirected)
  • No hreflang URL returns a 4xx or 5xx status

Content Localization Audit

Translation alone is not localization. Check these elements per region:

Currency and Formatting

  • Prices displayed in local currency
  • Date formats match local convention (MM/DD/YYYY vs DD/MM/YYYY)
  • Phone numbers include country code
  • Measurement units match regional norms (metric vs. imperial)

Cultural Adaptation

  • Images reflect local demographics and culture
  • Examples and case studies are region-appropriate
  • Legal and compliance text matches local regulations (GDPR for EU, CCPA for California)
  • Payment methods include local preferences (iDEAL in Netherlands, Boleto in Brazil)

Geo-Targeting in Search Console

For subdirectory or subdomain setups, set geo-targeting in Google Search Console:

  1. Add each regional subdirectory as a separate property (example.com/de/, example.com/fr/)
  2. Navigate to Settings > International Targeting
  3. Set the target country for each property

Note: ccTLDs are automatically geo-targeted. Do not set geo-targeting for language-only variants (e.g., /es/ serving all Spanish speakers globally).

Technical Checks

Crawl Budget per Region

Large international sites can exhaust crawl budget. Verify:

  • Each regional sitemap is submitted separately in Search Console
  • Server response time is under 500ms for each region (use regional CDN nodes)
  • Robots.txt does not accidentally block regional subdirectories

Canonical Tag Conflicts

Never set a cross-regional canonical. Each language version is its own canonical:

<!-- WRONG: French page canonicalizing to English -->
<link rel="canonical" href="https://example.com/page" />

<!-- CORRECT: French page is self-canonical -->
<link rel="canonical" href="https://example.com/fr/page" />

Monitoring and Reporting

Track these metrics per region in Search Console:

  • Indexed pages per region -- Ensure all regional versions are being indexed
  • Click-through rate by country -- Low CTR in a target country may indicate wrong-language snippets
  • Hreflang errors -- Search Console reports hreflang issues under "International Targeting"
  • Regional ranking positions -- Use Ahrefs or SEMrush with country-specific databases to track rankings per market