Monthly SEO reporting with a practical action plan.
Monthly action plan turns a calendar month of Search Console evidence into a readable report and a short work queue. It keeps partial and unavailable sections visible, then recommends follow-up checks only when the report supports them.
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 happened this month and which supported actions should follow?
- A repeatable monthly review should end with a small action queue.
- The requested month has finalised data.
Command facts
- Report id
monthly-action-plan- Execution
Local process- Outputs
JSON and Markdown- Example parameters
site, month, limit, includeBrand- Agent discovery
seo reports describe monthly-action-plan --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 only need a readable monthly status report and do not want a generated follow-up queue. Recommended report: Monthly SEO report. Run monthly report. It returns the calendar-month comparison, opportunity evidence, source coverage, and caveats without adding the workflow action list.
- You need to measure the effect of one known implementation rather than review the whole month. Recommended report: Measure an SEO change. Run measure change with the recorded implementation date and suitable before-and-after windows. It preserves coverage and comparison limits around that change. Neither report can prove causation when other changes overlap.
Data sources and inputs
- Finalised monthly Search Console evidence. Provides the calendar-month report, comparison evidence, opportunities, and caveats.
- Workflow limits and brand settings. Bound the detail and keep branded searches included or excluded consistently.
What this report checks
- Runs the same monthly report contract used by the direct report surface.
- Builds follow-up actions only from supported report sections and preserves partial or unavailable states.
How it works
- Runs the monthly report contract and chooses follow-ups only from returned evidence.
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
This report currently uses the shared report runner in the CLI. Agents and CI should inspect the live schema before their first run.
Check the agent input schema
seo reports describe monthly-action-plan --jsonRun it from an agent or script
seo reports run monthly-action-plan --params '{"site":"sc-domain:example.com","month":"2026-05","limit":10,"includeBrand":false}' --jsonProject 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": "monthly-action-plan"
}Run the report with MCP
{
"id": "monthly-action-plan",
"params": {
"site": "sc-domain:example.com",
"month": "2026-05",
"limit": 10,
"includeBrand": false
}
}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 seoRun this report from TypeScript
import { executeReport } from 'seo/mcp'
const result = await executeReport(
'monthly-action-plan',
{
"site": "sc-domain:example.com",
"month": "2026-05",
"limit": 10,
"includeBrand": false
},
)
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
- The complete monthly SEO report with dates, comparisons, source coverage, findings, and caveats.
- A short action list and next report commands selected from the month’s supported evidence.
- Read coverage before the narrative. Treat follow-ups as an ordered investigation plan rather than automatic fixes.
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
- A calendar summary can hide daily volatility and does not establish why metrics changed.
What to do next
- Run the leading focused report.
- Store the output for a consistent comparison next month.
Related reports
- Monthly SEO report. Turn one calendar month of finalised search data into a clear report with changes, opportunities, gaps, and follow-up work.
- Explain crawl findings clearly. Turn crawl and search evidence into a short report that explains what matters and what to do next.
- Measure an SEO change. Compare equal, finalised search windows around a recorded change and see what moved without claiming the change caused it.
Sources behind the guidance
These primary sources define the provider data or search controls used in the interpretation above.
Browse all reports in Multi-report workflows.