🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
name: seo-on-page-audit
version: 1.0.0
description: On-page SEO analyzer for meta tags, headings, links, images, and Open Graph. Triggers: on-page SEO, meta tags, title tag, heading structure, alt text.
allowed-tools: mcp__firecrawl__, mcp__perplexity__, mcp__notion__*
SEO On-Page Audit
Purpose
Analyze single-page SEO elements: meta tags, heading hierarchy, internal/external links, images, and social sharing tags.
Core Capabilities
- Meta Tags - Title, description, canonical, robots
- Headings - H1-H6 structure and hierarchy
- Links - Internal, external, broken detection
- Images - Alt text, sizing, lazy loading
- Social - Open Graph, Twitter Cards
MCP Tool Usage
mcp__firecrawl__scrape: Extract page HTML and metadata
mcp__perplexity__search: Research SEO best practices
mcp__notion__create-page: Save audit findings
Workflow
- Scrape target URL with Firecrawl
- Extract and analyze meta tags
- Map heading hierarchy
- Count and categorize links
- Check image optimization
- Validate Open Graph tags
- Generate recommendations
Checklist
Meta Tags
- Title present (50-60 characters)
- Meta description present (150-160 characters)
- Canonical URL set
- Robots meta allows indexing
Headings
- Single H1 tag
- Logical hierarchy (no skips)
- Keywords in H1
Links
- No broken internal links
- External links use rel attributes
- Reasonable internal link count
Images
- All images have alt text
- Images are appropriately sized
- Lazy loading implemented
Open Graph
- og:title present
- og:description present
- og:image present (1200x630)
Output Format
## On-Page Audit: [URL]
### Meta Tags: X/5
| Element | Status | Value |
|---------|--------|-------|
### Headings: X/5
- H1: [text]
- Hierarchy: Valid/Invalid
### Links
- Internal: X
- External: X
- Broken: X
### Recommendations
1. [Priority fixes]
Limitations
- Single page analysis only
- Cannot detect JavaScript-rendered content issues
- External link status requires additional crawl