Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Validates hreflang tags, multi-language configuration, regional targeting, and internationalisation best practices. Use when auditing sites with multiple languages, regions, or localised content.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 82% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -55% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -9% | 0% |
Audit the page for multi-language and regional targeting issues.
> When to activate: Only relevant if the site serves multiple languages, regions, or has localised content. If a page is monolingual with no internationalisation signals, report ✅ PASS "No internationalisation issues (single-language site)".
Look for <link rel="alternate" hreflang="..."> in <head>:
| Check | Status | |---|---| | No hreflang tags on a multi-language site | ❌ FAIL "Add hreflang tags to indicate language/region variants" | | Hreflang tags present | ✅ PASS — list all language-region codes found |
| Rule | Violation = | |---|---| | Self-referencing hreflang missing (page must include itself) | ❌ FAIL | | x-default fallback missing | ⚠️ WARN "Add hreflang=\"x-default\" for the default/fallback page" | | Invalid language code (must be ISO 639-1, e.g. en, fr, de) | ❌ FAIL | | Invalid region code (must be ISO 3166-1 alpha-2, e.g. en-US, fr-CA) | ⚠️ WARN | | Hreflang URLs return 4xx or 5xx | ❌ FAIL "Hreflang points to broken URL" | | Duplicate hreflang entries for same language-region | ⚠️ WARN |
| Check | Status | |---|---| | <html lang="..."> missing | ❌ FAIL | | lang value doesn't match hreflang self-reference | ⚠️ WARN "Mismatch between html lang and hreflang" | | Properly set | ✅ PASS |
<meta http-equiv="Content-Language" content="..."> → check if presentlang attribute → ⚠️ WARN if mismatchDetect URL pattern used:
| Pattern | Example | Assessment | |---|---|---| | Subdirectory | /en/, /fr/, /de/ | ✅ Recommended | | Subdomain | en.example.com | ✅ Acceptable | | ccTLD | example.fr, example.de | ✅ Strong geo-targeting | | URL parameter | ?lang=en | ⚠️ WARN "Not recommended — search engines may ignore parameters" |
| Check | Status | |---|---| | Page has lang="en" but content appears in another language | ⚠️ WARN "Language mismatch detected" | | <title> and <meta description> not translated (same across language variants) | ⚠️ WARN | | Images with alt text not translated | ⚠️ WARN |
<meta name="geo.region">, <meta name="geo.placename">, <meta name="geo.position"> → ✅ PASS if present<link rel="canonical"> pointing to regional varianthreflang on some pages but not others → flag inconsistencydir="rtl" attribute on <html> or <body>Other measured skills in the registry, with their headline benchmark lift.