Skills · Business & ops

Single Page Analysis

Unverified31/40

Give us a page link and the phrase you want to be found for; get back a scored report of what's hurting it and exactly what to fix first.

Originally by AgriciDaniel · MIT

Claude CodePartialHas SKILL.md but declares no allowed-tools — Claude Code will ask for permission each time
CursorPartialPlain prose you can paste in — but no Cursor rules file
CodexPartialPlain prose you can paste in — but no AGENTS.md
Gemini CLIPartialPlain prose you can paste in
CopilotPartialPlain prose you can paste in — but no Copilot instructions file
npx agentalley add seo-page

This command does not work yet — the CLI is still being built. Until then, use Raw in the reader below to take the file.

Who is stuck, and on what

You built a page but it's buried on Google and you have no idea why. You're not sure if the title, the wording, the images, or something invisible is holding it back.

What it gives you

A plain-English report scoring your page out of 100, listing the problems from most to least urgent, with specific fixes and the exact snippets to hand your web person.

When NOT to use it

It reviews the page you give us; it won't rewrite the page for you or guarantee a #1 Google spot.

The whole source

No sign-in, no blur, nothing truncated
seo-page/SKILL.md102 lines4.5 KBRawView on GitHub
Frontmatter — 6 properties
nameseo-page
description> Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance. Use when user says analyze this page", "check page SEO", "single URL", "check this page", page analysis", or provides a single URL for review.
user-invocabletrue
argument-hint[url]
licenseMIT
metadata author: AgriciDaniel version: "2.3.1 category: seo
1---
2name: seo-page
3description: >
4 Deep single-page SEO analysis covering on-page elements, content quality,
5 technical meta tags, schema, images, and performance. Use when user says
6 "analyze this page", "check page SEO", "single URL", "check this page",
7 "page analysis", or provides a single URL for review.
8user-invocable: true
9argument-hint: "[url]"
10license: MIT
11metadata:
12 author: AgriciDaniel
13 version: "2.3.1"
14 category: seo
15---A5No allowed-tools declared — no way to tell what this skill may touch
16 
17# Single Page Analysis
18 
19## What to Analyze
20 
21### On-Page SEO
22- Title tag: 50-60 characters, includes primary keyword, unique
23- Meta description: 150-160 characters, compelling, includes keyword
24- Meta description is not a restatement of the title: run
25 `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run metadata_template.py --title "<title>" --description "<desc>" --json`
26 (heuristic, deterministic string comparison). A description that opens by
27 repeating its own title and closes on a stock CTA ("Try it free now.",
28 "Start free!") is templated metadata, the shape bulk generation jobs produce
29 site-wide, and duplicated or templated metadata is a documented
30 content-quality problem regardless of how original the body copy is
31- H1: exactly one, matches page intent, includes keyword
32- H2-H6: logical hierarchy (no skipped levels), descriptive
33- URL: short, descriptive, hyphenated, no parameters
34- Internal links: sufficient, relevant anchor text, no orphan pages
35- External links: to authoritative sources, reasonable count
36 
37### Content Quality
38- Word count vs page type minimums (see quality-gates.md)
39- Readability: Flesch Reading Ease score, grade level
40- Keyword density: natural (1-3%), semantic variations present
41- E-E-A-T signals: author bio, credentials, first-hand experience markers
42- Content freshness: publication date, last updated date
43 
44### Technical Elements
45- Canonical tag: present, self-referencing or correct
46- Meta robots: index/follow unless intentionally blocked
47- Open Graph: og:title, og:description, og:image, og:url
48- Twitter Card: twitter:card, twitter:title, twitter:description
49- Hreflang: if multi-language, correct implementation
50 
51### Schema Markup
52- Detect all types (JSON-LD preferred)
53- Validate required properties
54- Identify missing opportunities
55- Never recommend HowTo (deprecated) or FAQ for rich results (retired May 2026); existing FAQPage need not be removed, use QAPage for genuine Q&A
56 
57### Images
58- Alt text: present, descriptive, includes keywords where natural
59- File size: flag >200KB (warning), >500KB (critical)
60- Format: recommend WebP/AVIF over JPEG/PNG
61- Dimensions: width/height set for CLS prevention
62- Lazy loading: report `lazy_method` per image (native | perfmatters | ewww | js-generic | none). Do not flag "not lazy-loaded" when JS lazy-loaders (Perfmatters, EWWW, lazysizes) are detected, they intentionally strip the native `loading="lazy"` attribute and use `data-src` placeholders
63 
64### Core Web Vitals (reference only, not measurable from HTML alone)
65- Flag potential LCP issues (huge hero images, render-blocking resources)
66- Flag potential INP issues (heavy JS, no async/defer)
67- Flag potential CLS issues (missing image dimensions, injected content)
68 
69## Output
70 
71### Page Score Card
72```
73Overall Score: XX/100
74 
75On-Page SEO: XX/100 ████████░░
76Content Quality: XX/100 ██████████
77Technical: XX/100 ███████░░░
78Schema: XX/100 █████░░░░░
79Images: XX/100 ████████░░
80```
81 
82### Issues Found
83Organized by priority: Critical -> High -> Medium -> Low
84 
85### Recommendations
86Specific, actionable improvements with expected impact
87 
88### Schema Suggestions
89Ready-to-use JSON-LD code for detected opportunities
90 
91## DataForSEO Integration (Optional)
92 
93If DataForSEO MCP tools are available, use `serp_organic_live_advanced` for real SERP positions and `backlinks_summary` for backlink data and spam scores.
94 
95## Error Handling
96 
97| Scenario | Action |
98|----------|--------|
99| URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess page content. Suggest the user verify the URL and try again. |
100| 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. |
101| 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. |
102 

Reviews

Installed this one?Write the first review and take the Trailblazer badge.

Reviews only open after a real install, so this is empty — and we leave it empty rather than invent one.

Alternatives

Also in Business & ops