For the complete documentation index, see llms.txt. Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.
Skip to content

The AI search visibility guide: get cited by AI · chapter 5

Schema and technical access for AI search

Technical access decides whether an AI engine can read a page at all: allow the search and user agents in robots.txt, serve the answer in the HTML without needing JavaScript, return real status codes, and keep snippets allowed. Schema helps engines parse a page but is not required; Google says its AI features need no special markup.

7 days free · card required

This page, as a crawler fetches it
This page, as a crawler fetches it
CheckResult
Answer and headings in the server HTMLpresent, no JavaScript needed
Markdown twin at the same URL + .md200, text/markdown
JSON-LDArticle, FAQPage, BreadcrumbList, Claim
Marked-up claimseach one visible in the source list
robots.txt for this pathsearch and user agents allowed
Blocked outrightCCBot, AhrefsBot, SemrushBot
this page, fetched without JavaScript ·
Karl-Gustav KallasmaaKarl-Gustav Kallasmaa, Founder & CEO

Last updated

Key facts

What does a technically readable page look like?

You are reading one. This page is built the way we build every page on attensira.com, and each choice exists because an AI engine reads differently from a person.

  • The text is in the HTML the server sends. Fetch this URL with a plain HTTP client and the answer at the top, every heading and every paragraph is in the response. Nothing on it needs JavaScript to appear.
  • It has a Markdown twin. Every page on the site is also served as plain Markdown, and the site lists its pages for agents in an llms.txt file.
  • It carries structured data that matches what you see. The page declares itself an article in a guide, with its breadcrumb trail, its author and dates, and the questions and answers in the FAQ below, in JSON-LD. Every claim in the source list at the bottom is also marked up, and each one is visible on the page.
  • It answers first. The 40 to 60 word answer sits directly under the title, before anything else.
  • Its robots.txt names each AI agent and allows the search and user agents of every engine we track, along with most training agents. It disallows three crawlers outright: CCBot, AhrefsBot and SemrushBot.

What this produces is reach. In the 30 days to 4 October 2026, PerplexityBot fetched 331 different pages on our site and OpenAI's agents 419, counted at the edge by user agent. Access is not our bottleneck.

What it does not produce on its own is citations. As the earlier chapters show, our category answers lean on other people's pages. Technical access is the entry ticket. This chapter is about getting the ticket right, and about not paying extra for things that do not help.

Which technical work matters most?

In order of how often it is the problem.

1. Robots.txt that lets the right agents in. The search agents (OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot, bingbot) and the user agents (ChatGPT-User, Claude-User, Perplexity-User) need access to the pages you want cited. A single wildcard disallow written to stop training crawlers blocks all of them. The crawler guide's robots.txt chapter has the syntax.

2. Content in the initial HTML. AI crawlers do not run JavaScript; that is why they never show up in browser analytics. If the paragraph that answers a question is fetched and inserted by a script after the page loads, an agent reading the HTML may never see it. Server-render or pre-render the text that matters. Attensira's own page reader falls back to a plain HTTP fetch when needed, and its documentation warns that a page built entirely in JavaScript may then come back empty.

3. Real status codes and short redirects. A missing page should return 404, not a "not found" message with a 200. An old URL should reach its new home in one hop. A crawler that hits a chain of redirects or a soft error wastes its visit and may index the wrong thing.

4. Snippets allowed. Google says a page must be eligible to show in Search with a snippet to be a supporting link in AI Overviews or AI Mode, and lists nosnippet, data-nosnippet, max-snippet and noindex as the controls that limit what is shown. A blanket nosnippet on a template, often left over from an old legal or paywall decision, removes every page using it from that pool.

5. Internal links and a sitemap. Google recommends making content findable through internal links. Pages nobody links to are found late or not at all.

6. Reliability under load. A page that times out for a crawler is not read, and a robots.txt that errors can be treated by a compliant crawler as a full disallow until it recovers. Keep both fast and boring.

Does schema markup help a page get cited?

It helps engines understand a page. It is not a citation switch.

Google is explicit for its own AI features: there is no special schema.org structured data you need to add, and you do not need new machine-readable files, AI text files or markup to appear. Structured data still powers various Google search features, and Google asks that it match the visible text. None of the other operators' crawler documentation we reviewed describes schema as a factor in citation.

So treat schema as hygiene, with three rules.

  1. Mark up what the page actually is. An article is an Article, a product page a Product or SoftwareApplication, a question-and-answer block a FAQPage, a trail of parent pages a BreadcrumbList.
  2. Match the visible text exactly. If the FAQ markup lists a question, the question is on the page. If the product markup states a price, the page shows that price. Markup that says more than the page is the fastest way to lose trust in the markup.
  3. Do not expect it to fix a weak page. An engine that has a vague paragraph and perfect markup still has nothing to quote.

