Resources · AI Search for Ecommerce

How Magento Stores Can Fix Product Schema and Technical Foundations for AI Visibility

Magento stores can fix their AI visibility foundations by working through four common problems in order. First, product details may be invisible to AI crawlers when a headless storefront loads them by JavaScript. Second, product markup is often duplicated or incomplete because the default template and extensions each add their own. Third, category paths and layered navigation create many URLs for the same products. Fourth, bot rules on the CDN or firewall can quietly block AI crawlers. So render product content in the HTML, and keep one complete source of Product markup. Set Magento's canonical and URL options, check robots.txt, sitemaps and firewall rules, and keep product feeds consistent with the pages. The details differ between a classic Luma-style theme, PWA Studio and Adobe's newer storefront.

Which Magento setup do you have?

Setup How product pages render Main risk for AI crawlers
Luma or another classic theme Server-rendered by Magento Default microdata plus extension markup, producing duplicate or conflicting Product data
Hyvä or another custom server-rendered theme Server-rendered Markup depends on the theme and extensions; check what is actually output
PWA Studio (headless) Client-side unless server-side rendering or prerendering is set up Product content missing from the first HTML response
Adobe Commerce Storefront on Edge Delivery Services Drop-in components, with optional prerendering Product details and metadata missing unless prerendered or uploaded as metadata

Adobe Commerce on its cloud platform also sits behind Fastly, whose security and bot settings can challenge AI crawlers. Self-hosted Magento Open Source stores often use Cloudflare or another CDN with similar settings.

Step 1: Is your product content in the HTML?

This is the first test because the other fixes pay off much less if it fails. A 2024 study by Vercel and MERJ found that none of the major AI crawlers rendered JavaScript. That included OpenAI's, Anthropic's and Perplexity's. Google's Gemini uses Googlebot's rendering.

Test a product page as a crawler would. Fetch it without running scripts, for example with curl and a crawler user agent, and search the raw HTML. Look for the product name, price, availability, description, key specifications and shipping and returns details. If they are missing:

  • PWA Studio. Adobe's documentation says PWA Studio supports both server-side and client-side rendering. Its FAQ points to prerendering services for SEO needs. Set up server-side rendering or prerendering for product, category and key content pages.
  • Edge Delivery storefront. Adobe recommends uploading product metadata so it renders server-side on product pages. Its AEM Commerce Prerender app generates product and category HTML for search engines and AI crawlers "before JavaScript runs". Adobe says this makes the catalogue readable by large language models.
  • Classic themes. Check for content loaded after the page by AJAX, such as specification tabs, reviews, stock or prices from a pricing service. Move the essentials into the server-rendered HTML.

Step 2: Fix product structured data

Magento 2 ships a schema.org microdata template on product pages. Extensions often add their own JSON-LD on top. The common result is two or three Product entities on one page with different prices or missing fields. Choose one source and remove the rest.

A complete Product block for each product page should include:

  • Identity: name, sku, gtin (from your barcode attribute), mpn where relevant, brand.
  • Content: description, image (several angles), key attributes such as material, color and size.
  • Offer: price, priceCurrency, availability, url, and itemCondition where relevant.
  • Delivery and returns: shippingDetails and hasMerchantReturnPolicy, or the equivalent settings in Merchant Center.
  • Reviews: aggregateRating and review only when the reviews are shown on the page.

For configurable products, Google supports ProductGroup with hasVariant, variesBy and productGroupID, so sizes and colours can be described as variants of one product. That fits Magento's configurable products directly.

Keep the markup consistent with the visible page. Tests of AI assistants fetching pages found they read visible text and ignored JSON-LD. So a specification table in HTML matters as much as the markup, and a price in markup that differs from the page is a trust problem. How product data should be structured more broadly is covered in how ecommerce brands can structure product data for AI recommendations.

Step 3: Clean up URLs

