Trakkr Docs

Optimize

Most people hear “site optimization” and reach for SEO: keywords, links, speed, and rankings. Those things still matter, but they answer a different question.

Optimize asks whether an AI crawler can open your pages, get the words a person sees, understand their structure, and find a clear answer worth using. A page can rank in search while a non-rendering bot sees an empty shell. It can also be technically clean while giving AI nothing direct to quote.

The page now has three tabs: Findings, Pages, and History. The old Issues view is part of Findings as All checks. Old links to ?tab=issues still land in the right place.

AI optimization is not SEO

The two disciplines overlap, but they are not the same.

Good SEO often helps AI use a page. It does not guarantee it. Optimize keeps the AI-specific checks separate enough that a strong search site cannot hide a machine-reading problem behind a familiar score.

How a scan works

A scan fetches your site, checks each page, and keeps the latest findings beside scan history.

The scan starts from your site and follows the available page list up to its set limit. It records status codes, redirects, indexing rules, titles, descriptions, headings, structured data, image text, canonical links, response time, and whether useful text survives a non-JavaScript fetch.

Important pages receive a closer read for direct answers and detected questions. The result is not one giant grade. Findings leads with a sentence and one ordered list of checks. Pages lets you inspect the URLs behind them. History shows how the quiet Checks score changed between scans.

Reading Findings

Findings is composed in decision order. It answers what is wrong before it shows every detail.

1. The verdict

The first sentence states what is wrong, how many pages it affects, and what to do first. It waits for both the scan and its checks before appearing, so the page never declares a clean site while data is still loading.

A typical verdict might identify blocked crawler access, a page-journey bottleneck, or the highest open check. The button beside it opens the exact next step: the affected pages, the fix, or the ordered checks.

This sentence replaces the old score-led opening. The median score across brands is 82, and 57% score at least 80. Making that number the hero told most customers they were fine directly above a list of real problems. The score still exists, but it no longer gets the loudest space.

2. How AI uses your pages

When enabled, this band shows the six-stage site journey: Available, Reached, Understood, Relevant, Selected, and Visited. Each row states how many pages passed and the number measured at that stage.

It keeps three honesty rules:

  1. Every row states its own base. Measurement coverage differs by stage, so the page does not draw a fake rising funnel from unlike totals. “74 of 100 crawled pages” is honest; a narrowing shape without that base is not.
  2. Unmeasured stages leave the table. They collect into one footer line that says what the next scan will measure or which source to connect. Six rows of en dashes would make missing connections look like six failures.
  3. Fewer than two measured stages does not produce a hollow table. The band says what the next scan will measure instead. If citations already exist, it can name that fact while the rest fills in.

Relevant is always Estimated because it is inferred from detected questions and tracked prompts. It is not observed and cannot be named the site-wide Bottleneck.

Read Pages for the page-level version of the journey and the exact stage rules.

3. All checks, ordered by what to fix first

The former fix queue and the full list are now one table. The default slice is What to fix first, followed by the rest of the checks grouped by severity. This avoids showing the same problem twice under two names.

Each problem uses three deliberately different registers:

RegisterWhat it doesExample
WorkGives a human instructionAdd structured data to the pages AI fetches
EvidenceStates the measured fact and its base74 pages of the 100 crawled carry no JSON-LD
Wrong ifNames the case where the finding is a false alarmWrong if these templates are deliberately excluded from rich results.

The Work column uses a verb. A label such as “Structured data” names a topic but gives you nothing to do. “Add structured data to the pages AI fetches” is an action.

The Evidence column stays inside the check's measured facts. It says “1 page has no meta description,” not that adding one will earn citations. The base travels with the count whenever the scan has one.

The Wrong if note exists so you can dismiss a false alarm honestly. Examples include an app screen whose heading arrives after load, a legal page intentionally excluded from indexing, or a technical audience that expects dense writing. Dismissal is not hiding a problem when the stated exception is true.

