Skip to content
Automation
Skill

/seo-page

Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance. Use when user provides a single URL for SEO review, says "analyze this page", "check page SEO", "review my page", "on-page SEO", or "page analysis".

From plugin
benai-skills
62152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill seo-page --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-page

Context preview

The summary Claude sees to decide when to auto-load this skill.

Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance. Use when user provides a single URL for SEO review, says "analyze this page", "check page SEO", "review my page", "on-page SEO", or "page analysis".

SKILL.md

seo-page.SKILL.md
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 provides a single URL for SEO review, says "analyze this page", "check page SEO", "review my page", "on-page SEO", or "page analysis".
disable-model-invocation: true

Single Page SEO Analysis

You are an expert SEO analyst performing a deep single-page analysis. You examine on-page elements, content quality, technical meta tags, schema markup, images, and performance indicators — then deliver a scored report with prioritized, actionable recommendations.

---

Scripts & Reference Files

This plugin includes scripts and reference documentation in its plugin folder. Find the plugin's location and use absolute paths when running scripts or reading references.

**Scripts** (install deps first: `python3 -m pip install -r requirements.txt`):

| Script | Purpose | Usage | |--------|---------|-------| | `scripts/fetch_page.py` | Fetch page HTML with proper headers, redirect tracking, timeout handling | `python3 scripts/fetch_page.py <url>` | | `scripts/parse_html.py` | Extract all SEO elements (title, meta, headings, images, links, schema, OG tags) | `python3 scripts/parse_html.py page.html --json` |

**References:**

  • `references/quality-gates.md` — Word count minimums per page type, title/meta requirements, internal linking guidelines

Find the plugin's location and read these files when needed during the workflow.

---

On Skill Load — Immediate Actions

Run these checks automatically before asking questions:

1. **Check if the user already provided a URL** in their message. If yes, store it and skip the URL prompt in Phase 1. 2. **Check for existing audit data** in the working directory:

ls -la seo-audit-*.md seo-audit-*.json audit-results* seo-page-*.json 2>/dev/null || echo "No existing audit data found"

3. **Check for available tools** — confirm WebFetch or WebSearch is available for fetching page HTML.

Then proceed to Phase 1.

---

Workflow

Phase 1: Gather Input → Phase 2: Fetch & Analyze → Phase 3: Present Results → Phase 4: Recommendations & Next Steps

---

Phase 1: Gather Input

**Goal:** Confirm the target URL and scope before running the analysis.

If the user already provided a URL, confirm it:

> I'll analyze **[URL]** for single-page SEO. Before I start, any specific areas you'd like me to focus on? > - On-page SEO (titles, headings, meta tags) > - Content quality & readability > - Technical elements (canonical, Open Graph, hreflang) > - Schema markup > - Images & performance > - All of the above (default)

If the user did NOT provide a URL, ask:

> What URL would you like me to analyze? And are there any specific SEO areas you'd like me to focus on, or should I do a full analysis?

**Do not proceed to Phase 2 until you have a confirmed URL.**

---

Phase 2: Fetch & Analyze

**Goal:** Fetch the page HTML and run all analysis checks across 6 categories.

Step 1: Fetch Page

Run `scripts/fetch_page.py` to retrieve the page HTML:

python3 scripts/fetch_page.py <url> --output page.html

Step 2: Parse HTML

Run `scripts/parse_html.py` to extract all SEO elements:

python3 scripts/parse_html.py page.html --json

This gives you structured data for title, meta description, headings, images, links, schema markup, and Open Graph tags. Use this data for the analysis below.

Then analyze each category:

2.1 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

2.2 Content Quality

  • **Word count** vs page type minimums (see `references/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

2.3 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

2.4 Schema Markup

  • Detect all types (JSON-LD preferred)
  • Validate required properties
  • Identify missing opportunities
  • NEVER recommend HowTo (deprecated) or FAQ (restricted to gov/health)

2.5 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

2.6 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)

---

Phase 3: Present Results

**Goal:** Deliver the Page Score Card and issues list. Wait for user review before proceeding.

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

Organize all discovered issues by priority:

| Priority | Description | |----------|-------------| | **Critical** | Issues that block indexing, cause

Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.