Why this comes before content

Your own site is the only source you fully control, and it is the one a model returns to when it needs to verify something. If it cannot be fetched, cannot be read without JavaScript, or contradicts itself, every other piece of GEO work gets discounted at that moment.

Check 1: can crawlers reach it

Send an actual request with each AI crawler's user agent and look at the status code. Reading robots.txt is not a test — the file frequently allows what a CDN or firewall then blocks.

Then check unknown paths. A site that returns 200 with the home page for a path that does not exist is teaching crawlers that infinite junk URLs are valid pages. This is extremely common and completely invisible in a browser.

Check 2: does the content survive without JavaScript

Disable JavaScript in a browser and open your key pages. What remains is roughly what a crawler sees. Modern site builds frequently render everything client-side, which makes the page an empty shell to most crawlers.

Check 3: is the structure explicit

  • One h1 per page, heading levels that do not skip.
  • Bold text is not a heading. A model reads heading levels; it does not infer them from styling.
  • Lists for parallel information, tables for comparisons.
  • Key facts as text, not only inside images.

Check 4: structured data

Organization with legal name, address and phone; Article on content pages; FAQPage on question-and-answer blocks; BreadcrumbList for position. Mark up only what is actually visible on the page — markup that does not match visible content is a violation, not an optimisation.

The full configuration list is in the 15-item site checklist, and the practical detail in the structured data guide.

Check 5: do the facts agree

Build one fact table — legal name, founding year, service scope, address, phone — and compare it against every place those facts appear: the site, maps, directories, social accounts, encyclopedia entries.

Contradictions here lower a model's confidence in the entity as a whole, not just in the page where the contradiction sits. This audit is usually the highest-return hour in the entire programme.

Check 6: canonical and redirects

Pick one canonical host and redirect the other. Make sure canonical tags point at addresses that actually serve content rather than at addresses that redirect. Check that trailing-slash behaviour in your links matches what the server does.

Then add an llms.txt

A plain-text index at the site root: what the organisation is, which pages matter, and what you do not do. Cost is close to zero. See the glossary entry for what belongs in one.