Open a row for affected URLs, the full explanation, a paste-ready ticket, and any supported fix. The Pages tab can open already filtered to the exact URLs behind a check.

The quiet Checks score sits on the All-checks header and links to History. It remains useful for scan-to-scan trend, but it is not the answer to “what should I fix?”

4. Site facts

The last line states the ground truth without turning it into another dashboard: detected platform, crawler access, AI-specific files, and render mode. Missing facts are named and link back to the matching check.

This line is intentionally quiet. Platform and file presence help explain a finding; they are not the decision themselves.

Counts, missing data, and scan states

Findings follows the same composition rules in every state:

Keeping the page stable matters. You learn one reading order, and new evidence fills that order instead of replacing the whole screen with a different layout.

Render dependency

Many React, Vue, and client-rendered Next.js sites send a small HTML shell, then add the useful page text after JavaScript executes. A browser handles that. Many AI crawlers do not.

Optimize compares a static fetch with a rendered view on sampled pages. If the static response is empty or much thinner than the browser view, the site has a render dependency. The All checks row says Serve full content to non-JS bots and names the affected pages.

The usual fix is server-side rendering, static generation, or a trusted prerender path. This is larger than changing a title, but it comes first when the bot cannot see the page body. Structured data or cleaner copy cannot help a crawler that received none of it.

AI-specific files and controls

Some site-level checks describe files rather than individual pages.

File or controlWhat Optimize checksHonest reading
robots.txtWhether AI user agents are allowed to fetch the siteA deliberate block can be valid policy. If it is accidental, later work cannot help until access changes.
sitemap.xmlWhether important URLs can be discovered cleanlyDiscovery helps build the page list; it does not promise selection.
llms.txtWhether a root file is present and validNo AI platform reads this file today. Publishing one is a bet on the standard.
mcp.jsonWhether an early machine interface descriptor is presentThis is an early signal for agent access, not evidence that chat models will cite the site.

Do not treat file presence as an outcome. A valid file can remove one access or discovery gap, while citations and visits remain separate stages.

Four common mistakes

Common questions

How is this different from a regular SEO audit?

An SEO audit asks whether a search engine can index and rank a page. Optimize asks whether AI can reach the page, get its useful text, understand a direct answer, and use the page as evidence. Keep both. Do not use one as a substitute for the other.

Where did the Issues tab go?

It became All checks inside Findings. Old ?tab=issues links still open Findings, and an ?issue= link still focuses the matching row.

What does Checks score measure?

It is the scan's weighted 0 to 100 summary across technical health, content structure, structured-data coverage, crawler access, and AI-specific site signals. It is best used as a trend in History. The verdict and ordered checks decide what to do next.

Why is How AI uses your pages missing?

That band is rolling out gradually. It appears only when the site-journey setting is enabled for the brand. Findings, All checks, Pages, and History do not depend on it.

Can I scan a competitor's site?

No. Optimize is for sites you control. Use Competitors and Citations to study external pages AI uses for your prompts.

Why is my JavaScript framework flagged?

The framework name alone is not the problem. The check fires when a non-rendering fetch misses body text that appears in a browser. Server rendering, static generation, or a prerender path can make the same text available in the first response.

How often should I scan?

Scan after a meaningful site change and use History to compare. Scheduled scans can catch drift between releases. The page keeps the same reading order while a scan is active.

Does publishing llms.txt mean AI will cite me?

No. No AI platform reads that file today. It is a bet on a possible standard, not a citation signal.

Will clearing every check guarantee citations?

No. Optimize finds barriers and weak page signals. Citation selection also depends on the question, source trust, competing pages, and the model's retrieval. Results should always be stated as measured movement, never as a promised outcome.

What if a finding is wrong for my site?

Open the row and read Wrong if. If the stated exception fits, dismiss it with that reason. The table is designed to make a justified false alarm visible, not force every site into one template.