PluginBench
Skill
Review
Audit score 70

seo-page

agricidaniel/claude-seo

Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance.

What is seo-page?

Analyzes a single URL for SEO health across on-page elements, content quality, technical metadata, schema markup, images, and Core Web Vitals signals. Use when reviewing a specific page's SEO performance or troubleshooting ranking issues.

  • Evaluates title tags, meta descriptions, heading hierarchy, URLs, and internal/external linking
  • Assesses content quality including word count, readability, keyword density, and E-E-A-T signals
  • Checks technical elements like canonical tags, meta robots, Open Graph, Twitter Cards, and hreflang
  • Detects and validates schema markup (JSON-LD preferred) with recommendations for missing opportunities
  • Analyzes images for alt text, file size, format, dimensions, and lazy-loading implementation
  • Flags potential Core Web Vitals issues (LCP, INP, CLS) based on HTML structure

How to install seo-page

npx skills add https://github.com/agricidaniel/claude-seo --skill seo-page
Claude Code
Cursor
Windsurf
Cline

How to use seo-page

  1. 1.Provide a single URL to analyze (e.g., 'analyze this page: https://example.com/article')
  2. 2.Review the Overall Score Card showing breakdown across five categories
  3. 3.Read the Issues Found section organized by priority (Critical → High → Medium → Low)
  4. 4.Check Recommendations for specific, actionable improvements with expected impact
  5. 5.Use Schema Suggestions to implement ready-to-use JSON-LD code for detected opportunities

Use cases

Good for
  • Audit a competitor's page to identify SEO gaps and opportunities
  • Review your own page before publishing to catch on-page SEO issues
  • Diagnose why a page isn't ranking by analyzing technical and content factors
  • Validate schema markup implementation and identify missing rich result opportunities
  • Check image optimization and performance impact across a page
Who it's for
  • SEO specialists and content marketers
  • Web developers optimizing pages for search
  • Content creators reviewing page performance
  • E-commerce managers auditing product pages
  • Technical SEO auditors

seo-page FAQ

What if the page requires authentication or is behind a login?

Report the authentication requirement. You can provide the rendered HTML directly or use a publicly accessible URL instead.

Can this analyze JavaScript-rendered content?

The skill analyzes available HTML. If key content is rendered client-side, results may be incomplete. Suggest using a browser-rendered snapshot for more accurate analysis.

Does this check actual search rankings and backlinks?

Not by default, but if DataForSEO MCP tools are available, the skill can fetch real SERP positions and backlink data.

What's the difference between recommended schema types?

The skill avoids deprecated HowTo and retired FAQ rich results (as of May 2026), but keeps FAQPage as an AI-citation signal and recommends QAPage for genuine Q&A content.

How does it handle images that use JavaScript lazy-loading?

The skill recognizes JS lazy-loaders (Perfmatters, EWWW, lazysizes) and does not flag them as unoptimized, since they intentionally use data-src placeholders instead of native loading attributes.

Full instructions (SKILL.md)

Source of truth, from agricidaniel/claude-seo.


name: seo-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-invocable: true argument-hint: "[url]" license: MIT metadata: author: AgriciDaniel version: "2.2.0" category: seo

Single Page Analysis

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 for rich results (retired May 2026); keep existing FAQPage as an AI-citation signal, use QAPage for genuine Q&A

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: 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

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

ScenarioAction
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.