Resources · Technical Access for AI Crawlers

Do AI Systems Cite Visible Page Text Instead of JSON-LD?

Yes, AI systems cite visible page text rather than JSON-LD when they fetch a page to answer a question. Tests by the SEO software company SearchVIU in October 2025 covered ChatGPT, Claude, Perplexity, Gemini and Google's AI Mode. When these systems fetched pages directly, they extracted only the visible content and ignored JSON-LD. Structured data still has a role: Google and Bing read it when indexing pages, and their AI features draw on those indexes. But any fact that matters should appear in the visible text, because that is what gets quoted. Schema injected with JavaScript or a tag manager is invisible to most AI crawlers, since they do not run scripts.

What do AI systems read at each stage?

AI answers draw on content collected at different stages, and structured data is treated differently at each:

Stage What happens Is JSON-LD used?
Training crawls Crawlers collect raw pages for model training Possibly, if it is in the HTML; how it is used is not documented
Search indexing (Google, Bing) Pages are crawled, rendered and parsed Yes: both parse structured data to understand pages
AI answers built on a search index Google's AI features and Copilot draw on their indexes Indirectly, through what the index understood
Live fetch during a conversation The assistant fetches the page and converts it to text Generally no: tests show only visible text is extracted

So JSON-LD can influence answers through the search systems that feed them. When an assistant reads your page live and quotes it, though, it quotes what a visitor can see.

Where does JSON-LD still matter?

  • Google Search: structured data helps Google understand pages and makes them eligible for rich results such as product snippets and merchant listings. Google requires the markup to match the visible content.
  • Bing and Copilot: Microsoft has said schema markup helps its language models understand content.
  • Shopping systems: product structured data supports the product information Google collects alongside Merchant Center feeds.
  • Entity understanding: Organization and Product markup help search engines connect your pages to your business and products.

Structured data is worth keeping for these reasons. It is just not a way to get information into AI answers that the page itself does not show. The practical implementation is covered in how to use structured data and schema for AI search visibility.

Can a simple blog get cited by AI without schema or special formatting?

Yes. Google's guidance for its AI features says there are no additional technical requirements beyond being indexed and eligible to show a snippet. It says no special schema, llms.txt file or content chunking is needed. Other assistants quote visible text when they fetch pages. A plain blog with clear headings, direct answers and specific facts in the HTML can be cited as readily as a heavily marked-up site. Many cited pages are exactly that: simple articles on small sites that answer a question well.

What a simple blog does need is the basics: crawlable pages, content in the server-rendered HTML, and answers that make sense out of context.

Why doesn't Claude seem to read application/ld+json content?

When Claude fetches a web page, the page is converted to text before the model reads it. JSON-LD sits inside a <script type="application/ld+json"> tag, and text extraction typically drops script blocks along with other code. The SearchVIU tests found Claude, like the other assistants tested, used only visible content during direct fetches. Anthropic does not document exactly how its fetchers treat structured data, but the practical outcome is the same: facts that exist only in JSON-LD are unlikely to reach the model when it reads your page. Put them in the visible text as well.

Can AI search systems read schema injected with JavaScript?

Google can. Its documentation explains how to generate structured data with JavaScript, including through Google Tag Manager, because Googlebot renders pages. It also warns that dynamically generated Product markup can make Shopping crawls less frequent and less reliable, a problem for fast-changing prices and availability.

Most AI crawlers cannot. An analysis by Vercel and MERJ found that none of the major AI crawlers, including those from OpenAI, Anthropic and Perplexity, executed JavaScript. Gemini, which uses Googlebot, and Applebot were the exceptions.

Can AI parsers miss JSON-LD injected by client-side JavaScript?

Yes, entirely. If the JSON-LD is added by a script after the page loads, it is not in the HTML that non-rendering crawlers download. For those crawlers it does not exist. Even crawlers that keep script blocks from the initial HTML cannot see markup that only appears after scripts run.

Does implementing schema through a tag manager improve AI crawler access?

No. A tag manager injects markup with JavaScript, which is the least accessible option for AI crawlers. It works for Google, with the caveats above, but for crawlers that do not render scripts, tag-manager schema adds nothing. If you can edit templates, server-render the JSON-LD so it is in the initial HTML. Better still, make sure the same facts are in visible text.

Do LLMs remove schema markup, and can Google Tag Manager prevent it?

When AI fetchers convert a page to text, they typically discard script blocks, and JSON-LD is a script block, so in effect the markup is removed. Google Tag Manager cannot prevent this, because it also works through scripts. Its markup is either discarded with the other scripts or never seen at all by crawlers that do not run JavaScript. The only reliable way to get a fact to an AI fetcher is to put it in the visible page content.

What should you do?

  1. Put every important fact in visible text: prices, specifications, opening hours, credentials, service areas.
  2. Keep JSON-LD for search engines, server-rendered in the initial HTML, and matching the visible content.
  3. Avoid facts that exist only in markup. Google requires markup to match what users see, and AI fetchers cannot see markup-only facts.
  4. Replace tag-manager schema with template-level markup where you can.
  5. Check the page source, not the rendered page, to confirm both text and markup are in the HTML.

How JavaScript rendering affects AI crawlers more generally is covered in how crawlability and site speed affect AI visibility.

How can you test this on your own site?

Create a test page with two invented, harmless facts: one only in the visible text, such as "Test code: BLUE-417", and one only in the JSON-LD, such as a made-up product SKU. Publish it, make sure crawlers are allowed, and ask several assistants with web access to fetch the URL and list any codes or SKUs on it. Note which facts each one reports. Repeat the test with the JSON-LD added through a tag manager. Remove the page afterwards. The results show you directly what each assistant reads on your setup.

What do people ask about JSON-LD and AI answers?

Should I stop adding schema markup?

No. It still helps Google and Bing understand your pages and supports rich results. Just do not rely on it to get facts into AI answers.

Is microdata better than JSON-LD for AI?

Microdata is usually attached to visible elements, so the facts tend to be visible anyway; values placed in hidden meta tags are the exception. That visibility is the benefit, not the markup format. Google recommends JSON-LD for ease of maintenance.

Why do some AI answers include details that appear only in my schema?

They may come from a search index that parsed the markup, from training data, or from another page that states the same fact. A live fetch of your page is unlikely to be the source.

Does llms.txt solve this?

No. Google says it does not use llms.txt, and other engines' use is unclear. Visible page content remains what assistants read.

Published by The Kovmere Team · updated Sep 29, 2026 · More resources