---
title: "Technical SEO issue guide | SEO Skill"
description: "Look up one technical SEO crawler rule in plain English. See why it may matter, how to fix it and what to check on a live page after the change."
canonical: "https://seoskill.dev/docs/reports/explain-crawl-issue"
language: "en"
---

# Technical SEO issue guide

Use this when a crawl returns a rule name that is not immediately useful. You get the maintained meaning, a practical fix and a way to verify the result on a real page.

## Install and run the tool

Install the CLI once, then run `seo start` to connect your site and Google data. After setup you can run this tool yourself or ask your agent to run it.

Install the SEO CLI globally.

```
npm i -g seo
```

Run setup after installation.

```
seo start
```

Understand one crawler rule and how to verify the fix.

```
seo explain --rule missing_title
```

## What the tool gives you

Look up one technical SEO crawler rule in plain English. See why it may matter, how to fix it and what to check on a live page after the change.

Best for

A crawl result contains a rule id that needs explanation before action.

Needs

Crawler rule id

You get

Look up one technical SEO crawler rule in plain English. See why it may matter, how to fix it and what to check on a live page after the change.

Use next

Find URLs affected by a crawl issue

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.

### Crawler rule id

Selects one maintained technical rule from the installed SEO package.

### Versioned rule guidance

Provides the rule meaning, rationale, fix, impact context, and verification guidance.

## Use a different report for these jobs

These jobs need a different report or a manual review.

[

### You understand the rule and need the real URLs, evidence, and Search Console metrics behind that finding in a saved crawl.

Run affected URLs with the rule id. It turns the catalog explanation into a limited list of actual pages and keeps the selection count and truncation visible.

Technical SEO affected URLs

](https://seoskill.dev/docs/reports/affected-urls)

### You need to know whether the observed condition is intentional for a particular page or template.

No automated rule explanation can know site intent. Review the page purpose, template rules, canonical plan, robots policy, and release context with the owner. This report can explain the condition and verification method, but it cannot label an intentional control as a defect.

Needs more evidence

## Use the tool 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 tool 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 tool with the validated parameters.

Check the current input before the agent or script runs the tool.

```
seo reports describe explain-crawl-issue --json
```

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

```
seo reports run explain-crawl-issue --params '{"ruleId":"missing_title"}' --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 tool.

Ask the MCP server for the current tool input.

```
{
  "id": "explain-crawl-issue"
}
```

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

```
{
  "id": "explain-crawl-issue",
  "params": {
    "ruleId": "missing_title"
  }
}
```

### TypeScript

Install the package in a Node 22 project when your application needs to run the tool 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 tool from your TypeScript application.

```
import { executeReport } from 'seo/mcp'

const result = await executeReport(
  'explain-crawl-issue',
  {
  "ruleId": "missing_title"
},
)

console.log(result)
```

## What to do next

Use the rule ID to fetch the affected URLs, then inspect representative pages in context. Apply the fix only where the rule conflicts with intent and verify it with a fresh crawl.

1.  01Fetch the affected URL list for this rule.
2.  02Audit representative pages and verify the change with a fresh crawl.

## Related reports

[

Find every URL affected by a technical SEO issue, inspect the crawl evidence on each page and turn one broad finding into a practical fix list.

Technical SEO affected URLs

](https://seoskill.dev/docs/reports/affected-urls)[

Audit one URL for technical SEO, metadata, canonicals, schema, links and Search Console queries. See the live evidence before changing the page.

SEO page audit

](https://seoskill.dev/docs/reports/audit-page)[

Browse the technical checks built into the SEO crawler and find the exact rule ID needed for plain-English guidance or affected URLs from a saved crawl.

SEO crawler rules

](https://seoskill.dev/docs/reports/crawler-rules)
