Skip to content
Marketing
Skill

/seo-page

URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status. Produces a keep / refresh / consolidate / kill verdict for one page. Distinct from `seo-technical-audit` (which checks technical

From plugin
seo-skills
14432 skills1 MCP
Install
$ npx -y skills add seranking/seo-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.

URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status. Produces a keep / refresh / consolidate / kill verdict for one page. Distinct from `seo-technical-audit` (which checks technical

SKILL.md

seo-page.SKILL.md
name: seo-page
description: URL-level SEO intelligence — which keywords this page ranks for, traffic captured, position history, SERP context, and AI Search citation status. Produces a keep / refresh / consolidate / kill verdict for one page. Distinct from `seo-technical-audit` (which checks technical health, not keyword/traffic performance) and from `seo-content-brief` (which produces a NEW article from a topic). Use when the user asks "analyze this page", "page SEO performance", "what does this URL rank for", "page traffic", "should I refresh this page", or provides a single URL for analysis.

> Example output: [examples/seo-page-notion-keyboard-shortcuts-20260514/PAGE.md](../../examples/seo-page-notion-keyboard-shortcuts-20260514/PAGE.md)

Page Intelligence

Show what a single URL ranks for, what traffic it captures, where its weak and strong points are, and what to do about it. The deliverable is an opinionated verdict — **KEEP**, **REFRESH**, **CONSOLIDATE**, or **KILL** — anchored in objective signals from SE Ranking's URL-level data.

Prerequisites

  • SE Ranking MCP server connected.
  • Claude's `WebFetch` tool available (for the page-level HTML sense-check).
  • User provides: (a) a target URL, optionally (b) target market country (default: `us`), (c) primary topical keyword (auto-inferred from `<title>` + `<h1>` if not supplied).

Process

1. **Validate target & preflight.** See `skills/seo-firecrawl/references/preflight.md` for the canonical 3-stage preflight (credit balance, Firecrawl availability, Google APIs). Skill-specific notes:

  • Confirm the URL is fetchable; derive parent domain. If the user supplied a primary keyword, use it; otherwise infer it in step 3.
  • Estimated SE Ranking cost for this skill: ~10–15 credits typical (URL overview, ranking keywords, page authority, SERP context for top 3–5 keywords).
  • Firecrawl: optional with WebFetch fallback, ~1 Firecrawl credit if available. When available, step 6 recovers `og:*`, `twitter:*`, canonical, robots meta, JSON-LD types, and hreflang count from raw `<head>` — WebFetch returns markdown only and strips those fields. Without Firecrawl, the affected lines in `PAGE.md` emit `(skipped — Firecrawl not installed)`. Pass `--no-firecrawl` to treat Firecrawl as unavailable even when installed (credit conservation).
  • Google APIs: tier 1 (GSC available) unlocks step 4b (GSC URL performance + URL Inspection) after the page-authority step. See `skills/seo-google/references/cross-skill-integration.md` § "seo-page" for the full recipe.

2. **URL-level overview** `DATA_getUrlOverviewWorldwide`

  • Pull keyword count, organic traffic estimate, paid keyword count, paid traffic estimate, top regions.
  • Note: traffic estimates are directional — they don't replace Google Search Console.

3. **Ranking keywords** `DATA_getDomainKeywords` (use the `url` param for exact match — not `filter_url`)

  • Pull every keyword the URL ranks for in the target country, with positions.
  • Sort by traffic-weighted score: `volume × CTR-by-position` (use a standard CTR curve: 1=28%, 2=15%, 3=11%, 4=8%, 5=7%, 6=5%, 7=4%, 8=3%, 9=2%, 10=2%, 11+=1%).
  • Take the top 3–5 as the URL's "primary keywords" for SERP work in step 5.

4. **Page authority** `DATA_getPageAuthority` + `DATA_getPageAuthorityHistory`

  • Current PA score and its 12-month trajectory.
  • Flag any drop > 5 points in the last 90 days.

4b. **GSC URL performance + URL Inspection** *(only if google-api.json is present, tier ≥ 1)*

  • Replaces the directional traffic estimate from step 2 with first-party Google data for the exact URL.
  • Pull GSC search analytics for the URL (last 28 days, by query and page):

`python3 scripts/gsc_query.py --property "{config.default_property}" --url "{target_url}" --days 28 --json`

  • Pull URL Inspection (real indexation status, canonical Google sees, last crawl date):

`python3 scripts/gsc_inspect.py "{target_url}" --site-url "{config.default_property}" --json`

  • If the URL's domain isn't a verified GSC property: surface "GSC: {target_domain} not verified — add it in Search Console" and continue with SE Ranking data only.
  • Surface in `PAGE.md` "## Snapshot": `GSC last 28d: {clicks}/{impressions}/{ctr}% CTR / pos {position}` and `Google sees: {INDEXED|EXCLUDED} · canonical {userCanonical} → {googleCanonical} · last crawled {date}`.
  • **Feed into the verdict heuristic:** `INDEXED` + impressions > 100 + position 4–10 → harden REFRESH (clear quick-win). `EXCLUDED` (any reason) → harden KILL or CONSOLIDATE. `userCanonical ≠ googleCanonical` → flag as critical issue regardless of verdict.
  • See `skills/seo-google/references/cross-skill-integration.md` § "seo-page" for the full recipe.

5. **SERP context** `DATA_getSerpResults` and `DATA_getAiOverview`

  • For each of the 3–5 primary keywords:
  • Top 10 organic results (URL, title, snippet).
  • SERP features present (PAA, image carousel, video, shopping, etc.).
  • AIO presence and citations — is this URL cited in the AIO?

6. **HTML sense-check** `WebFetch` (always) + `mcp__firecrawl-mcp__firecrawl_scrape` (when available)

  • **WebFetch first** (free, instant): extract `<title>`, meta description, all `<h1..h6>`, lang, word count, internal-link count, image count. WebFetch returns markdown so anything in `<head>` beyond `<title>` is lost — the next bullet recovers it.
  • **Firecrawl second** (1 Firecrawl credit; pass `formats: ["rawHtml"]`) — recovers what WebFetch can't see. Pin the format to `rawHtml`; the default `html` is post-processed and silently strips canonical, hreflang, and `<script type="application/ld+json">` blocks on many sites. If those head fields come back zero on a site that obviously has them (any major SaaS homepage), you forgot the `rawHtml` flag — re-run.
  • From `metadata`: `og:title`, `og:description`, `og:image`, `twitter:card`, `viewport`, robots meta, canonical URL.
  • From the returned `rawHtml`: every `
Read more
Ships withseo-skills

Production-ready Claude Agent Skills for SEO, powered by the SE Ranking remote MCP.

Get the whole plugin

Other skills on seo-skills.