---
title: "Monthly SEO report | SEO Skill"
description: "Create a monthly SEO report from finalised Search Console data with clear comparisons, page evidence, missing data and next actions for the next month."
canonical: "https://seoskill.dev/docs/reports/monthly-report"
language: "en"
---

# Monthly SEO report

Build a report for the latest complete calendar month instead of comparing half-finished data. It explains the main movement and keeps the pages, queries and gaps behind the summary.

## 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
```

Create a report for the latest complete calendar month.

```
seo monthly-report --project example
```

## What you get from this report

Create a monthly SEO report from finalised Search Console data with clear comparisons, page evidence, missing data and next actions for the next month.

Best for

A monthly review needs consistent periods and repeatable narrative structure.

Needs

Finalised Search Console data

You get

Create a monthly SEO report from finalised Search Console data with clear comparisons, page evidence, missing data and next actions for the next month.

Use next

Explain crawl findings clearly

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.

### Finalised Search Console data

Provides the selected calendar month, compatible comparison data, and returned page and query evidence.

### Optional live-page checks

Verifies a limited number of opportunity pages before the report suggests follow-up work.

## Use a different report for these jobs

These jobs need a different report or a manual review.

[

### You need a current technical inventory rather than a monthly Search Console summary.

Run a site crawl to add current response, redirect, canonical, robots, metadata, link, and structured-data evidence. The monthly report does not crawl the whole site.

Sitemap health check and technical site crawl

](https://seoskill.dev/docs/reports/site-crawl)

### You need to explain why search performance changed during the month.

No automated report can assign a cause from monthly totals. Use this report to identify the movement and next evidence to inspect, then review releases, page changes, demand, competitor activity, and confirmed Google updates before drawing a conclusion.

Needs more evidence

## 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 monthly-report --json
```

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

```
seo reports run monthly-report --params '{"site":"sc-domain:example.com","month":"2026-05","limit":10,"includeBrand":false,"verifyContent":true,"verifyLimit":5}' --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": "monthly-report"
}
```

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

```
{
  "id": "monthly-report",
  "params": {
    "site": "sc-domain:example.com",
    "month": "2026-05",
    "limit": 10,
    "includeBrand": false,
    "verifyContent": true,
    "verifyLimit": 5
  }
}
```

### 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(
  'monthly-report',
  {
  "site": "sc-domain:example.com",
  "month": "2026-05",
  "limit": 10,
  "includeBrand": false,
  "verifyContent": true,
  "verifyLimit": 5
},
)

console.log(result)
```

## What to do next

Assign each proposed action to the page, query or crawl evidence that supports it. Keep missing sections visible and use the named follow-up report before a recommendation becomes implementation work.

1.  01Run the focused report attached to a leading item.
2.  02Save the report as the baseline for the next monthly review.

## Related reports

[

Turn crawl findings into a concise narrative that explains what matters, what changed and which evidence supports the next action without hiding limits.

Narrative SEO report

](https://seoskill.dev/docs/reports/narrative-report)[

Turn finalised monthly Search Console evidence into a limited SEO action plan with clear priorities and the follow-up report to run for each one.

SEO action plan

](https://seoskill.dev/docs/reports/monthly-action-plan)[

See what changed in Search Console and which pages, queries, countries or devices explain the movement before choosing what to investigate next.

SEO performance report

](https://seoskill.dev/docs/reports/search-performance-overview)

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