On our own pages, the FAQ block, breadcrumbs and article data are generated from the same content as the visible text, from one source, so they cannot drift apart. That is the safest way to do it at any scale.

What do the engines tell people about schema?

Perplexity's answer to a question we track, verbatim. It lists FAQPage and Article markup beside quotable passages and verifiable data. Google's own documentation says no special schema is needed for its AI features. Read the advice as: markup helps an engine parse a page, the passages get it quoted.

Answer · Perplexityasked

Question: how to get my docs cited by ChatGPT

Perplexity answered: Direct answer: to increase the chance your docs get cited by ChatGPT, publish content with clear, quotable passages (direct answers up front), well-structured sections that answer sub-questions, accurate and verifiable data with citations, and use schema markup (FAQPage/Article) plus freshness signals so search/AI retrievers can index and quote it.

Sources cited

  1. 1kime.ai
  2. 2oltre.ai
  3. 3imarkinfotech.com
  4. 4apollodigital.io
  5. 5chatgpt.com
  6. 6mentionable.ai
  7. +2 more

Not namedAttensira is missing from this Perplexity answer.

Analyst agentAnalyst · reads this workspace's answersattensira.com workspace, Attensira MCP · · excerpt, sample 2 of 3 in that run

Which schema types are worth adding?

The ones that describe what the page already is. For most sites, five types cover nearly every page.

  • Any page below the home page

    Type
    BreadcrumbList
    What it states
    Where the page sits in the site
  • Article, guide or post

    Type
    Article
    What it states
    Headline, author, publish and update dates
  • Questions and answers shown on the page

    Type
    FAQPage
    What it states
    Each question and its visible answer
  • Product or pricing page

    Type
    Product or SoftwareApplication
    What it states
    Name, category, and the offer shown on the page
  • Home or about page

    Type
    Organization
    What it states
    Name, logo, official profiles

Two habits matter more than the type list. Generate markup from the same data as the visible text, so the two cannot disagree. And update the dates in Article markup only when the content changes; a "modified" date that moves every night tells engines nothing.

What about llms.txt and Markdown versions of pages?

Cheap, harmless, and not documented as a ranking or citation factor by Google. llms.txt is a proposal for a Markdown file at a site's root that summarises the site for agents. Google says its AI features need no AI text files.

We publish one anyway, along with Markdown twins of our pages, because it costs little and some agents look for it. Perplexity's answers to "what is Attensira" in early October 2026 cited our llms-full.txt file directly, so at least one engine reads it. Whether it changed what Perplexity said about us, we cannot tell from the answers alone. The crawler guide's llms.txt chapter covers what to put in it.

Should you block crawlers by IP or rate-limit them?

Only with care. Two documented pitfalls:

  • IP blocks can break the opt-out you meant. Anthropic warns that blocking its IP addresses may stop it reading your robots.txt, so the block may not work as a reliable opt-out. robots.txt per agent is the documented control.
  • Crawl-delay is honoured unevenly. Anthropic says its bots honour the Crawl-delay extension. Amazon says Amazonbot does not support it. If load is the problem, a server-side rate limit per agent is more predictable than a directive some agents ignore.

If one agent is genuinely hammering your server, and on our site Meta's training agent made about nine in ten AI crawler requests in a month, decide by job. Blocking a training agent costs you nothing in today's answers. Rate-limiting a search agent can.

How do you audit a page in ten minutes?

  1. Robots: read your robots.txt for each search and user agent. Are the page's path and its parent directory allowed?
  2. HTML: fetch the page with curl or any plain HTTP client. Is the answer paragraph in the response?
  3. Status: does the URL return 200 directly, without a redirect chain?
  4. Snippet controls: is there a nosnippet, max-snippet or noindex in the head or on the paragraph that matters?
  5. Canonical: does the page's canonical point at itself, not at a different URL?
  6. Markup: does the structured data validate, and does every value in it appear on the page?
  7. Links: is the page linked from at least a few related pages on your site?
  8. Logs: in your server or edge logs, has any search agent fetched it in the last month?

The page token inspector shows what text a crawler receives from a URL, and the crawler URL inspector shows which agents' rules allow it.

Has all that made this page a source?

Not yet. An AI crawler fetched it on 30 September and every check above passes, yet no answer to the 61 questions we track cited it in 30 days. Access lets an engine read a page; it does not make the page the best answer.

last fetched by an AI crawler
30 Sep
this page
answers that cited this page
0 of 4,638
ChatGPT and Perplexity
tracked questions it was cited on
0 of 61
30 days
Analyst agentAnalystattensira.com workspace, page record read over the Attensira MCP on 2026-10-05 · to

What should you not spend time on?

A short list, expanded in the what does not work chapter:

  • Special "AI schema" or custom markup types. No engine documents them.
  • Separate pages written only for bots. Content that differs from what people see is a risk with every search engine and has no documented benefit.
  • Chasing crawler volume. More requests from a training agent is not more visibility.

