Trakkr Docs

Optimize

Most people hear "site optimization" and reach for SEO. Bigger H1s, more keywords, faster pages, more backlinks. All real, all useful, all aimed at Google.

This page is aimed at the other crawler now visiting your site, the one that has to read a page once and decide whether to recite a fact from it. That crawler doesn't rank, it extracts. If it can't parse a clean answer out of your HTML in a single fetch, it skips you, no matter how well you rank in search.

Optimize is the scanner for that. We pull your site the way GPTBot, ClaudeBot, and PerplexityBot pull it, score what they actually saw, and tell you the specific things to fix so the next pull comes back with a usable answer.

AI optimization is not SEO

The two overlap, they don't agree. Good SEO mostly helps. Some of it actively hurts.

A site can rank #1 on Google and be invisible to ChatGPT. The reverse is also true: a page with a one-paragraph answer and proper schema can get cited by AI while sitting on page three of search. Different machines, different rules.

The practical version of this distinction:

Optimize scores those three layers and ignores the SEO leaderboard. Keep doing SEO. Just don't expect it to make you visible to AI on its own.

How the scan works

You hit Run Audit. About 30 to 90 seconds later you have a complete picture of how your site looks to an AI crawler.

Behind the scenes we do four things, in order:

  1. Crawl. We pull your sitemap, follow internal links, and fetch up to a hundred pages with a user agent that mirrors what AI crawlers send. We watch what works and what gets blocked.
  2. Analyze. Every fetched page runs through the same battery of technical checks, around twenty of them, covering headings, meta tags, schema, alt text, canonical, response time, render dependency, and the rest.
  3. Deep Dive. Your most important pages, the homepage and a handful of others, get a second pass where we ask: what questions could this answer, which ones could it actually be cited for, and which entities are unambiguous enough for a model to extract.
  4. Report. Everything gets stitched into one score, a list of findings, and a prioritized fix queue.

The whole scan runs server-side and replaces the previous audit for the brand. Your historical scores are kept, but the active view is always the latest run.

Citation Readiness, the headline score

Every audit produces a single number from 0 to 100 we call Citation Readiness. It's a weighted composite of the technical, content, schema, and AI-readiness checks across every page we crawled, capped at how visible the site is to the bots overall.

ScoreWhat it means
80-100The site is in good shape. Most fixes are polish.
60-79Solid foundation, real room to move on a few specific categories.
40-59Bots are getting through, but they're missing a lot. Pick the critical issues and start.
0-39Something fundamental is breaking, often JavaScript-only rendering, an AI crawler block, or no schema anywhere.

The score is independent of how often AI actually cites you, that's Prompts. Citation Readiness measures whether your site could be cited, not whether it currently is.

What actually gets fixed

The audit groups its findings into a handful of categories. Within each, individual checks roll up into specific fixes with platform-specific code.

Extractability and structure

The "can a model read this" layer. Heading hierarchy, body content density, alt text, meta description, canonical tags, viewport, response time. Most of these overlap with SEO basics. They land here because if your H1 is missing or your meta description is empty, an AI model has nothing to anchor an answer to.

FixWhy it matters for AITypical impact
Add a single, clear H1Models use the H1 as the page's topic anchor+3 to 5 points
Write meta descriptionsOften used verbatim as the answer summary+2 to 4 points
Fix heading hierarchySection structure tells the model how to chunk content+4 to 8 points
Add alt text to imagesThe only way a model knows what an image contains+2 to 4 points
Speed up response timeCrawlers time out fast, slow pages get skipped+1 to 3 points

Schema markup

Schema, specifically JSON-LD, is the difference between "the model can guess this is a product" and "the model knows this is a Product with price $99 and rating 4.6." Models lean on schema heavily because guessing is expensive and often wrong.

Optimize checks whether each page has the right schema for what it is, a Product schema on product pages, an Article schema on blog posts, an Organization schema on the site root, an FAQ schema where there's a question pattern. Where schema is missing or wrong, we generate the JSON-LD for the page and give you platform-specific instructions for pasting it in.

This is often the single highest-leverage fix in the audit. A site with no schema is leaving the model to infer everything from prose, which is exactly when you get hallucinations and misattributions.

AI-specific files

A new category that didn't exist in the SEO era. Optimize checks five files at your domain root:

FileWhat it isStatus today
robots.txtTells crawlers what they can fetch. We check you're not accidentally blocking GPTBot, ClaudeBot, OAI-SearchBot, or Applebot.Universal, table-stakes
sitemap.xmlHelps crawlers find every page worth indexing.Universal, table-stakes
llms.txtA README for AI models, summarizes what the site is and what its key pages are.Emerging standard, increasingly checked
mcp.jsonModel Context Protocol descriptor, lets AI agents call your site programmatically.Early, leading edge
security.txtSignals you're a legitimate operator. Some models use it as a trust factor.Recommended

Most sites have the first two and none of the last three. That's the gap. We generate the missing files based on your site structure and give you the exact contents to paste.

