> ## Documentation Index
> Fetch the complete documentation index at: https://docs.filarank.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GEO / AEO scoring

> Six checks for AI answer engines: direct answers, FAQs, entities, citations, snippet-length meta, and structured data.

v2 adds a third score group alongside SEO and readability, aimed at generative and answer engines. Results show as **GEO / AEO** in the live analysis panel and contribute to `$report->geoScore()`.

| Check id                | What it looks for                                                                            |
| ----------------------- | -------------------------------------------------------------------------------------------- |
| `direct-answer-block`   | An early, substantial passage that names the focus keyword so an answer engine can quote it. |
| `faq-structure`         | Question-and-answer blocks in the body.                                                      |
| `entity-clarity`        | Named entities that make the topic unambiguous.                                              |
| `citation-signals`      | Outbound references on longer pages.                                                         |
| `snippet-length-meta`   | A meta description in the length range answer snippets prefer.                               |
| `structured-data-ready` | Content that can back JSON-LD (headings, FAQs, and so on).                                   |

Disable any of them by id:

```php theme={null}
'analysis' => [
    'disabled_checks' => ['citation-signals'],
],
```

Programmatic access:

```php theme={null}
$report = SeoAnalyzer::analyzeModel($post);

$report->geoScore();
$report->geo(); // GEO check results only
```

Pair this with [Structured data](/structured-data) so the tags you render match what the checks expect, and with [AI features](/ai) to rewrite title, meta, and slug when the snippet-length check fails.
