---
title: "Page SEO opportunities | SEO Skill"
description: "Compare one URL with its Search Console queries and live page evidence to find focused content, CTR and coverage opportunities before rewriting the page."
canonical: "https://seoskill.dev/docs/reports/page-opportunities"
language: "en"
---

# Page SEO opportunities

Review one page against the searches already associated with it. The report turns returned demand into a short inspection list rather than a generic rewrite brief.

## Install and run the report

Install the CLI once, then run `seo start` to connect your site and Google data. After setup you can run this report yourself or ask your agent to run it.

Install the SEO CLI globally.

```
npm i -g seo
```

Run setup after installation.

```
seo start
```

Review the returned queries associated with one page.

```
seo page-opportunities --project example --url https://example.com/page
```

## What you get from this report

Compare one URL with its Search Console queries and live page evidence to find focused content, CTR and coverage opportunities before rewriting the page.

Best for

A specific URL needs a compact opportunity view before deeper editing.

Needs

Exact-page Search Console rows

You get

Compare one URL with its Search Console queries and live page evidence to find focused content, CTR and coverage opportunities before rewriting the page.

Use next

Build a content optimization brief

Every report follows the same rules for missing data and outside estimates.[See how report data works](https://seoskill.dev/docs/reports#how-report-data-works).

## What you need before you run it

The report uses the information below. Optional sources are only used when you ask for them.

### Exact-page Search Console rows

Provides returned queries, clicks, impressions, CTR, and average position for the selected URL.

### Optional live-page fetch

Adds current metadata, content, and technical observations for a limited verification step.

## Use a different report for these jobs

These jobs need a different report or a manual review.

[

### You need a detailed content brief for the selected page.

Run content optimization for the URL. It combines its returned Search Console queries with the fetched title, headings, content, and technical conflicts to produce a reviewable brief.

Content optimization report

](https://seoskill.dev/docs/reports/content-optimization)[

### You suspect several URLs may be sharing the same query demand.

Run cannibalisation across the property. It shows queries associated with multiple URLs so you can compare intent, canonicals, and live-page evidence before deciding whether the overlap is harmful.

Keyword cannibalization report

](https://seoskill.dev/docs/reports/cannibalisation)

## Use the report with an agent or in code

The command above is enough for most work. These options let an agent, script or application run the same report with explicit input and structured output.

### CLI

Use the report catalog when an agent, script or CI job needs predictable JSON instead of the normal terminal output. Check the current input first, then run the report with the validated parameters.

Check the current input before the agent or script runs the report.

```
seo reports describe page-opportunities --json
```

Once the input is valid, run the report through the report catalog.

```
seo reports run page-opportunities --params '{"site":"sc-domain:example.com","url":"https://example.com/pricing","days":90,"limit":15,"minImpressions":40,"verifyContent":true}' --json
```

### MCP

An MCP agent follows the same two-step flow. It inspects the current schema, fills the required fields and only then runs the report.

Ask the MCP server for the current report input.

```
{
  "id": "page-opportunities"
}
```

Run the report after the agent has checked and filled the input.

```
{
  "id": "page-opportunities",
  "params": {
    "site": "sc-domain:example.com",
    "url": "https://example.com/pricing",
    "days": 90,
    "limit": 15,
    "minImpressions": 40,
    "verifyContent": true
  }
}
```

### TypeScript

Install the package in a Node 22 project when your application needs to run the report directly. The result includes the same evidence, warnings and limits returned through the CLI and MCP server.

Add the SEO package to your project.

```
npm install seo
```

Run the report from your TypeScript application.

```
import { executeReport } from 'seo/mcp'

const result = await executeReport(
  'page-opportunities',
  {
  "site": "sc-domain:example.com",
  "url": "https://example.com/pricing",
  "days": 90,
  "limit": 15,
  "minImpressions": 40,
  "verifyContent": true
},
)

console.log(result)
```

## What to do next

Choose one change supported by the returned queries and the live page evidence. Update the page around its existing purpose, then compare the same page and query set after new data arrives.

1.  01Use content optimization when the page needs a fuller brief.
2.  02Use internal link candidates when discovery paths are the clearest supported gap.

## Related reports

[

Build a content brief from one page, its Search Console queries and the headings or topics already present. Keep every suggestion tied to demand.

Content optimization report

](https://seoskill.dev/docs/reports/content-optimization)[

Find pages with related search demand that may deserve an internal link to a target URL. Inspect the source page for context and intent before adding anything.

Internal linking report

](https://seoskill.dev/docs/reports/internal-links)[

Audit one URL for technical SEO, metadata, canonicals, schema, links and Search Console queries. See the live evidence before changing the page.

SEO page audit

](https://seoskill.dev/docs/reports/audit-page)

## Sources used by this report

These primary sources define the provider data or search controls used by the result.

-   [Search Console Search Analytics API guidance](https://developers.google.com/webmaster-tools/v1/how-tos/search_analytics)