Magento can create several URLs for one product. Adobe's catalog configuration has the settings that control this, under Stores › Configuration › Catalog › Catalog › Search Engine Optimization:

  • Use Categories Path for Product URLs. When set to Yes, a product in three categories can have three URLs. Setting it to No gives one short product URL.
  • Use Canonical Link Meta Tag for Products and for Categories. Set both to Yes so duplicates point to one indexable URL.
  • Create Permanent Redirect for URLs if URL Key Changed. Set to Yes so renamed products redirect rather than break. Assistants often cite old URLs.

Layered navigation is the other source of sprawl. Every filter combination can become a crawlable URL. Google's faceted navigation guidance suggests disallowing filter parameters in robots.txt, or using canonicals to the unfiltered category. It also suggests returning 404 for empty combinations. Pick one approach and apply it across store views.

Step 4: Robots, sitemaps and crawler access

  • robots.txt. In the Admin, go to Content › Design › Configuration, then the website's Search Engine Robots section, and edit the custom instructions. Make sure you are not blocking the crawlers you want: OAI-SearchBot and ChatGPT-User for ChatGPT, PerplexityBot for Perplexity, Claude-SearchBot and Claude-User for Claude, and Googlebot and Bingbot.
  • Sitemap. Generate it under Marketing › SEO & Search › Site Map, schedule regular updates, and reference it in robots.txt.
  • Firewall and CDN. Check Fastly or Cloudflare bot settings and logs. Crawlers allowed by robots.txt are often still challenged or blocked at the edge. Look for 403 and challenge responses to AI user agents.
  • Bing. Submit your sitemap to Bing Webmaster Tools, since ChatGPT search draws on third-party search providers, and use IndexNow for fast updates.

Step 5: Keep feeds and pages in agreement

AI shopping answers draw on product feeds as well as pages. Google's Merchant Center data feeds Google's shopping features. OpenAI publishes a product feed specification for merchants in ChatGPT. Whatever extension produces your feeds, check that titles, prices, availability, GTINs and images match the product pages. A feed that says "in stock" while the page says "out of stock" gives answers two versions to choose between. How to handle out-of-stock products is covered in how retailers should handle AI recommendations for out-of-stock products.

Step 6: Add the content AI answers need

Technical fixes make pages readable. Content makes them worth citing:

  • Specification tables in HTML, with units.
  • Compatibility and fit information: what the product works with, sizes and dimensions.
  • Shipping, returns and warranty terms as text on the page or one click away.
  • Short buying guidance on category pages: how to choose, who each range suits.
  • Questions and answers from real customers, server-rendered.

How do you check the work?

Check Pass condition
Raw HTML of a product page Name, price, availability, description and specs present without JavaScript
Rich Results Test One Product (or ProductGroup) entity, no critical errors
Canonical tag Points to the single product URL on every duplicate
robots.txt AI search crawlers not disallowed
Server or CDN logs 200 responses to AI crawler requests for product pages
Feed versus page Same price, stock and GTIN
AI answers Product details quoted correctly when you ask about your products

What might an illustrative case look like?

Consider an illustrative outdoor equipment retailer on PWA Studio whose products never appeared in ChatGPT's shopping answers. Its raw HTML contained only a loading spinner. The Luma-era microdata had also been replaced by nothing when it went headless. The retailer added prerendering for product and category pages and one JSON-LD Product block with ProductGroup variants. It set canonical tags and product URLs without category paths, and it found its Fastly rules returned 403 to ChatGPT's crawler. It allowed that crawler through. Within two months, ChatGPT answers began citing its product pages for specific items, with correct prices.

What do people ask about Magento and AI visibility?

We are still on Magento 1. Does this apply?

Magento 1 reached end of life in June 2020 and no longer receives official security patches from Adobe. Migrating is the first priority; the same principles then apply.

Should we use an SEO extension for schema?

It can save work, but make sure it replaces the default markup rather than adding to it. Test the output page by page.

Does Hyvä fix these issues?

A server-rendered theme avoids the JavaScript problem, but markup still depends on how the theme and extensions are set up. Test it.

Do store views for different languages need anything special?

Each language version needs its own URLs and correct hreflang annotations. Check that your theme or an extension outputs them.

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