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

# Check your site

> Find SEO, link, image, AI readiness and accessibility problems on a hosted preview, page by page or across the whole site.

`fimo site check` reads your site the way search engines and AI assistants do, and lists what to fix: missing or repeated titles and descriptions, broken links, images without alt text, pages missing from the sitemap, and more. Fimo's SEO, GEO, Content, Quality and Compliance agents run the same checks.

It reads the hosted preview of your current Branch, so run `fimo deploy` first if you have none. Nothing on the site changes.

## Check a few pages

Name the pages a change touches:

```bash theme={null}
fimo site check / /pricing /blog/my-post
```

Paths, bare names (`pricing`) and full URLs all work, up to 50 pages per run. Limit the check to the topics you care about:

```bash theme={null}
fimo site check /blog/my-post --topic meta-tags,image-seo
```

## Check the whole site

```bash theme={null}
fimo site check --all --branch main
```

`--all` reads the home page, the sitemap, llms.txt and every page they link to, up to 300 pages. Some problems only show across the whole site, so only `--all` finds them: two pages with the same title, titles that do not follow the shape most of your titles share, pages nothing links to, pages too many clicks from the home page, and pages missing from the sitemap.

## Topics

| Topic | What it checks |
| - | - |
| `technical` | Status codes, redirects, canonical addresses, the sitemap and robots.txt, language, H1 |
| `meta-tags` | Titles, descriptions and share previews: missing, too long, too short, repeated, shape |
| `broken-links` | Links to your own pages and to other sites that fail or redirect |
| `image-seo` | Alt text, image file names and heavy images |
| `internal-linking` | Pages nothing links to, click depth, and links in your text |
| `hreflang` | On a site in several languages, that each version of a page lists the others |
| `ai-readiness` | llms.txt, AI crawler access, and text served without JavaScript |
| `structured-data` | Structured data that is invalid, or missing for the page's kind (article, product, FAQ, …) |
| `citation` | Content pages that open with a direct answer, and section headings phrased as questions |
| `refresh` | Text that time made untrue, such as a past year written as the present |
| `lifecycle` | Thin pages, near copies of another page, and pages nothing links to |
| `accessibility` | Accessibility in a real browser (needs `--browser`) |
| `mobile` | Layout at a phone's width (needs `--browser`) |
| `consent` | What loads before a visitor chooses: cookies and trackers (needs `--browser`) |
| `privacy` | Whether the privacy page names the services and form fields the site uses (needs `--browser`) |

Without `--topic`, every topic runs. The other topics read each page's HTML. When a page's HTML has no content before JavaScript runs, as on a client-rendered site such as a React Router site with `ssr: false`, the check reads that page in a real browser instead, and the output says how many pages it read that way. `--browser` renders every page in a real browser. Both need `agent-browser` installed.

## Read the results

Each finding names the page and says what is wrong. It is marked:

* `auto`: the fix has one right answer, such as a missing description written from the page's own words.
* `suggest`: a person decides, such as a title too long for Google or a title that already names your site.
* `note`: worth knowing, nothing to fix.

When a page cannot be read, the output says so: "could not tell" is not the same as clean. With `--json`, the report is in `data.output`.

## Check links on a page

```bash theme={null}
fimo site links /pricing
```

Lists every link on the named pages and the status of each target, so you can see where a broken link points.

## Other targets

* A Branch other than the current one: `--branch <name>`. The `prod` Branch has no hosted preview; check `main` or the published address.
* Any address, such as your local dev server or the published site: `--url <origin>`.

```bash theme={null}
fimo site check / --url http://localhost:3000
fimo site check --all --url https://www.example.com
```

If the hosted preview is still building, the command waits up to 90 seconds before it stops and asks you to run it again.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.