Over the past 30 days on our own extension store infrastructure, we analyzed every verified bot request hitting production. The numbers surprised even us:
-
Googlebot / Google Crawler:
378verified requests -
OpenAI (
GPTBot+OAI-SearchBot):377requests (+ 7direct human click-throughs fromChatGPT-User) -
Meta AI External Agent:
187requests -
Bingbot:
87requests -
Anthropic
ClaudeBot:26requests
AI answer engines and shopping assistants are no longer an edge experiment — they are already half of your technical crawl budget. Yet when an LLM agent fetches a typical WordPress, Joomla, OpenCart, or Craft CMS page, it receives 300–600 KB of mega-menus, SVGs, CSS classes, and modal markup before reaching the first paragraph of product specifications.
Here is the 4-layer engineering checklist we use across FlexExt.dev and FlexExt Store to make PHP CMS and e-commerce sites 100% readable to AI agents without hurting human UX or full-page caches.
1. Stop Accidentally Blocking Search Citation Bots in robots.txt
Many site owners copied blanket robots.txt blocks in 2024 that block both model-training scrapers and real-time search citation crawlers (OAI-SearchBot, ChatGPT-User, PerplexityBot). If OAI-SearchBot is disallowed, ChatGPT Search cannot cite or link to your product pages.
A clean 2026 robots.txt policy explicitly allows search/citation agents and points crawlers to both your XML sitemap and /llms.txt:
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
Sitemap: https://example.com/sitemap.xml
# AI Discovery Index: https://example.com/llms.txt
2. Publish /llms.txt and /llms-full.txt
Following the llms.txt specification, exposing a concise Markdown map at https://yourdomain.com/llms.txt gives AI agents a curated, hallucination-free index of your documentation, pricing tiers, canonical URLs, and APIs in under 2,000 tokens.
Make sure your web server serves it with explicit UTF-8 Markdown headers:
<Files "llms.txt">
ForceType "text/markdown; charset=utf-8"
Header set Content-Type "text/markdown; charset=utf-8"
</Files>
3. Support Accept: text/markdown Content Negotiation (Without Breaking Page Cache!)
Modern AI agents and RAG pipelines increasingly send Accept: text/markdown when fetching URLs. Returning a clean Markdown representation of your product or article (title, SKU, live price, stock availability, specs, and FAQs) cuts token noise by 80–90%.
Two critical rules when implementing this in PHP (WordPress, Joomla, OpenCart, Craft CMS):
-
Always emit
Vary: Acceptso Cloudflare, Varnish, or native full-page caches never serve Markdown to a human Chrome browser (or cached HTML to an agent). - Bypass HTML minifiers/caches when
str_contains($_SERVER['HTTP_ACCEPT'] ?? '', 'text/markdown')is true.
$accept = $_SERVER['HTTP_ACCEPT'] ?? '';
if (str_contains($accept, 'text/markdown') || ($_GET['format'] ?? '') === 'markdown') {
header('Content-Type: text/markdown; charset=utf-8');
header('Vary: Accept');
echo $markdownRenderer->renderProduct($product);
exit;
}
4. Ship Complete Schema.org Graphs & Agent Discovery Cards
When shopping assistants compare software or physical products, they cross-check visible copy against structured JSON-LD:
-
Product+Offer(price,priceCurrency,availability,url,sku) -
FAQPage(10–15 real buyer questions and answers) -
/.well-known/mcp/server-card.jsonand/.well-known/agent-card.jsonfor Model Context Protocol (MCP) and Google A2A discovery.
Test Your Own Site in 3 Seconds (Free 25-Check Live Scanner)
To avoid manually running curl checks on every client store, we built a free, zero-signup technical scanner that runs 25 live HTTP probes across 6 AI & GEO Readiness pillars:
👉 Live Scanner: https://aichecker.flexext.dev/
It automatically fingerprints 45+ CMS and e-commerce stacks (WordPress, WooCommerce, Joomla 4/5/6, OpenCart 3/4, Craft CMS, Shopware, PrestaShop, Shopify) and generates a downloadable starter kit (llms.txt, robots.txt, server-card.json).
If you want drop-in native plugins that automate /llms.txt, Accept: text/markdown, and JSON-LD dynamically from your catalog:
- WordPress, Joomla & OpenCart AI SEO Suites: https://flexext.dev/
-
Native Joomla 4/5/6 E-Commerce Suite (
FlexExt Store): https://flexext.store/ - Free Open-Source GPL Community Plugins: https://github.com/flexext-dev/free
Top comments (0)