Install
$ agentstack add skill-thisisahsaniqbal-nextjs-seo-audit-international-seo ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
International SEO
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)".
1. Hreflang tags
Look for ` in `:
| 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 |
Hreflang validation rules
| 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 |
2. HTML lang attribute
| Check | Status | |---|---| | ` missing | ❌ FAIL | | lang` value doesn't match hreflang self-reference | ⚠️ WARN "Mismatch between html lang and hreflang" | | Properly set | ✅ PASS |
3. Content-Language header (meta)
- `` → check if present
- If present, verify it matches the
langattribute → ⚠️ WARN if mismatch
4. URL structure for internationalisation
Detect 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" |
5. Translated content checks
| Check | Status | |---|---| | Page has lang="en" but content appears in another language | ⚠️ WARN "Language mismatch detected" | | ` and ` not translated (same across language variants) | ⚠️ WARN | | Images with alt text not translated | ⚠️ WARN |
6. Regional targeting
- Check for `
,,` → ✅ PASS if present - Google Search Console geographic targeting hint: check for `` pointing to regional variant
Edge cases
- A monolingual site with no internationalisation signals → skip all checks, report "Not applicable"
- A site with
hreflangon some pages but not others → flag inconsistency - Right-to-left languages (Arabic, Hebrew) → check for
dir="rtl"attribute on `or`
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: thisisAhsanIqbal
- Source: thisisAhsanIqbal/nextjs-seo-audit
- License: MIT
- Homepage: https://nextjs-seo-skill.vercel.app/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.