name
description
license
metadata
technical-seo
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.
MIT
author
linkedin
version
1.0
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:
Look for <meta name="robots"> directives
If analysing a full site, check robots.txt at site root for:
Disallow rules that block the current page
Sitemap directive pointing to sitemap location
Crawl-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:
Valid XML format
Contains the current page URL
No URLs returning 4xx/5xx status codes
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"
7. Indexability checklist
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
8. Pagination
Check
Status
<link rel="prev"> / <link rel="next"> present
✅ PASS "Pagination properly marked"
Paginated content without prev/next
⚠️ WARN "Add for multi-page content"
9. Duplicate content signals
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
Next.js app router generates canonical tags automatically via the metadata export — audit the rendered HTML output
robots.txt may not be accessible if auditing a single HTML file — note this limitation and skip robots.txt checks
Pages behind authentication (login walls) may intentionally use noindex — flag as ⚠️ WARN but note context
Single-page applications with client-side routing may have a single canonical URL for all "pages" — flag as ⚠️ WARN
Staging/preview environments often have noindex — distinguish between intentional and accidental noindex when possible
Pages with rel="prev" / rel="next" are deprecated by Google (since 2019) but still supported by Bing — note as informational, not FAIL