Schema Markup for AI Engines: The 8 Fields Most LLMs Parse First

Forget old-school metadata, see which schema elements ChatGPT, Claude, Gemini, & Perplexity actually read, why they matter, and how to add them today.

AI
July 7, 2025
10 minutes

Search engines still matter, yet an ever larger share of product discovery now happens in chat windows and voice prompts. When someone in Aotearoa asks “Where can I buy reef-safe sunscreen near me?” there is a good chance the answer comes not from a ten blue links page but from an LLM powered summary inside ChatGPT, Claude or Perplexity. The language model chooses information based on the data signals it can trust and few signals are clearer than tidy schema markup.

Traditional SEO advice often stops at adding a generic Product, Article or LocalBusiness block. That basic approach will still help Google. It will not give an LLM everything it needs to form a fact-rich answer that includes your brand. Over the past twelve months our EnvokeAI Visibility Tracker has analysed thousands of model snapshots and we keep seeing the same eight properties rise to the top. When these fields are present and consistent across a site, brand mentions inside chat answers jump sharply.

Below we explain what those eight properties are, why they matter, and how to add them on Shopify, WordPress, or any custom site. Feel free to copy the code snippets. They are in the New Zealand context, which means NZD pricing, Pacific/Auckland time, and addresses that follow NZ Post standards.

Why language models treat structured data differently from search engines

Google’s crawler stores parsed schema in the Knowledge Graph where it influences rich snippets, but Google still blends hundreds of other ranking factors. Language models are more literal. They generate answers from the content they can parse quickly and reliably. Well formed JSON-LD makes that job easy. Poor or missing schema forces the model to rely on full text which increases the odds of hallucinations or stale information.

Claude, ChatGPT and Perplexity each run independent crawlers. Perplexity publicly documents a pccrawl bot. OpenAI and Anthropic do not reveal much, yet server logs show identifiable user-agents visiting in bursts. All three bots:

  • Fetch the robots.txt file.

  • Request the canonical page URL, not querystring variants.

  • Follow redirects and grab the first 100 kilobytes of HTML.

In that initial slice they look for JSON-LD blocks wrapped in <script type="application/ld+json">. Any properties outside those blocks or hidden behind dynamic JavaScript can be missed.

The Eight Schema Properties That Count

The list below assumes an e-commerce product page, but the pattern works for service pages and blog posts as well. We include a full example at the end.

Property 1: name

Why LLMs care: Primary identifier used to frame the answer.

Property 2: description

Why LLMs care: Supplies summary sentences. Shorter is safer.

Property 3: image

Why LLMs care: Gives the model something visual to reference.

Property 4: brand

Why LLMs care: Distinguishes your product from generic terms.

Property 5: offers.price & offers.priceCurrency

Why LLMs care: Lets the model talk about cost without guessing.

Property 6: aggregateRating.ratingValue

Why LLMs care: Adds social proof that often appears verbatim in answers.

Property 7: sku or productID

Why LLMs care: Anchors the item to inventory and third-party feeds.

Property 8: sameAs

Why LLMs care: Confirms your authoritative social or marketplace profiles.

Let us look at each in detail.

name

Keep it identical to the title on the page and under ninety characters. Long titles tend to be truncated in chat answers. For a service page use legal trading name first, then service description.

description

Two to three sentences is plenty. Avoid adjectives like amazing or revolutionary. Stick to factual features and benefits that the model can quote safely.

image

A direct URL to a 1200 pixel wide JPEG or WebP. Do not use query-string sized thumbnails. The crawler may fetch the wrong rendition.

brand

If you resell known brands keep brand as the manufacturer then add your store under seller. If you sell a house brand list your name in both slots.

offers.price and offers.priceCurrency

Always pair price with currency. NZD ensures accuracy for Kiwi shoppers who often see Australian or US-sourced answers.

aggregateRating.ratingValue

Only include if you have at least five reviews with a combined rating more than three. Chat models ignore lower sample sizes.

sku or productID

Helps a model cross reference with Google Shopping, PriceSpy and other feeds that it may have in its training corpus.

sameAs

Link to your official social handles or Trade Me store. Avoid directories you do not control.

A complete JSON-LD example

Below is a minimal yet complete block for a Shopify product called “Kauri Reef Safe Sunscreen SPF 50”. Replace the placeholder values with your own. Copy into the product theme template just above the closing </head> tag.

