seo-audit
Audit affiliate blog posts and landing pages for SEO issues. Triggers on: "audit my blog post for SEO", "check my SEO", "SEO review", "improve my rankings", "SEO checklist", "on-page SEO audit", "keyword optimization check", "why isn't my page ranking", "SEO score", "content quality audit", "check my meta tags", "internal linking audit", "quick SEO wins".
Best use case
seo-audit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Audit affiliate blog posts and landing pages for SEO issues. Triggers on: "audit my blog post for SEO", "check my SEO", "SEO review", "improve my rankings", "SEO checklist", "on-page SEO audit", "keyword optimization check", "why isn't my page ranking", "SEO score", "content quality audit", "check my meta tags", "internal linking audit", "quick SEO wins".
Teams using seo-audit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/seo-audit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How seo-audit Compares
| Feature / Agent | seo-audit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Audit affiliate blog posts and landing pages for SEO issues. Triggers on: "audit my blog post for SEO", "check my SEO", "SEO review", "improve my rankings", "SEO checklist", "on-page SEO audit", "keyword optimization check", "why isn't my page ranking", "SEO score", "content quality audit", "check my meta tags", "internal linking audit", "quick SEO wins".
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# SEO Audit
Audit affiliate blog posts and landing pages for SEO issues — on-page optimization, keyword usage, meta tags, content quality signals, affiliate link attributes, and internal linking. Output is a 10-dimension SEO scorecard with a prioritized fix-it checklist.
## Stage
S6: Analytics — 53% of all website traffic comes from organic search. For affiliate bloggers, SEO is the most sustainable traffic source — but most affiliate content has basic SEO mistakes that tank rankings. This skill catches those mistakes and provides quick wins.
## When to Use
- User has a blog post or landing page and wants an SEO review
- User asks "why isn't my page ranking?" or "check my SEO"
- User wants to improve search rankings for affiliate content
- User says "SEO audit", "SEO checklist", "on-page optimization"
- User wants to check affiliate link attributes (nofollow, sponsored)
- Chaining from S3 (blog) or S4 (landing): audit content before or after publishing
## Input Schema
```yaml
content: string # REQUIRED — the content to audit (markdown, HTML, or URL)
# If URL, will attempt to fetch and analyze
target_keyword: string # REQUIRED — primary keyword to optimize for
# (e.g., "best AI video tools", "HeyGen review")
content_type: string # OPTIONAL — "blog_post" | "landing_page"
# Default: "blog_post"
competitor_urls: # OPTIONAL — competitor pages to compare against
- string # e.g., ["competitor.com/heygen-review"]
secondary_keywords: # OPTIONAL — additional keywords to check
- string # e.g., ["AI video generator", "HeyGen pricing"]
```
**Chaining context**: If S3 (blog) or S4 (landing page) was run in the same conversation, pull the generated content directly for audit. The user should not have to paste content just generated.
## Workflow
### Step 1: Analyze Content Structure
Check:
- **Word count**: Is it competitive? (blog: 1500+ words, landing: varies)
- **Heading structure**: H1 present and unique? H2/H3 hierarchy logical?
- **Paragraph length**: Short paragraphs for readability?
- **Content depth**: Does it cover the topic comprehensively?
### Step 2: Check Keyword Usage
Analyze:
- **Title tag**: Contains target keyword? Under 60 characters?
- **H1**: Contains target keyword?
- **First 100 words**: Keyword appears naturally?
- **Keyword density**: 1-2% optimal (not stuffing, not absent)
- **Keyword in subheadings**: At least one H2 contains keyword or variant?
- **LSI keywords**: Related terms present for topical depth?
### Step 3: Evaluate Meta Tags
Check:
- **Title tag length**: 50-60 characters optimal
- **Meta description**: Present? 150-160 characters? Contains keyword? Compelling?
- **OG tags**: Open Graph tags for social sharing
- **Canonical URL**: Present and correct?
### Step 4: Check E-E-A-T Signals
Evaluate:
- **Experience**: First-person experience with the product?
- **Expertise**: Author credentials or demonstrated knowledge?
- **Authoritativeness**: Citing sources, linking to official pages?
- **Trustworthiness**: Transparent disclosure, balanced (pros AND cons)?
### Step 5: Check Affiliate Link Attributes
Verify:
- All affiliate links have `rel="nofollow sponsored"` (Google requirement)
- Links are not cloaked in a way that violates search guidelines
- FTC disclosure is present and above the fold
- Links open in new tab (`target="_blank"`) for UX
### Step 6: Check Internal Linking
Evaluate:
- Links to related content on the same site?
- Anchor text is descriptive (not "click here")?
- Table of contents for long content?
### Step 7: Score on 10 Dimensions
Rate each 1-10:
1. Keyword optimization
2. Content depth and quality
3. Title tag and meta description
4. Heading structure
5. E-E-A-T signals
6. Affiliate link compliance
7. Internal linking
8. Readability and formatting
9. Mobile friendliness indicators
10. Technical SEO basics
### Step 8: Generate Fix-It Checklist
Prioritize fixes by impact:
- **Quick wins**: Fix in 5 minutes, big impact (meta tags, keyword in H1)
- **Medium effort**: Fix in 30 minutes (add sections, improve depth)
- **Major revision**: Fix in 2+ hours (restructure content, add original research)
## Output Schema
```yaml
audit:
url_or_title: string
target_keyword: string
overall_score: number # out of 100 (sum of 10 dimensions × 10)
word_count: number
scores:
- dimension: string
score: number # 1-10
status: string # "good" | "needs_work" | "critical"
notes: string
issues:
- priority: string # "quick_win" | "medium" | "major"
dimension: string
issue: string
fix: string # specific action to take
impact: string # "high" | "medium" | "low"
checklist:
- task: string
priority: string
done: boolean # always false (user checks off)
```
## Output Format
1. **SEO Scorecard** — table with 10 dimensions, scores, and status
2. **Overall Score** — X/100 with assessment (Excellent >80, Good 60-80, Needs Work 40-60, Critical <40)
3. **Quick Wins** — fixes that take <5 minutes and have high impact
4. **Full Fix-It Checklist** — all issues ordered by priority with specific actions
5. **Competitor Comparison** — brief notes if competitor URLs were provided
## Error Handling
- **No content provided**: "Paste the content of your blog post or landing page. I'll audit it for SEO issues and give you a prioritized fix-it list."
- **No target keyword**: "What keyword are you trying to rank for? (e.g., 'HeyGen review', 'best AI video tools'). This helps me check keyword usage and optimization."
- **Content is too short (<300 words)**: "This content is quite short (X words). For competitive keywords, aim for 1,500+ words. I'll audit what's here, but content depth is likely your biggest SEO issue."
- **URL provided but cannot be fetched**: "I couldn't fetch that URL. Paste the page content directly and I'll audit it."
## Examples
### Example 1: Blog post with common issues
**User**: "Audit this blog post for 'best AI video tools': [pastes 2000-word blog post]"
**Action**: Score each dimension. Common findings: keyword not in H1 (fix: add to title), affiliate links missing `rel="nofollow sponsored"` (fix: add attributes), no meta description (fix: write one), thin intro section (fix: expand first paragraph). Overall score: 62/100. Quick wins: meta description, H1 keyword, link attributes.
### Example 2: Landing page audit
**User**: "Check the SEO on my HeyGen landing page" [content from S4 in conversation]
**Action**: Pull landing page content from S4 output. Note: landing pages are typically not SEO-optimized (they're conversion-focused). Score accordingly — different expectations for landing pages vs blog posts. Focus on: title tag, meta description, canonical, affiliate link compliance.
### Example 3: Competitive comparison
**User**: "Audit my Semrush review and compare to these competitor pages: [competitor URLs]"
**Action**: Audit user's content first. Then use `web_search` or `web_browse` to analyze competitor content structure (word count, headings, topics covered). Identify content gaps — topics competitors cover that the user doesn't. Recommend additions to improve competitiveness.
## References
- `shared/references/ftc-compliance.md` — FTC disclosure requirements for affiliate content. Checked in Step 5.
- `shared/references/affiliate-glossary.md` — SEO and affiliate terminology. Referenced throughout.Related Skills
audit
Full codebase audit orchestrator covering security, code quality, performance, and accessibility analysis with prioritized findings.
app-audit
Full application quality audit. Chains impeccable-audit + security-scanner + performance-profiler + accessibility + web-vitals + owasp. Produces a single prioritized report with severity scores, WCAG citations, and fix commands for each issue.
ultrathink
UltraThink Workflow OS — 4-layer skill mesh with persistent memory and privacy hooks for complex engineering tasks. Routes prompts through intent detection to activate the right domain skills automatically.
ultrathink_review
Multi-pass code review powered by UltraThink's quality gate — checks correctness, security (OWASP), performance, readability, and project conventions in a single structured pass.
ultrathink_memory
Persistent memory system for UltraThink — search, save, and recall project context, decisions, and patterns across sessions using Postgres-backed fuzzy search with synonym expansion.
ui-design
Comprehensive UI design system: 230+ font pairings, 48 themes, 65 design systems, 23 design languages, 30 UX laws, 14 color systems, Swiss grid, Gestalt principles, Pencil.dev workflow. Inherits ui-ux-pro-max (99 UX rules) + impeccable-frontend-design (anti-AI-slop). Triggers on any design, UI, layout, typography, color, theme, or styling task.
Zod
> TypeScript-first schema validation with static type inference.
webinar-registration-page
Build a webinar or live event registration page as a self-contained HTML file with countdown timer, speaker bio, agenda, and registration form. Triggers on: "build a webinar registration page", "create a webinar sign-up page", "event registration landing page", "live training registration page", "workshop sign-up page", "create a webinar page", "build an event page", "free webinar landing page", "live demo registration page", "online event page", "create a registration page for my webinar", "build a training event page".
webhooks
Webhook design patterns — delivery, retry with exponential backoff, HMAC signature verification, payload validation, idempotency keys
web-workers
Offload heavy computation from the main thread using Web Workers, SharedWorkers, and Comlink — structured messaging, transferable objects, and off-main-thread architecture patterns
web-vitals
Core Web Vitals monitoring (LCP, FID, CLS, INP, TTFB), measurement with web-vitals library, reporting to analytics, and optimization strategies for Next.js
web-components
Native Web Components, custom elements API, Shadow DOM, HTML templates, slots, lifecycle callbacks, and framework-agnostic design patterns