SEO Skill

SEO page audit for one URL with crawl and Search Console evidence.

Use this when you need page-level evidence before changing a title, canonical, internal link, or indexing control. The report fetches the live URL and keeps title width, heading counts, and content length as evidence rather than universal quality rules.

Run this report from the CLI, an MCP client, or application code. Every surface uses the same report definition and returns the same evidence. JSON is the source of truth; Markdown makes it readable without hiding dates, limits, warnings, or skipped work.

What this report helps you decide

What can be observed and safely concluded about this specific page?

  • A search result, release, redirect, canonical, structured data, or content question points to one URL.
  • You need fetched evidence rather than a sitewide assumption.

Command facts

Report id
audit-page
Execution
Local process
Outputs
JSON and Markdown
Example parameters
url, site, refresh
Agent discovery
seo reports describe audit-page --json
Interactive prompts
Human CLI commands only

When this report is not the right tool

These cases need a different report, more evidence, or a human decision. Do not force this report to answer a question its data cannot support.

  • You need to discover the same technical problem across a whole site rather than inspect one known URL. Recommended report: Crawl a site for technical SEO issues. Run a site crawl. It follows eligible links and sitemaps within explicit limits, groups repeated findings, and saves a reusable site-level baseline.
  • The page is technically sound and you need a Search Console-backed brief for improving its existing content. Recommended report: Build a content optimization brief. Run content optimization. It joins the live page with its returned queries and separates technical conflicts from supported content review ideas.

Data sources and inputs

  • Live page fetch and extraction. Provides redirects, response, metadata, headings, links, directives, structured data, and page text.
  • Optional exact-URL Search Console context. Adds returned query and performance evidence when the URL belongs to the selected property.

What this report checks

  • Records fetch diagnostics, final URL, response, canonical, robots directives, metadata, headings, links, and structured data.
  • Labels estimates and heuristics explicitly and keeps fetch failures or unavailable first-party data separate.

How it works

  • Fetches the page, keeps transport failures visible, extracts observed evidence, and applies page-level checks with heuristic labels where needed.

The JSON result keeps dates, thresholds, limits, skipped work, and source completeness beside the finding. Missing, partial, capped, filtered, and complete data remain different states.

Run the report from the CLI

Inspect one live page before changing it. Agents and CI should inspect the live schema before their first run.

Run it from the CLI

seo audit-page --url https://example.com/page

Check the agent input schema

seo reports describe audit-page --json

Run it from an agent or script

seo reports run audit-page --params '{"url":"https://example.com/product","site":"sc-domain:example.com","refresh":true}' --json

Project profiles can fill supported property and analytics inputs for the human-facing commands. The catalog form shown here is explicit by design, so agents and CI jobs do not prompt or guess.

How an MCP agent should use it

Call seo_describe_report first so the agent sees when this report is useful and gets the current input schema. Then callseo_run_report with the validated parameters. Read the status, warnings, source limits, and skipped sections before acting on a finding.

Describe the report with MCP

{
  "id": "audit-page"
}

Run the report with MCP

{
  "id": "audit-page",
  "params": {
    "url": "https://example.com/product",
    "site": "sc-domain:example.com",
    "refresh": true
  }
}

Use a follow-up report returned by the result instead of guessing the next tool. The local MCP server and CLI use the same report definition and evidence. Their outer transport envelopes differ.

Use the report in a TypeScript app

Install seo as a project dependency, then call the same report catalog used by the CLI and MCP. executeReportrejects an unknown report id or invalid parameters. Provider and runtime failures come back as structured results withisError set.

Install the library

npm install seo

Run this report from TypeScript

import { executeReport } from 'seo/mcp'

const result = await executeReport(
  'audit-page',
  {
  "url": "https://example.com/product",
  "site": "sc-domain:example.com",
  "refresh": true
},
)

console.log(result)

The TypeScript library guide also covers direct core functions, schema discovery, and the difference betweenexecuteReport and runReport.

What comes back and how to read it

  • A page snapshot with observed technical, metadata, content, link, and structured-data evidence.
  • Focused findings, optional Search Console context, caveats, and verification steps for the exact URL.
  • Start with fetch diagnostics. Title width is an estimate, heading counts describe structure, and content length is evidence rather than a quality score.

Start with dataStatus, source details, warnings, and caveats. Then inspect the observed evidence before derived findings or suggested actions.

What this report cannot tell you

  • One fetch cannot prove Google’s indexed version, rendered state for every crawler, or a sitewide pattern.

What to do next

  1. Fix concrete contradictions and refetch the URL.
  2. Run a site crawl when the same pattern may affect a template.

Sources behind the guidance

These primary sources define the provider data or search controls used in the interpretation above.

Browse all reports in Reporting.