AI Visibility for Online Stores
When a customer asks an assistant to recommend a store like yours, something decides whether you're in that answer. Most of what decides it is technical, it sits on your side of the wire, and it can be measured. That's the part we do - and the part almost nobody has looked at yet.
Check your AI visibility
Assistants Read Raw HTML. That Changes Everything.
Google's crawler renders your pages: it executes the JavaScript, waits, and indexes the finished result. The crawlers behind AI assistants - GPTBot, ClaudeBot, PerplexityBot - do not. They fetch the HTML your server returns and move on. They don't wait, and they don't come back for a second look.
For a typical store that's not a small difference. Prices, stock status, review counts, spec tables and anything inside a tab or accordion are frequently rendered client-side. To Google they're visible. To an assistant they don't exist - so the assistant either skips your product or describes it wrong.
This is testable, not theoretical. Request your own product page with JavaScript disabled and read what actually comes back.
Four Levers, Ranked by How Well They're Proven
1. Crawler access. The most common silent failure we find. Bot protection at Cloudflare or your WAF blocks AI crawlers by default in some configurations, and nobody is told. We test every major crawler's user agent against your store, read your server logs to see which ones actually arrive and what status they get, and fix robots.txt and edge rules so the answer is 200, not 403.
2. Content in raw HTML. We compare what your server returns against what a browser finally renders, entity by entity - name, price, availability, description, specifications, reviews - and tell you exactly what's missing at each page type. Then we move the important ones server-side.
3. Structured data that's actually correct. Product, Offer, AggregateRating, BreadcrumbList, Organization - present, valid, and matching what's on the page. Valid isn't the same as correct: availability: InStock on a product you don't have is valid markup and a lie, and assistants repeat it.
4. Content that answers the question. Specifications as text rather than an image or a PDF. Shipping and returns on a real page, not behind a script. Comparison and FAQ content where a model can actually reach it.

Two Things We Won't Sell You
llms.txt is not the mechanism. We ship one - it costs nothing and Anthropic does recommend it. But OpenAI and Google don't request it in any meaningful volume, and Perplexity doesn't document support for it. Anyone selling you an llms.txt file as the reason you'll start getting recommended is selling you a file.
Half of this isn't technical, and that half isn't ours. Assistants cite sources: review sites, industry roundups, forum threads, comparisons. Getting into those is content and PR work. We'll show you where you're thin, but we don't do that half, and we won't quietly bill you for it.
Four Artefacts, Two Dates
There is no LCP for AI visibility. There's no stable "position" in an assistant's answer either - responses shift between sessions and model versions, and anyone showing you a rank chart is showing you noise. So we measure what's genuinely determined:
- Raw-HTML coverage - the share of key entities present without JavaScript, per page type. Hard number, reproducible by you.
- Crawler access - status codes per user agent, plus what your server logs show actually arriving over 30 days. Hard number.
- A fixed prompt set - 15 to 25 prompts in your category, run across ChatGPT, Perplexity, Google's AI answers and Copilot on one recorded day, with screenshots: are you named, who is named instead, which sources get cited. This is documented observation, and we call it that.
- AI referral traffic in your own GA4 - the closest thing to money. Configured once, works retroactively.
Everything above is captured before we touch anything, and re-run the same way 60 to 90 days after.
Where Magento Stores Usually Lose This
Fourteen years on this platform means we know where the content goes missing:
Luma renders most of the page server-side, so the basics survive - but price, stock, reviews and swatch data are routinely loaded by JavaScript afterwards. Those are exactly the facts an assistant needs to recommend you.
Hyvä is in materially better shape here: server-rendered markup with Alpine on top. If you were already considering Hyvä migration for speed, AI visibility is a second reason on the same invoice.
PWA Studio and headless builds are the hard case. To an AI crawler the page can be close to empty. Fixing it means server-side rendering or prerendering for crawlers, and that's a project, not a patch - we'll tell you that up front rather than after you've paid.

FAQ
Will this get my store recommended by ChatGPT?
We can't promise that, and you should be suspicious of anyone who does. Being recommended depends partly on your reputation in the sources these models cite, which is outside technical work. What we guarantee is that you become readable, reachable and correctly described - which is a precondition for being recommended, and which most stores currently fail.
Is this just SEO with a new name?
It overlaps, but the failure modes are different. Classic SEO assumes a crawler that renders JavaScript, because Google's does. The assistants don't, so a store can rank perfectly well on Google and be invisible to an assistant at the same time. That gap is what this work closes.
How is it measured if there are no rankings?
Three hard measurements and one documented observation - raw-HTML coverage, crawler access and AI referral traffic are hard numbers; a fixed prompt set run on a recorded date is documented observation, and we're deliberate about which is which.
Do you only work with Magento?
Magento is where we're deepest, but the technical checks are platform-agnostic - what your server returns and who is allowed to fetch it works the same way everywhere. If you're on something else, we'll say so honestly if it's outside what we can help with.
How long before anything changes?
Crawler access is immediate: once we're unblocked, the next crawl sees you. Content and structured data take effect as the models re-crawl and refresh, which is why we re-measure at 60 to 90 days rather than next week.