SEO Skill

Striking distance SEO report for page-two queries and grouped actions.

Striking distance is for page-two opportunities where several rows share the same kind of fix. It keeps query and page pairs intact, then groups them into content, snippet, internal-link, or technical themes. Position 11 to 20 is a filter, not a promise that a small edit will reach page one.

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

Which visible pages may deserve a closer look just beyond the first results page?

  • You want a limited review queue based on existing search visibility.
  • You can inspect intent and the live result before changing a page.

Command facts

Report id
striking-distance
Execution
Local process
Outputs
JSON and Markdown
Example parameters
site, days, minImpressions, limit, includeBrand, verifyContent, verifyLimit
Agent discovery
seo reports describe striking-distance --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 want a compact list of individual URLs rather than grouped query and template patterns. Recommended report: Find pages close to page one. Run second page. It assigns supporting query evidence to a page-oriented queue, which is easier when each URL needs its own owner or review rather than one shared template action.
  • You need to decide the exact edit for one candidate page. Recommended report: Build a content optimization brief. Run content optimization for that URL. It adds the live page structure and its returned Search Console query evidence to build a focused brief. Striking distance only identifies and groups plausible opportunities.

Data sources and inputs

  • Returned Search Console query and page rows. Provides impressions, clicks, CTR, and average position for exact query and URL pairs.
  • Optional page content verification. Checks a limited number of candidate pages for technical conflicts and query coverage evidence.

What this report checks

  • Finds query and page pairs in the documented position range with enough impressions to review.
  • Checks CTR, query themes, URL templates, and repeated patterns across the selected rows.
  • Ranks rows consistently and records each optional page verification outcome separately.

How it works

  • Filters eligible rows by the documented position and impression bounds, ranks them consistently, then returns a limited review set.

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

Find returned query and page combinations near page one. Agents and CI should inspect the live schema before their first run.

Run it from the CLI

seo striking-distance --project example

Check the agent input schema

seo reports describe striking-distance --json

Run it from an agent or script

seo reports run striking-distance --params '{"site":"sc-domain:example.com","days":28,"minImpressions":50,"limit":10,"includeBrand":false,"verifyContent":true,"verifyLimit":5}' --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": "striking-distance"
}

Run the report with MCP

{
  "id": "striking-distance",
  "params": {
    "site": "sc-domain:example.com",
    "days": 28,
    "minImpressions": 50,
    "limit": 10,
    "includeBrand": false,
    "verifyContent": true,
    "verifyLimit": 5
  }
}

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(
  'striking-distance',
  {
  "site": "sc-domain:example.com",
  "days": 28,
  "minImpressions": 50,
  "limit": 10,
  "includeBrand": false,
  "verifyContent": true,
  "verifyLimit": 5
},
)

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

  • Grouped actions with representative query and page rows, metrics, and verification state.
  • The evidence behind each content, snippet, internal-link, or technical investigation.
  • Pattern groups and sample URLs without assuming one fix suits every page.
  • Treat each row as an investigation lead. Check the query meaning, competing result types, page fit, and technical state before proposing work.

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

  • Position 11 to 20 is a prioritisation filter, not evidence that a small edit will move the page to page one.

What to do next

  1. Run page opportunities or audit page for the best-supported URL.
  2. Use internal links when the target is sound and needs relevant discovery paths.
  • Find opportunities for one page. See which returned search queries are already associated with one URL and what deserves a closer look on the live page.
  • Audit one page. Inspect one live URL before changing its metadata, canonical, directives, structured data, links, or content.
  • Find internal link candidates. Find fetched pages with relevant search evidence that do not currently contain a verified contextual link to a chosen target.

Sources behind the guidance

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

Browse all reports in Property diagnosis.