Install
$ agentstack add skill-thisisahsaniqbal-nextjs-seo-audit-onpage-optimization ✓ 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
On-Page Optimization
Analyse the HTML page for heading structure, keyword usage, and link health.
> Note: This skill owns internal link analysis. For external/outbound link strategy (dofollow/nofollow, anchor text quality, domain diversity), see the [backlink-monitoring](../backlink-monitoring/SKILL.md) skill.
1. Heading validation
Check all ` through ` elements:
| Check | Status | Rule | |---|---|---| | No headings at all | ❌ FAIL | Every page must have at least one heading | | No ` tag | ❌ FAIL | Every page must have exactly one | | Multiple tags | ⚠️ WARN | Recommend a single ` per page | | Hierarchy skipped (e.g. H2 → H4) | ⚠️ WARN | Headings should follow sequential order: H1 → H2 → H3 | | Empty heading (no text content) | ❌ FAIL | All headings must have descriptive text | | Single H1, proper hierarchy | ✅ PASS | Heading structure is correct |
2. Keyword analysis
If a target keyword is provided, check its usage across the page:
Keyword density
- Calculate:
(keyword_count / total_words) × 100 - Ideal range: 1.0–3.0%
- Below 1.0% → ⚠️ WARN "Keyword density is low"
- Above 3.0% → ❌ FAIL "Keyword stuffing detected"
- Within range → ✅ PASS
Keyword placement — check all of these:
| Location | How to check | Missing = | |---|---|---| | ` tag | Does the title contain the keyword? | ⚠️ WARN | | tag | Does the H1 text contain the keyword? | ⚠️ WARN | | Meta description | Does contain the keyword? | ⚠️ WARN | | First tag | Does the first paragraph contain the keyword? | ⚠️ WARN | | Image alt text | Does any ` contain the keyword? | ⚠️ WARN |
Title keyword position
- Keyword at position 0 (start of title) → ✅ PASS "Best placement"
- Keyword at position ≤ 20 → ✅ PASS "Near the start"
- Keyword at position > 20 → ⚠️ WARN "Place it earlier for better ranking"
3. Link analysis
Examine all `` elements:
Classify links
- Internal:
hrefstarts with/,./,../, or# - External:
hrefstarts withhttp://orhttps://
Checks
| Check | Threshold | Status | |---|---|---| | Internal link count ≥ 3 | Minimum 3 per page | ⚠️ WARN if below | | Links with no anchor text (and no child `) | Any count > 0 | ⚠️ WARN | | Internal links with rel="nofollow"` | Any count > 0 | ⚠️ WARN "Prevents PageRank flow within your site" |
Always report the count of internal and external links found.
Edge cases
- If no keyword is supplied, skip keyword analysis and note: "No target keyword supplied — skipping keyword analysis"
- Count words by splitting text on whitespace; keyword matching is case-insensitive
- For link classification, ignore
javascript:,mailto:, andtel:hrefs - Single-page applications (SPAs) with hash-based routing (
#/page) — treat#-prefixed hrefs as internal links - Next.js `
components render as standard` tags in HTML output — audit the rendered HTML, not the JSX - Pages with zero links (e.g. legal/privacy pages) should receive ⚠️ WARN, not ❌ FAIL
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.