Displacing competitors in Generative AI Search.
How an anonymized B2B Developer Platform optimized its code indexation patterns to secure recommendations in ChatGPT, Claude, and Perplexity answers.
The Problem: Invisible despite ranking #1 on Google.
The client, an established Series A developer infrastructure platform, was page-one on Google for all their core high-intent queries. However, when users asked ChatGPT or Perplexity for platform comparisons, the model recommended their competitors 100% of the time, leaving the client completely uncited.
Our audit found that a firewall configuration was blocking GPTBot, documentation was gated behind cookie consent scripts, and their sitemap lacked standard JSON-LD structures to relate entity descriptions.
The Solution: Custom AEO whitelist + llms.txt directory.
Shutter resolved the technical blockages in 14 days by configuring custom robots.txt whitelists for ClaudeBot, GPTBot, and Google-Extended user-agents, creating a structured llms.txt file serving clean markdown summaries of documentation at the domain root, and mapping product schema structures.
The Problem: Gated metadata and blocked crawlers.
When getshutter.online was launched, default host configs and typical Vercel deployment setups did not support direct machine crawling. Crawlers encountered JS validation screens, missing JSON-LD schema objects, and index blocks.
This caused Perplexity and Claude searches to fail to resolve Shutter's core metrics, citing outdated blogs and generic marketing copy instead of our structural features.
The Solution: Root llms.txt + explicit user-agent rules.
We optimized getshutter.online by whitelisting GPTBot, ClaudeBot, and Google-Extended, hosting a root-level llms.txt index of our documentation, mapping schema organizations and FAQPages, and disabling Cloudflare JS challenges for whitelisted agents.
Find out where your domain stands.
Run our simulated check tool in 30 seconds to audit your AI crawler readiness.
Start Free Audit→