SEO Skill

Find unusual changes behind an organic traffic drop.

Traffic anomaly is the starting point when organic clicks or impressions move unexpectedly. It shows whether the change stands out against the property history and gives you the dates and evidence for a deeper investigation. It does not assign a cause.

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

Is the recent search movement unusual for this property?

  • Clicks or impressions appear to have changed and you need a repeatable first check.
  • A scheduled review needs to separate routine variation from stronger signals.

Command facts

Report id
traffic-anomaly
Execution
Local process
Outputs
JSON and Markdown
Example parameters
site, days, recentDays, refresh
Agent discovery
seo reports describe traffic-anomaly --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 already know there was a change and need to find which pages, queries, countries, or devices account for it. Recommended report: Find which search segments moved. Run segment impact for the relevant dimension. It compares matched periods and returns supported gains, declines, and unmatched rows, so the investigation moves from a property total to the affected segment.
  • You need to prove what caused the organic traffic drop. No automated report can isolate causation from Search Console history. Review tracking changes, releases, crawl evidence, demand, seasonality, and search-result changes across the same dates. Traffic anomaly can establish whether and when the movement was unusual.

Data sources and inputs

  • Finalised Search Console property totals. Provides the historical baseline and recent comparison window for clicks and impressions.
  • Official Google ranking update dates. Adds confirmed update context without assigning causation.

What this report checks

  • Builds finalised baseline and recent windows from the shared Search Console date helper.
  • Calculates unusual movement against the property history and records significance, direction, update overlap, and data status.

How it works

  • Compares the recent window with the returned historical distribution and reports the threshold, direction, and data sufficiency used.

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 unusual recent Search Console movement. Agents and CI should inspect the live schema before their first run.

Run it from the CLI

seo traffic-anomaly --project example

Check the agent input schema

seo reports describe traffic-anomaly --json

Run it from an agent or script

seo reports run traffic-anomaly --params '{"site":"sc-domain:example.com","days":90,"recentDays":7,"refresh":false}' --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": "traffic-anomaly"
}

Run the report with MCP

{
  "id": "traffic-anomaly",
  "params": {
    "site": "sc-domain:example.com",
    "days": 90,
    "recentDays": 7,
    "refresh": 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 seo

Run this report from TypeScript

import { executeReport } from 'seo/mcp'

const result = await executeReport(
  'traffic-anomaly',
  {
  "site": "sc-domain:example.com",
  "days": 90,
  "recentDays": 7,
  "refresh": 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

  • Recent click and impression anomalies with baseline values, observed movement, significance, and date windows.
  • Official update overlap, source details, caveats, and focused investigations for significant changes.
  • An anomaly says the movement is unusual under this method. It does not identify the cause. Break it down before reaching for a fix.

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

  • Seasonality, launches, tracking changes, news, and demand can all create genuine anomalies unrelated to technical SEO.

What to do next

  1. Run segment impact to locate the pages or queries behind the movement.
  2. Check update correlation when the dates overlap a confirmed Google update.

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.