Make every Shopify product easier for answer engines to understand.
Audit storefront crawlability, product facts, structured data, canonicals, sitemap coverage and theme performance with Shopify-specific implementation guidance.
Five checks before content optimization begins.
Fix access, duplication and rendering problems before interpreting weak AI visibility as a content-only issue.
How these things actually work on Shopify
Generic advice stops being useful at the point where you have to click something. Each row below is the mechanism on this platform, linked to the vendor documentation it came from.
| robots.txt | Shopify generates /robots.txt for you. To change it you add a robots.txt.liquid template to the published theme and iterate the Liquid robots object, adding or removing rules rather than replacing the file, because Shopify updates the defaults regularly. The default is not permissive: it disallows /admin, /cart, /checkout, /search, /policies/ and filtered collection URLs. Only the published theme is served. Platform documentation |
|---|---|
| /llms.txt and /agents.md | This is the one platform where the file is first-class. Shopify serves /agents.md by default and mirrors it to /llms.txt and /llms-full.txt with no theme file present. Lookup order for /llms.txt is llms.txt.liquid, then agents.md.liquid, then Shopify's managed default. Adding agents.md.liquid changes all three; adding llms.txt.liquid changes only /llms.txt. Platform documentation |
| Structured data | Shopify does not inject JSON-LD for you. The supported route is the structured_data Liquid filter, which turns a product or article object into schema.org JSON-LD that you wrap in a script tag yourself. It has to be called explicitly in template code. Anything beyond Product and Article, such as Organization or FAQPage, is hand-written Liquid or an app. Platform documentation |
| Rendering | Normal storefront pages arrive as complete HTML: Liquid is composed on the server. What is not in that HTML is anything fetched by the Ajax Section Rendering API, which themes commonly use for faceted collection filtering, search pagination and cart updates, plus content injected client-side by apps such as reviews and Q&A blocks. Platform documentation |
| Sitemap | Auto-generated at /sitemap.xml as an index over products, collections, blogs and pages, and it updates itself. Shopify documents no supported way to customise it or exclude individual URLs. A password-protected store's sitemap is not reachable by crawlers at all. Platform documentation |
| The gotcha | The structured_data filter emits ProductGroup, not Product, when a product has multiple variants; single-variant products emit Product. Any audit that asserts "@type must be Product" will report a false failure on every variant-bearing product you sell, and the offers shape differs too. Platform documentation |
Do these three first
- Add templates/robots.txt.liquid that iterates the robots object and only then appends your own rules, and publish the theme — an unpublished theme's template is never served. ↗
- Add templates/agents.md.liquid so /agents.md, /llms.txt and /llms-full.txt describe your catalogue in your words instead of Shopify's managed default. ↗
- Output the structured_data filter in the product template, then check a multi-variant product expecting ProductGroup rather than flagging it as broken. ↗
Check implementation decisions against current Shopify documentation.
Shopify robots.txt.liquid docs ↗A practical Shopify GEO workflow.
Separate technical readiness, content evidence and continuous measurement.
Start with checks that do not consume AI tokens.
One product page, fixed end to end.
A sample store walkthrough: what the audit found, what was changed in Shopify, and what changed in the answer.
- Description is marketing copy — no dimensions, materials or weight capacity a model can quote.
- The FAQ tab renders client-side, so the initial HTML contains none of it.
- Product schema is emitted twice — by the theme and by an SEO app — with conflicting offers.
- Rewrite the description from confirmed store facts; merchant accepts it line by line.
- Publish the buyer-question FAQ as a metafield, rendered server-side by the Theme App Extension.
- Consolidate JSON-LD into one metafield-driven block and disable the duplicate emitter.
- Initial HTML now contains the dimensions, materials and the five buyer questions.
- One valid Product schema; FAQPage present and parsing without errors.
- The tracked question names the store and cites the product page instead of a review site.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Aster Modular Sofa — 2 Seat",
"material": "Recycled polyester boucle",
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Width", "value": "168 cm" },
{ "@type": "PropertyValue", "name": "Seat depth", "value": "58 cm" },
{ "@type": "PropertyValue", "name": "Weight capacity", "value": "180 kg" },
{ "@type": "PropertyValue", "name": "Cover", "value": "Removable, machine washable" }
]
} Sample data for design review. Values, store and results are illustrative; run the same checks against your own storefront before drawing conclusions.
Questions teams ask before they start
Does a platform page mean InsightWonder edits the site automatically?
No. The page explains platform-specific checks and implementation paths. Write-back or app-based changes should be described only where a verified integration exists.
Are robots.txt and llms.txt enough for GEO?
No. They help with access and orientation, but useful answers still depend on clear content, structured evidence and credible external signals.
Should platform pages be published before examples exist?
No. Publish only after the page has platform-specific checks, executable steps and a real or complete example.
Does InsightWonder modify theme or template code?
No. Platform integrations use supported extension points rather than editing theme files directly.
Is a technical fix enough to get recommended?
Rarely. Access checks remove blockers, but whether a model names you still depends on clear content, structured evidence and credible external signals.
Can more than one site be connected?
Yes. Sites are separate measurement scopes under one account, so results stay comparable instead of being mixed together.
Turn AI visibility into a repeatable growth system.
Create a project, confirm your market and start measuring the questions that matter.