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.
PersonorOrganizationon your homepage, withsameAslinks to your LinkedIn, GitHub and other profilesBlogPostingorArticleon posts, with author and datesServiceorProfessionalServiceon service pagesBreadcrumbListfor 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-SearchBotfor ChatGPT search results,GPTBotfor model training. - Google: normal
Googlebotcrawling feeds Search, including AI Overviews. TheGoogle-Extendedtoken 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
- Main content is in the raw HTML (view source to check).
- Every page opens with a direct answer.
- Headings match real questions.
- JSON-LD for Person or Organization, articles and services.
- AI search crawlers allowed in robots.txt.
- Same key facts on your site and all profiles.
- 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.