Once a page passes the ten-minute audit, technical work stops being the constraint. What decides the answer from there is what the page says and who else says it.

What else do people ask?

Does schema markup help a page get cited in AI answers?
It helps engines parse what a page is, and it powers some Google search features, but no engine documents it as a requirement for being cited. Google says there is no special schema.org structured data needed for AI Overviews or AI Mode. Add accurate markup that matches the visible text; do not expect it to substitute for a clear answer on the page.
Can AI crawlers read JavaScript-rendered content?
Assume not. AI crawlers do not run JavaScript, which is why they never appear in browser analytics. Fetch the page with a plain HTTP client: if the paragraph that answers the question is missing from the response, an agent reading the initial HTML cannot use it. Server-render or pre-render the text that matters.
Do nosnippet or max-snippet settings affect AI Overviews?
Yes. Google lists nosnippet, data-nosnippet, max-snippet and noindex as the controls that limit what is shown from your pages in Search, including its AI features, and a page must be eligible to show with a snippet to be a supporting link. A blanket nosnippet removes the page from that pool.
Should I block AI crawlers by IP address instead of robots.txt?
Only if you mean to block them completely and understand the side effects. Anthropic warns that blocking its IP addresses may stop it reading your robots.txt, so an IP block may not work as a reliable opt-out. robots.txt per agent is the documented control; IP rules are for traffic you want gone.
Does page speed matter for AI search?
It matters in a blunt way. A page that times out or errors for a crawler is not read. Google lists page experience among its general recommendations for AI features. Beyond basic reliability, no engine documents speed as a citation factor.

Where do these facts come from?

9 sources, 15 statements: each statement with the page it came from and the day it was checked.

  1. Google states there is no special schema.org structured data needed, and no new machine-readable files, AI text files or markup, to appear in AI Overviews or AI Mode.

    developers.google.com · retrieved

    “There's also no special schema.org structured data that you need to add.”
  2. Google recommends making sure structured data matches the visible text on the page.

    developers.google.com · retrieved

  3. Google recommends making important content available in textual form, findable through internal links, with a great page experience.

    developers.google.com · retrieved

  4. Google states a page must be indexed and eligible to be shown in Google Search with a snippet to be a supporting link in AI Overviews or AI Mode.

    developers.google.com · retrieved

  5. Google states that to limit the information shown from pages in Search, site owners use nosnippet, data-nosnippet, max-snippet or noindex.

    developers.google.com · retrieved

  6. Anthropic warns that blocking its IP addresses may not work correctly or persistently guarantee an opt-out, because doing so impedes its ability to read the site's robots.txt, and states its bots honour robots.txt including Crawl-delay.

    support.claude.com · retrieved

  7. Attensira documents that AI crawlers do not execute JavaScript, so a client-side beacon never sees one.

    docs.attensira.com · retrieved

  8. Attensira's page reader keeps each page's title, meta description, headings, structured data and visible text, and when it falls back to a plain HTTP fetch with no JavaScript rendering, a page built entirely in JavaScript may come back empty.

    docs.attensira.com · retrieved

  9. Read over the Attensira MCP on 4 October 2026, 30 days: PerplexityBot made 595 requests across 331 attensira.com pages, OpenAI's agents 7,060 across 419 pages and Googlebot 182 across 79 pages.

    docs.attensira.com · retrieved

  10. Amazon documents that Amazonbot does not support the crawl-delay directive.

    developer.amazon.com · retrieved

  11. RFC 9309 says that if robots.txt is unreachable because of server or network errors, crawlers must assume complete disallow.

    rfc-editor.org · retrieved

  12. attensira.com/robots.txt, fetched 4 October 2026, names each AI agent in its own group and allows GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, Meta-ExternalAgent, Googlebot and Google-Extended, and disallows CCBot, AhrefsBot and SemrushBot from the whole site.

    attensira.com · retrieved

  13. Read over the Attensira MCP on 4 October 2026: Perplexity's answers to 'what is Attensira' on 2 and 3 October 2026 cited https://www.attensira.com/llms-full.txt as a source.

    docs.attensira.com · retrieved

  14. Read over the Attensira MCP on 5 October 2026 (attensira.com workspace, 4 September to 4 October 2026): this guide chapter was last fetched by an AI crawler on 30 September 2026 and was cited in none of 4,638 ChatGPT and Perplexity answers to the 61 tracked questions.

    attensira.com workspace, read over the Attensira MCP on

  15. Read over the Attensira MCP on 5 October 2026 (attensira.com workspace): one of Perplexity's answers to the tracked question 'how to get my docs cited by ChatGPT' recommended 'schema markup (FAQPage/Article) plus freshness signals' alongside quotable passages and verifiable data.

    attensira.com workspace, read over the Attensira MCP on

Want software that does your AI-search visibility work, with you in control of every change?

7 days free · card required