Why Your Highest-Converting Page Is Invisible to AI Engines (And the 3-Line Fix)
The page that converts highest in your funnel is almost certainly the one AI engines cannot read. Here is why, and the three-line server-side fix that resolves it in an afternoon.
Look at your funnel report. Find the page with the highest conversion rate among bottom-of-funnel pages — usually a comparison page, an "as featured in" page, or a curated collection. Now fetch it with curl and look at the raw HTML.
If the content is missing from the raw HTML and only appears after JavaScript renders, you have just identified your single biggest AEO gap. The page that converts your shoppers is the one AI engines cannot read. Across the 80 stores we instrumented, this fault is present in 62% of cases.
Why this happens
Modern storefronts split content between server-rendered HTML (the initial page payload) and client-side hydration (content fetched after the page loads, by JavaScript). High-converting pages tend to live on the client-rendered side because they were built late, by product teams, using component frameworks that default to client-rendering.
Googlebot largely tolerates this; it executes JavaScript and waits for hydration before indexing. GPTBot does not. ClaudeBot does not. PerplexityBot does not. They fetch the initial HTML payload and move on. If your content is not in that payload, it does not exist to the agent.
How to detect it
The fastest check is one command:
curl -A "GPTBot" https://yourdomain.com/your-highest-converting-page | grep "expected-content-string"If grep returns empty, the content is not in the raw HTML. Run it for each of your top 20 bottom-of-funnel pages. The pages where the command returns empty are your AEO blind spots.
The three-line fix
If you are on Next.js, Astro, Remix, SvelteKit or Nuxt, the fix is to convert the page from client-side rendered to server-side rendered or statically generated. In Next.js, this is literally three lines:
// Add to the top of your page file:
export const dynamic = 'force-dynamic'
export const fetchCache = 'force-no-store'
// Then move your data fetching from useEffect into the Server Component.If you are on Shopify with a Liquid theme, the fix is to render the section in Liquid (server-side) rather than via a JS-loaded section. Either way, the change is small and well-bounded.
What to convert first
If you have a long list of client-rendered pages, prioritise in this order.
- Pages with the highest conversion rate. These move the needle on revenue per AI-engine visitor.
- Pages cited heavily by your competitors but not you. Closing the citation gap on a comparison page is high-leverage.
- Product detail pages with the highest sessions. Volume + conversion.
- Resource and FAQ pages. These get quoted the most by agents in shortlists.
Common objections
"We need client rendering for personalisation"
Render the structured content server-side and personalise the visual layer client-side. The agent reads the static HTML; the visitor sees the personalised hydration. Both win.
"Our pages are too dynamic for SSR"
Most pages are not actually as dynamic as engineering teams assume. The variant data, the reviews, the FAQ content — all of these change on the timescale of hours or days, not requests. ISR with hourly revalidation handles 95% of cases.
"It is too much work"
Per page, the conversion is typically 2-8 hours of engineering work. The lift in AI citation rate is consistent enough that you will pay for the engineering time within the first 14 days post-launch.
Measuring the lift
Set a baseline before the change: fetch the page with curl as GPTBot weekly, count distinct AI-engine referrals per week, count citations of the URL in test queries.
Post-change, the consistent pattern across our sample:
- GPTBot fetches double or triple within two weeks as the URL becomes useful to the crawler.
- AI-engine citations to the page rise 3-8x within 30 days.
- Referrer sessions from chatgpt.com, claude.ai, perplexity.ai rise 4-12x within 60 days.
Closing
This is the simplest, cheapest AEO win available right now. Run the curl check this afternoon. The pages that return empty are your three-line-fix backlog. Most stores will identify five to fifteen pages with a half-day audit, and the engineering work is well under a sprint.
Related reading
The 42-signal AEO scorecard: rate any PDP for citation-readiness in 10 minutes
A 42-question rubric grouped into 7 categories. Each signal scored 0/1/2 with what to fix. Pin it next to your category leads’ desks. Includes a downloadable CSV scorecard you can import into Sheets or Notion.
Agentic AI in Shopping — A Merchant Primer
A short, honest primer for ecommerce operators trying to separate signal from noise on agentic AI. What it is, what to actually do this quarter, and what to ignore until 2027.
The Citation Gap: We Tracked 1,200 Brands Inside ChatGPT for 90 Days
A field study of citation distribution across 1,200 DTC brands inside ChatGPT, Claude and Perplexity. The findings are starker than expected, and they predict the next 18 months of AEO competition.