Writing ·

AI Search Visibility: SSR, Schema and llms.txt

By Sovaid Shah, Software Architect · AI · SEO · AI search · SSR · Structured data

TL;DR: AI search engines can only cite what they can read. Serve real HTML (SSR or static), because many AI crawlers do not run JavaScript. Put a direct answer near the top of each page, add structured data, allow the AI search crawlers you want in robots.txt, and keep facts consistent across your site and profiles. llms.txt is cheap to add but is not a ranking factor, and Google has said it does not use it.

People increasingly get answers from Google’s AI Overviews, ChatGPT search and Perplexity without clicking ten blue links. If your site isn’t in those answers, you’re missing searches you used to get.

The good news: most of what gets you cited by AI search is what already worked for SEO, done more strictly. I’ve worked on SSR and search visibility for marketplaces, such as Yatty, where server-rendered galleries helped grow organic traffic 45%, and I applied the steps below to this site.

1. Serve real HTML, not a JavaScript shell

This is the biggest one. Google renders JavaScript, though rendering is queued and slower than plain HTML crawling. Many AI crawlers don’t run JavaScript at all. They fetch the HTML and use what’s in it.

If your content only appears after client-side JavaScript runs, those crawlers see an empty page.

  • Use server-side rendering or static generation for any page you want cited. Next.js, Astro, Rails views and Razor pages all do this.
  • Check by viewing the page source (not the browser inspector). If your main text isn’t in the raw HTML, AI crawlers probably can’t see it.

2. Answer first, then explain

AI answers quote short, self-contained passages. Make them easy to lift:

  • Start each page or section with a direct answer in two or three sentences. Every article on this site opens with a TL;DR for this reason.
  • Use headings phrased like the questions people ask.
  • Keep key facts in plain sentences, not only inside images, tabs or accordions that need clicks.
  • Use tables for comparisons. They’re easy for both people and models to parse.

3. Add structured data that describes who and what

Structured data (JSON-LD with schema.org types) tells machines what a page is and who is behind it.

  • Person or Organization on your homepage, with sameAs links to your LinkedIn, GitHub and other profiles
  • BlogPosting or Article on posts, with author and dates
  • Service or ProfessionalService on service pages
  • BreadcrumbList for site structure

Schema doesn’t guarantee citations, but it removes guesswork about who wrote something and what it’s about.

4. Decide which AI crawlers you allow

AI companies run separate crawlers for different purposes, and you can control them in robots.txt. A few examples:

  • OpenAI: OAI-SearchBot for ChatGPT search results, GPTBot for model training.
  • Google: normal Googlebot crawling feeds Search, including AI Overviews. The Google-Extended token controls use of your content for Gemini training, not Search.
  • Perplexity: PerplexityBot.

If you want to appear in AI search answers, don’t block the search crawlers. You can block training crawlers separately if you prefer. Check each provider’s documentation, because names and rules change.

5. Keep your facts consistent everywhere

AI systems compare sources. If your site says one job title and years of experience and your LinkedIn says another, the model has two conflicting facts about you and may cite neither.

Pick one version of your key facts (name, role, location, experience, what you offer) and use it on your site, LinkedIn, GitHub and directory profiles.

6. Add llms.txt, but keep expectations low

llms.txt is a proposed standard: a plain Markdown file at your site root that lists your important pages with short descriptions, written for AI tools. This site has one at /llms.txt.

To be clear about what it does: it isn’t a ranking factor, and Google has said it doesn’t use it. It’s a few minutes of work that may help some AI tools understand your site, so it’s worth adding after the steps above, not instead of them.

A checklist

  1. Main content is in the raw HTML (view source to check).
  2. Every page opens with a direct answer.
  3. Headings match real questions.
  4. JSON-LD for Person or Organization, articles and services.
  5. AI search crawlers allowed in robots.txt.
  6. Same key facts on your site and all profiles.
  7. llms.txt added as a bonus.

FAQ

How do I get my website cited in ChatGPT or Google AI Overviews?

Serve content in server-rendered HTML, answer questions directly near the top of the page, add structured data, allow AI search crawlers in robots.txt, and keep your facts consistent across the web.

Do AI crawlers render JavaScript?

Many don’t. They read the HTML response directly. Google renders JavaScript but with a delay. Server-side rendering or static generation is the safe choice.

Does llms.txt improve rankings?

No. It’s a helpful map for some AI tools, but it isn’t a ranking factor and Google has said it doesn’t use it.


Want your product’s pages to rank in search and AI answers? See hire a Next.js developer.