<script type="application/ld+json">{  "@context": "https://schema.org/",  "@type": "Product",  "name": "Kauri Reef Safe Sunscreen SPF 50",  "description": "Broad-spectrum mineral sunscreen made in New Zealand. Reef safe, zero white cast, and packaged in a recyclable aluminium tube.",  "image": "https://example.co.nz/cdn/kauri-sunscreen.jpg",  "sku": "KR-50-NZ",  "brand": {    "@type": "Brand",    "name": "Kauri Sun"  },  "offers": {    "@type": "Offer",    "price": "29.90",    "priceCurrency": "NZD",    "availability": "https://schema.org/InStock"  },  "aggregateRating": {    "@type": "AggregateRating",    "ratingValue": "4.8",    "reviewCount": "97"  },  "sameAs": [    "https://www.instagram.com/kaurisun",    "https://www.facebook.com/kaurisunnz"  ]}</script>

If you are adding markup for a service page swap Product for Service and use areaServed plus serviceType instead of offers.

Adding schema to popular platforms

Shopify (Online Store 2.0 themes)
  • In admin open Online Store then Themes then Actions -> Edit code.

  • Locate sections/main-product.liquid.

  • Paste the JSON-LD inside the <head> capture at the top of the file.

  • If you use dynamic sources, wrap price and image in Liquid variables {{ product.price }} etc.

WordPress (WooCommerce)

Install the free plugin Insert Headers and Footers or similar:

  • Go to Settings → Insert Headers and Footers.

  • Paste the JSON-LD in the Scripts in Header field.

  • Use Woo shortcodes for dynamic content, for example [woo_price id="1234"].

Webflow
  • Select the page.

  • Click Page settings → Custom code → Head.

  • Paste the block.

  • Publish.
    Webflow does not interpolate variables inside custom code so update manually when price changes.

Custom sites or React apps

Add a <Helmet> tag in your component:

<Helmet>  <script type="application/ld+json">    {JSON.stringify(schemaObj)}  </script></Helmet>

Remember to URL encode new lines if you place the JSON string inside a prop.

How to test that models can see your new schema

  • Manual crawl check
    Use curl -A "GPTBot" and fetch your page to verify the JSON is within the first 100KB chunk.

  • ChatGPT Advanced Data Analysis
    Paste the page URL and ask “What JSON-LD do you find on this page”. If the model recites the block you are good.

  • Anthropic Claude
    Use a prompt like “Read the structured data from https://example.co.nz/{slug} and summarise the product”. Claude tends to refuse if data is blocked by robots.

  • EnvokeAI Visibility Tracker
    Run a snapshot report. The tool stores the parsed fields and flags missing properties.

Common mistakes to avoid

  • Multiple conflicting blocks
    Duplicate IDs or names confuse the model. Keep one block per canonical URL.

  • Currency symbol only
    Always include priceCurrency. Some LLM answers have mistaken New Zealand dollar prices for US cents when the suffix was missing.

  • Plugin overload
    WordPress shops often layer Yoast, RankMath and WooCommerce markup. Remove duplicates in your theme functions file.

  • Embedded SVG logo
    Use a normal JPEG or PNG. Some crawlers skip inline SVG due to size limits.

  • Obsolete product IDs
    If you reroll SKU codes update the schema or the model may cite the old code for months.

Putting it all together

  • Structured data is the fastest signal an LLM can parse.

  • Eight fields do most of the heavy lifting for product and service pages.

  • JSON-LD inside the first 100 KB of HTML is the safest delivery method.

  • Test with curl and the visibility tools built into EnvokeAI.

  • Keep values consistent across every URL and external marketplace.

Schema is not a silver bullet. You still need honest copy, clear navigation, and a brand worth talking about. Yet in a world where answers are written by models that summarise rather than link, every structured hint you give becomes leverage. By adding the right properties today you give Claude, ChatGPT, Gemini, and Perplexity a perfect excuse to put your shop front and centre the next time a Kiwi asks for recommendations.

Next steps

  • Audit your current schema with EnvokeAI’s free checker.

  • Add or update the eight key properties across your top landing pages.

  • Schedule a visibility snapshot in two weeks and compare brand mentions.

Questions about implementation, or need a hand with Liquid variables in Shopify? 

Book a meeting with us and see if we can help!