SEO Skill

Check the technical controls behind Google AI Overview eligibility

Google says its normal crawl, index, and snippet controls also govern eligibility for AI search features. This report checks those controls and keeps optional page observations separate.

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

Does the observed site configuration restrict Google’s access or use of content in AI search features?

  • You need a Google-specific eligibility review grounded in published controls.
  • You want optional page observations kept separate from access restrictions.

Command facts

Report id
geo-gaps
Execution
Local process
Outputs
JSON and Markdown
Example parameters
reportId, limit
Agent discovery
seo reports describe geo-gaps --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 broader AI readiness review that also covers page structure, structured data, and optional agent resources. Recommended report: Check AI search technical readiness. Run AI readiness. It includes the supported Google controls and adds separate observations for structure and optional resources without treating them as visibility requirements.
  • You need to know whether Google will show a page in an AI Overview or how often it already appears there. No automated report in this package measures AI Overview selection or visibility. Use repeatable external SERP monitoring for the target queries and inspect the cited pages. This report can still identify technical controls that may prevent eligibility.

Data sources and inputs

  • Saved or fresh crawl evidence. Provides response, robots, indexability, canonical, and page-level snippet controls.
  • Google AI feature guidance. Defines the supported relationship between normal search controls and AI feature eligibility.

What this report checks

  • Checks fetched pages for crawl blocks, noindex, unusable responses, canonical conflicts, nosnippet, and max-snippet restrictions.
  • Lists optional page observations separately and never treats their absence as a visibility defect.

How it works

  • Maps observed controls to Google’s published AI-feature guidance and reports unknown when evidence is missing.

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 geo-gaps --json

Run it from an agent or script

seo reports run geo-gaps --params '{"reportId":"crawl_example_20260710","limit":25}' --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": "geo-gaps"
}

Run the report with MCP

{
  "id": "geo-gaps",
  "params": {
    "reportId": "crawl_example_20260710",
    "limit": 25
  }
}

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(
  'geo-gaps',
  {
  "reportId": "crawl_example_20260710",
  "limit": 25
},
)

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

  • Pages with observed technical eligibility restrictions and the exact crawl, index, canonical, or snippet evidence.
  • Selection limits, data status, optional observations, warnings, and a clear statement that eligibility does not guarantee selection.
  • Fix restrictions only when they conflict with publisher intent. No detected restriction means the technical check found none, not that selection will occur.

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

  • Google states that normal Search technical requirements apply and no special AI markup is required.

What to do next

  1. Use affected URLs for any restrictive rule.
  2. Use AI referrals for separate observed traffic evidence.

Sources behind the guidance

These primary sources define the provider data or search controls used in the interpretation above.

Browse all reports in Crawling and technical checks.