skills/technical-seo/SKILL.md
Audits sitemap references, robots.txt directives, canonical tags, crawlability, URL structure, redirect chains, and indexability. Use when checking technical SEO foundations or fixing crawl/index issues.
npx skillsauth add thisisahsaniqbal/nextjs-seo-audit technical-seoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit fundamental technical SEO factors that affect crawlability and indexability.
| Check | Status |
|---|---|
| <link rel="canonical"> missing | ⚠️ WARN "Add canonical to prevent duplicate content" |
| Canonical present but empty href | ❌ FAIL |
| Canonical points to a different domain | ⚠️ WARN "Cross-domain canonical — verify this is intentional" |
| Canonical is relative (not absolute URL) | ⚠️ WARN "Use absolute URLs for canonical tags" |
| Canonical present and valid | ✅ PASS |
| Multiple canonical tags | ❌ FAIL "Only one canonical allowed per page" |
| Canonical is self-referencing | ✅ PASS (best practice) |
| Check | Status |
|---|---|
| <meta name="robots" content="noindex"> | ⚠️ WARN "Page will not appear in search results" |
| <meta name="robots" content="nofollow"> | ⚠️ WARN "Links on this page will not be followed" |
| <meta name="robots" content="noindex, nofollow"> | ⚠️ WARN "Page excluded from search entirely" |
| <meta name="robots" content="index, follow"> or absent | ✅ PASS "Page is indexable" |
| <meta name="googlebot"> present | ✅ PASS — report its content |
Check if the page references or is affected by robots.txt:
<meta name="robots"> directivesrobots.txt at site root for:
Disallow rules that block the current pageSitemap directive pointing to sitemap locationCrawl-delay directives (may slow indexing)| Check | Status |
|---|---|
| <link rel="sitemap"> present | ✅ PASS |
| No sitemap reference found | ⚠️ WARN "Consider adding sitemap reference" |
If sitemap URL is available, verify:
Analyse the page URL (from <link rel="canonical"> or <meta property="og:url">):
| Check | Status |
|---|---|
| URL contains uppercase letters | ⚠️ WARN "Use lowercase-only URLs" |
| URL contains underscores | ⚠️ WARN "Use hyphens instead of underscores" |
| URL contains special characters or spaces (encoded %20) | ⚠️ WARN "Simplify URL structure" |
| URL exceeds 100 characters | ⚠️ WARN "Keep URLs concise" |
| URL has double slashes (//path) | ❌ FAIL "Fix double slashes" |
| URL has trailing slash inconsistency | ⚠️ WARN "Be consistent with trailing slashes" |
| Clean, descriptive, lowercase with hyphens | ✅ PASS |
| Check | Status |
|---|---|
| <meta http-equiv="refresh" content="0;url=..."> present | ⚠️ WARN "Use 301 redirects instead of meta refresh" |
| Page contains window.location redirect in inline script | ⚠️ WARN "JS redirects are not SEO-friendly" |
| Check | Status |
|---|---|
| Has <title> tag | Required for indexing |
| Has <meta name="description"> | Required for SERP snippets |
| Has unique content (not empty <body>) | Required |
| Not blocked by noindex | Required |
| Has canonical URL | Recommended |
| Is HTTPS (check canonical/og:url) | ⚠️ WARN if HTTP |
| Check | Status |
|---|---|
| <link rel="prev"> / <link rel="next"> present | ✅ PASS "Pagination properly marked" |
| Paginated content without prev/next | ⚠️ WARN "Add for multi-page content" |
| Check | Status |
|---|---|
| Same <title> as canonical page but different URL | ⚠️ WARN |
| No canonical + URL has query parameters | ⚠️ WARN "URL parameters may create duplicate pages" |
| Multiple pages with identical meta description | ⚠️ WARN |
metadata export — audit the rendered HTML outputrobots.txt may not be accessible if auditing a single HTML file — note this limitation and skip robots.txt checksnoindex — flag as ⚠️ WARN but note contextnoindex — distinguish between intentional and accidental noindex when possiblerel="prev" / rel="next" are deprecated by Google (since 2019) but still supported by Bing — note as informational, not FAILdevelopment
Audits stylesheet loading, inline CSS volume, image alt text, image formats, and Next.js Image component usage. Use when checking page speed related to HTML structure. For render-blocking scripts, image dimensions, lazy loading, and resource hints, see the core-web-vitals skill.
development
Validates HTML5 semantic elements, ARIA landmarks, skip navigation, and page structure. Use when auditing semantic HTML, accessibility, or content structure for SEO. For the lang attribute, see the international-seo skill.
testing
Validates existing JSON-LD structured data and suggests relevant schemas based on auto-detected page type. Does NOT enforce all schema types — only checks what is applicable to the current page context. Use when auditing or generating structured data for search engine rich results.
development
Validates heading hierarchy, keyword density and placement, and internal/external link structure. Use when auditing on-page SEO factors for an HTML page.