> ## 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.

# Technical audit

> Crawl your own pages for missing meta, broken status codes, absent JSON-LD, and images without alt text.

**SEO Health → Technical audit** crawls the public URL of every record with SEO meta and reports missing titles, meta descriptions, canonicals, OG images, and focus keywords, plus broken status codes, absent JSON-LD, and images without alt text.

Each issue can be turned into a numbered remediation plan with [AI](/ai).

## Safety

The crawler only fetches URLs on your own `app.url` host. Extra hosts must be allow-listed **and** must resolve to public addresses, which stops a careless `getSeoUrl()` from pointing the crawler at internal services or cloud metadata endpoints. Blocked URLs are recorded as an `unsafe_url` issue so the meta checks still run and you can see why the fetch was skipped.

Redirects mid-request to untrusted hosts are refused.

```php theme={null}
'audit' => [
    'allowed_hosts' => ['docs.example.com'],
    'max_pages' => 500,
    'delay_ms' => 0,       // throttle between requests
],
```

Runs are bounded by `max_pages` and atomic: issues are collected in memory and swapped in one transaction, so a crawl that dies halfway leaves your existing issue list intact.

Implement `getSeoUrl()` so the crawler hits the public page rather than a guessed slug path. See [Usage](/usage).
