Programmatic SEO audit for templates, scaled pages, and search demand.
Use this programmatic SEO audit for city pages, directories, comparisons, integrations, and other repeated templates. It finds template-level demand and technical patterns without condemning thousands of URLs from one limited sample.
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 programmatic page families show supported index, crawl, visibility, or page-quality review signals?
- A site publishes repeated URL templates at meaningful scale.
- You need sampled technical evidence alongside first-party search visibility.
Command facts
- Report id
pseo-audit- Execution
Local process- Outputs
JSON and Markdown- Example parameters
site, detail- Agent discovery
seo reports describe pseo-audit --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 definitive quality verdict from word count or one sampled URL. No report should condemn a template from word count or one sampled URL. Use the pSEO audit to select representative pages and compare template, crawl, Search Console, and optional URL Inspection evidence. Then manually review whether those pages satisfy their search intent, provide distinct value, and deserve to exist.
- You need Google’s current indexed verdict for one representative template URL. Recommended report: Review Google index changes. Run index watch for the selected URL. It adds a direct URL Inspection result and any compatible local history, while keeping that single-page evidence separate from claims about the full template.
Data sources and inputs
- Sitemap and template inventory. Provides discoverable URLs and repeated path patterns for the population under review.
- Search Console page and query rows. Adds returned visibility and demand evidence for template families.
- Limited crawl and URL Inspection samples. Adds observed page checks and optional Google index verdicts for selected URLs.
What this report checks
- Detects repeated URL patterns and groups returned search evidence without treating absent rows as zero demand.
- Reviews limited samples for response, canonical, indexability, metadata, headings, repeated text, and exact inspection verdicts when requested.
How it works
- Detects repeated URL patterns, ranks returned template evidence, then applies explicit limited technical samples and verdict rules.
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
Review repeated page templates with crawl and search evidence. Agents and CI should inspect the live schema before their first run.
Run it from the CLI
seo pseo audit --project exampleCheck the agent input schema
seo reports describe pseo-audit --jsonRun it from an agent or script
seo reports run pseo-audit --params '{"site":"sc-domain:example.com","detail":"summary"}' --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": "pseo-audit"
}Run the report with MCP
{
"id": "pseo-audit",
"params": {
"site": "sc-domain:example.com",
"detail": "summary"
}
}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(
'pseo-audit',
{
"site": "sc-domain:example.com",
"detail": "summary"
},
)
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
- Template families with population counts, returned search evidence, sampled findings, and representative URLs.
- A limited verdict and review plan that states which claims apply only to crawl or inspection samples.
- Separate population, returned search evidence, crawl samples, and inspection samples. A verdict applies to the evidence sampled, not every URL in the family.
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 sitemap URL without a returned row does not prove zero demand. Literal query coverage and repeated text are review heuristics, not spam verdicts.
What to do next
- Sample representative URLs from the strongest risk or opportunity.
- Measure template changes after complete finalised windows.
Related reports
- Audit selected URLs. Run the crawler checks across a chosen list of pages without discovering or crawling the rest of the site.
- Review Google index changes. Inspect a limited URL set and separate current index issues, regressions, recoveries, and operational failures.
- 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.
- Search Console Search Analytics API guidance
- Google sitemap guidance
- Search Console URL Inspection API reference
Browse all reports in Reporting.