Single Page Analysis
Selective Reading Rule
Start with:
references/senior-master-standard.md
references/usage-routing.md
references/quality-checklist.md
Then load only the inherited docs, scripts, assets, or examples that match the user's actual task.
When to Use
- Use when the user provides a single URL for detailed on-page SEO review.
- Use when auditing one page rather than an entire site.
- Use when checking metadata, content, schema, images, and page-level technical signals together.
What to Analyze
On-Page SEO
- Title tag: 50-60 characters, includes primary keyword, unique
- Meta description: 150-160 characters, compelling, includes keyword
- H1: exactly one, matches page intent, includes keyword
- H2-H6: logical hierarchy (no skipped levels), descriptive
- URL: short, descriptive, hyphenated, no parameters
- Internal links: sufficient, relevant anchor text, no orphan pages
- External links: to authoritative sources, reasonable count
Content Quality
- Word count vs page type minimums (see quality-gates.md)
- Readability: Flesch Reading Ease score, grade level
- Keyword density: natural (1-3%), semantic variations present
- E-E-A-T signals: author bio, credentials, first-hand experience markers
- Content freshness: publication date, last updated date
Technical Elements
- Canonical tag: present, self-referencing or correct
- Meta robots: index/follow unless intentionally blocked
- Open Graph: og:title, og:description, og:image, og:url
- Twitter Card: twitter:card, twitter:title, twitter:description
- Hreflang: if multi-language, correct implementation
Schema Markup
- Detect all types (JSON-LD preferred)
- Validate required properties
- Identify missing opportunities
- NEVER recommend HowTo (deprecated) or FAQ (restricted to gov/health)
Images
- Alt text: present, descriptive, includes keywords where natural
- File size: flag >200KB (warning), >500KB (critical)
- Format: recommend WebP/AVIF over JPEG/PNG
- Dimensions: width/height set for CLS prevention
- Lazy loading: loading="lazy" on below-fold images
Core Web Vitals (reference only, not measurable from HTML alone)
- Flag potential LCP issues (huge hero images, render-blocking resources)
- Flag potential INP issues (heavy JS, no async/defer)
- Flag potential CLS issues (missing image dimensions, injected content)
Output
Page Score Card
Overall Score: XX/100
On-Page SEO: XX/100 ████████░░
Content Quality: XX/100 ██████████
Technical: XX/100 ███████░░░
Schema: XX/100 █████░░░░░
Images: XX/100 ████████░░
Issues Found
Organized by priority: Critical -> High -> Medium -> Low
Recommendations
Specific, actionable improvements with expected impact
Schema Suggestions
Ready-to-use JSON-LD code for detected opportunities
DataForSEO Integration (Optional)
If DataForSEO MCP tools are available, use serp_organic_live_advanced for real SERP positions and backlinks_summary for backlink data and spam scores.
Error Handling
| Scenario |
Action |
| URL unreachable (DNS failure, connection refused) |
Report the error clearly. Do not guess page content. Suggest the user verify the URL and try again. |
| Page requires authentication (401/403) |
Report that the page is behind authentication. Suggest the user provide the rendered HTML directly or a publicly accessible URL. |
| JavaScript-rendered content (empty body in HTML) |
Note that key content may be rendered client-side. Analyze the available HTML and flag that results may be incomplete. Suggest using a browser-rendered snapshot if available. |
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: seo-page3description: ALWAYS use this when the request matches SEO Page: Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance.4---56# Single Page Analysis78## Selective Reading Rule910Start with:1112- `references/senior-master-standard.md`13- `references/usage-routing.md`14- `references/quality-checklist.md`1516Then load only the inherited docs, scripts, assets, or examples that match the user's actual task.1718## When to Use19- Use when the user provides a single URL for detailed on-page SEO review.20- Use when auditing one page rather than an entire site.21- Use when checking metadata, content, schema, images, and page-level technical signals together.2223## What to Analyze2425### On-Page SEO26- Title tag: 50-60 characters, includes primary keyword, unique27- Meta description: 150-160 characters, compelling, includes keyword28- H1: exactly one, matches page intent, includes keyword29- H2-H6: logical hierarchy (no skipped levels), descriptive30- URL: short, descriptive, hyphenated, no parameters31- Internal links: sufficient, relevant anchor text, no orphan pages32- External links: to authoritative sources, reasonable count3334### Content Quality35- Word count vs page type minimums (see quality-gates.md)36- Readability: Flesch Reading Ease score, grade level37- Keyword density: natural (1-3%), semantic variations present38- E-E-A-T signals: author bio, credentials, first-hand experience markers39- Content freshness: publication date, last updated date4041### Technical Elements42- Canonical tag: present, self-referencing or correct43- Meta robots: index/follow unless intentionally blocked44- Open Graph: og:title, og:description, og:image, og:url45- Twitter Card: twitter:card, twitter:title, twitter:description46- Hreflang: if multi-language, correct implementation4748### Schema Markup49- Detect all types (JSON-LD preferred)50- Validate required properties51- Identify missing opportunities52- NEVER recommend HowTo (deprecated) or FAQ (restricted to gov/health)5354### Images55- Alt text: present, descriptive, includes keywords where natural56- File size: flag >200KB (warning), >500KB (critical)57- Format: recommend WebP/AVIF over JPEG/PNG58- Dimensions: width/height set for CLS prevention59- Lazy loading: loading="lazy" on below-fold images6061### Core Web Vitals (reference only, not measurable from HTML alone)62- Flag potential LCP issues (huge hero images, render-blocking resources)63- Flag potential INP issues (heavy JS, no async/defer)64- Flag potential CLS issues (missing image dimensions, injected content)6566## Output6768### Page Score Card69```70Overall Score: XX/1007172On-Page SEO: XX/100 ████████░░73Content Quality: XX/100 ██████████74Technical: XX/100 ███████░░░75Schema: XX/100 █████░░░░░76Images: XX/100 ████████░░77```7879### Issues Found80Organized by priority: Critical -> High -> Medium -> Low8182### Recommendations83Specific, actionable improvements with expected impact8485### Schema Suggestions86Ready-to-use JSON-LD code for detected opportunities8788## DataForSEO Integration (Optional)8990If DataForSEO MCP tools are available, use `serp_organic_live_advanced` for real SERP positions and `backlinks_summary` for backlink data and spam scores.9192## Error Handling9394| Scenario | Action |95|----------|--------|96| URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess page content. Suggest the user verify the URL and try again. |97| Page requires authentication (401/403) | Report that the page is behind authentication. Suggest the user provide the rendered HTML directly or a publicly accessible URL. |98| JavaScript-rendered content (empty body in HTML) | Note that key content may be rendered client-side. Analyze the available HTML and flag that results may be incomplete. Suggest using a browser-rendered snapshot if available. |99100## Limitations101- Use this skill only when the task clearly matches the scope described above.102- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.103- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.