Render dependency

If your site is a React, Vue, or Next.js app rendered client-side, an AI crawler often sees an empty <div id="root"> and bounces. Optimize runs both a static fetch and a JavaScript-rendered fetch on a sample of your pages and compares them. If the static fetch comes back nearly empty while the JavaScript version has real content, you have a render dependency problem.

The fix is server-side rendering or static generation, which is a bigger change than adding a meta tag, but it's the single most consequential one for JavaScript-heavy sites. We surface it as a critical issue when we see it.

Deep Dive, per-page citation potential

The technical checks above run on every crawled page. Deep Dive runs on a handful of your most important pages and asks a different set of questions:

Deep Dive produces a per-page Citation Verdict, "this page would be cited for these queries, and would not be cited for these others, here's why." That's usually the most actionable view in the whole audit, because it points at specific copy edits, not just technical fixes.

How to know it worked

Optimization isn't useful unless you can tell whether your changes actually moved anything. Three loops, in order of how fast they close.

Re-run the audit. After you push a fix, run the audit again. Fixed issues move into the Recently Fixed strip on the Findings tab. New issues, if you introduced any, show up too. Manual audits are rate-limited to one every 24 hours per brand, so plan to fix in batches.

Schedule weekly audits. From the audit settings, turn on the weekly schedule. We run automatically every Monday at 9am UTC and surface score deltas, new issues, and regressions over time. The History tab gives you the trend line and lets you compare any two audits side-by-side.

Watch the bots. If you have Crawler Tracking connected, the audit cross-references your fix list with what AI bots are actually doing on your site. Pages that bots visit a lot but can't extract from are flagged as "hot unfit", high-priority fixes that pay off immediately. Pages bots aren't crawling at all surface as "crawl blind spots", a different problem with different fixes. Without crawler tracking you're optimizing in the dark, with it you can see exactly which fixes paid off in the next crawl.

When crawler tracking is wired up

Optimize is more useful when it's paired with Crawler Tracking, the feature that records every AI bot visit to your site. With both connected, the audit goes from "here are 47 things you could fix" to "here are the 6 things to fix first, because GPTBot is crawling those pages every day and getting empty HTML back."

The Findings tab adds five empirical signals when crawler data is present:

SignalWhat it means
Hot unfitA page bots visit often but can't extract from. Highest-leverage fix tier.
High-value invisibleA page you care about that bots never reach. Usually a sitemap or internal-linking problem.
Crawl blind spotA page no AI bot has touched in 30 days. May not matter, may matter a lot.
Crawled not citedBots are reading the page but it's not showing up in answers. Usually a content or schema problem.
Phantom passThe page passes every technical check but never gets cited. Usually a citation-potential issue, deep dive will tell you.

Without crawler tracking, you get the technical and content findings on their own, still useful, just blind to what bots are actually doing.

Common mistakes

Common questions

How is this different from a regular SEO audit?

An SEO audit measures whether Google can rank your page. Optimize measures whether an AI model can extract a clean answer from it. The two overlap on basics like heading structure and page speed, they diverge sharply on schema (we care more), JavaScript rendering (we're stricter), AI-specific files (we check for them), and citation potential (we have a whole layer for it). Run both, treat them as different decisions.

Can I audit a competitor's site?

No. Optimize is built for sites you control. For competitive analysis, use the main Trakkr visibility tracking via Prompts and the Dashboard, which measures how AI talks about your category, including competitors.

Why is my JavaScript framework flagged as a critical issue?

Because AI crawlers, in general, don't execute JavaScript. If your site is rendered client-side, the crawler sees an empty shell and bounces. Even pages that look great in a browser are invisible. The fix is server-side rendering (SSR), static generation (SSG), or a prerender proxy. Until that's in place, the rest of the audit doesn't really matter for those pages.

How often should I re-run the audit?

After every meaningful change, weekly otherwise. Manual audits are rate-limited to one every 24 hours per brand. Weekly scheduled audits run automatically every Monday at 9am UTC if you turn them on.

What does "Citation Readiness" actually measure?

It's a weighted score (0-100) across four layers: technical health (response time, status codes, render), content structure (headings, density, semantic markup), schema coverage (JSON-LD presence and correctness for each page type), and AI-readiness signals (robots.txt access for AI bots, sitemap, llms.txt, mcp.json, security.txt). It does not measure whether you're currently being cited, that's tracked separately on Prompts.

Why did the audit fail with a "bot protection" error?

Your site is behind a WAF, Cloudflare, Akamai, or similar, that's blocking our crawler because it looks like an AI bot. That's the right behavior if you want to block AI training, the wrong one if you want to be visible in AI search. The audit error page tells you which vendor was detected and how to allowlist the user agents.

Will fixing these issues guarantee I get cited?

No. Optimization removes the technical barriers that prevent citation, it doesn't change the underlying decision of which brand a model recommends. To win citations, you also need content the model has reason to trust, Prompts measures the recommendation side, Optimize measures the extraction side. You usually need both.