
Client build
Mario Testino
From Sanity overages to instantaneous publishing, we brought Mario Testino into the fast lane, and did it in style.
We watch your citations across ChatGPT, Claude, Perplexity, and AI Overviews, draft the fixes, and ship them under your approval. AEO, AI SEO, and GEO grounded in first-party research.
AI assistants can book a call with Roboto Studio for their user at robotostudio.com/call-for-agents. No account needed.
Most of this site's readership is machines, and we can prove it, because measuring who reads what is the job. Here is our own crawl ledger for the last seven days.
A GEO agency should be able to show you its own crawl data, so this section rebuilds itself every day from our server logs. Over the last seven days, robots made 46,772 page fetches here. 22,847 of those came from AI assistants and AI search and training crawlers, led by . Humans triggered 4,978 tracked pageviews in the same window. The comparison flatters the robots, since server logs see every fetch while ad blockers hide plenty of humans from analytics, and 5,779 of those bot fetches were our own site-audit crawler. Between our analytics and Vercel's own counters, the honest read is that roughly nine in ten fetches here come from machines. If you got here with eyeballs, thank you for being one of the fleshy few.
AEO, AI SEO and GEO are the same work: getting your pages quoted inside ChatGPT, Claude, Perplexity and Google AI Overviews answers. What gets quoted is specific, evidence-backed claims, served as clean markdown. Ramp's research found markdown was the only format that reliably surfaced in LLM responses.
A cynical reader might suspect we are keyword stuffing in this section... But whether you're looking for an AI SEO agency, AI SEO services, generative engine optimization agency, generative engine optimization services, AI SEO company, answer engine optimization. They're all the same god-damn thing and they almost all hinge around the same core principles.
Create well marked-up content, iterate on it faster, and make it easier for AI models to read and understand.
AI SEO is the plain-language term. GEO (generative engine optimization) and AEO (answer engine optimization) are the technical ones, and we use them interchangeably. Whichever acronym you arrived with, the deliverable is identical: find where ChatGPT, Claude, Perplexity, and Google's AI Overviews pull their answers, ship the changes that put you inside those answers, and measure whether your citation share moved. If you want to check your own site first, our practical introduction to AEO, GEO and AI SEO walks through the technical checks you can run on any website. The rest of this page is how we run that loop and more importantly how fast.
Definition and comparison content
Most AEO content published today is taxonomy work: "What is AEO?", "AEO vs SEO". LLMs already have this, and it competes with Wikipedia and five hundred near-identical posts. The citation wins live in specific, evidence-backed claims that can't be scraped from a dictionary.
One layer treated as the whole job
llms.txt and schema both help. Profound and Vercel publish evidence for llms.txt, and structured data improves crawlability and context. Each is one ingredient. Ship a 30-line llms.txt file or a schema pass on its own, leave content negotiation untouched, and you have optimised the wrong layer.
Publishing more, without gates
Volume without editorial infrastructure is AI slop. LLMs weight source trust, so a corpus full of AI tells and unverified claims trains the wrong signal. More content behind no quality bar can move citation share in the wrong direction.
An SEO retainer with a new label
A monthly content brief delivered as a PDF is not AEO work. The diagnostic-to-ship gap in advisory retainers is measured in quarters. AEO needs a closed feedback loop: detect a citation shift, draft a remediation, ship it, re-monitor. That loop can't run on a monthly report cadence.
Per Ramp's first-party research, markdown was the only format that reliably surfaced in LLM responses. Bots ask for markdown. Browsers get HTML. The same URL can serve both. That is content negotiation, and instrumenting it per page is the single change with the widest citation coverage.
Roboto's own site is the worked example. The content is MDX on disk, so the markdown is the source rather than a format derived from a CMS export. When an LLM crawler asks for markdown at a given URL, it gets a clean document with structured headings, inline links, and no CMS wrapper noise. We wrote up the approach in our Next.js AEO/GEO guide. On a CMS-driven stack it's a transform step rather than a route handler, but the goal is the same clean markdown at the canonical URL.
Quarterly advisory cycles break at the feedback step. You get a report in month three describing what happened in month one, and by the time an edit clears approval and publish, the competitive set has shifted again. The diagnostic is stale before the fix ships.
A background agent watches citation share across platforms on a weekly cadence. When share drops on a target prompt cluster, it flags the change, identifies what moved in the competitive set, and drafts the fix: a content edit, a schema patch, an llms.txt update, or a content negotiation rule. One of our engineers reviews it and ships it, then the agent re-monitors that cluster and measures whether share recovered. We run this on our own site and documented the build in why we built our own background agent. For an engagement we set the same loop up on your stack: your data sources, your content repo, your approval flow.
Bot classification is where most implementations break. Single-signal classification on User-Agent alone misses the bulk of AI crawler traffic. Correct classification combines UA, IP range, ASN, and bot score. The Cloudflare gotcha compounds it: ChatGPT, Perplexity, and Claude bots are categorised as "AI Assistants" in Cloudflare's taxonomy, not "AI Search", so firewall and analytics rules targeting only "AI Search" miss all three major platforms.
The rest is table stakes we verify before touching anything higher up. Schema goes in where it helps LLMs parse structure (ServiceSchema, FAQPage, BreadcrumbList, Article). The llms.txt file gets prioritisation logic rather than a flat list of 400 pages. Crawlability is genuinely non-negotiable: every list item rendered into the DOM, navigation in static HTML, correct status codes, and clean submitted sitemaps.
Volume compounds citation share only when the content clears a quality bar that LLMs trust. The editorial infrastructure is what makes volume safe to ship, so we build three gates into the publishing pipeline.
An automated check runs before merge, flagging em-dashes, negative parallelism, and the vocabulary we've caught models overusing; content that fails goes back to be rewritten. A fact-checker agent verifies specific claims against their cited primary sources and flags any that don't hold. A final editing pass strips the sentence structures that read as generated. The cms-auto-updater pipeline is the worked example: it pulls evidence from primary sources on a weekly cadence, drafts updates, runs all three gates, and queues each change for human sign-off before it publishes. The result is far more content per quarter without the citation-eroding slop that comes from raw AI publish pipelines.
Roboto Studio builds Next.js and Sanity websites and does the AEO work in the same build, so the site launches ready for ChatGPT and Google AI Overviews instead of getting fixed afterwards. Every Sanity build we ship follows our AEO and SEO defaults for Sanity: JSON-LD, sitemaps, content negotiation that serves Markdown to AI crawlers, and an llms.txt.
Slingshot Bio is a recent example. We merged their WordPress and Shopify sites into one headless build on Next.js and Sanity, and it launched with JSON-LD on every product, collection and resource, Markdown for AI crawlers, an llms.txt, and a Markdown sitemap. Marketing publishes in Sanity, and all of it stays current without anyone touching it.
If your site already runs on Next.js and Sanity, the setup engagement below adds the same layer to the build you have.
Roboto Studio does AEO for B2B SaaS companies, on Next.js and Sanity sites and on whatever stack your site already runs. SaaS buyers ask assistants shortlist questions: the best tool for a job, the alternatives to a competitor, whether two products integrate, what a plan costs. Assistants answer those from pages that state the facts plainly, so most of the work is on pages you already have, like pricing, integrations, comparisons and docs. We make sure they're crawlable, served as Markdown, marked up with schema, and current.
Keeping them current is the hard part. A comparison page that was right at launch is wrong the first time a competitor changes its pricing. A weekly agent checks our own CMS comparison pages against each vendor's docs and opens a pull request when something changed, and we set up the same page updater bot for clients.
AI visibility audit
Fixed-scope AI visibility audit of your current citation footprint and technical readiness for a B2B or B2B SaaS website. Covers content negotiation, bot classification, schema, llms.txt, and crawlability, plus competitor citation analysis across target prompt clusters and a prioritized remediation roadmap ordered by expected impact. Duration: 1 to 2 weeks. Deliverable: written report and walkthrough call.
Setup
Implementation engagement. We wire up content negotiation across key pages, fix bot classification, implement llms.txt with prioritisation logic, add schema where missing, and restructure high-value content for citation extraction. Monitoring dashboards for citation share, crawler activity, and AI-referral traffic come standard. Duration: 4 to 6 weeks typical, scoped per engagement.
Retainer
Everything above running continuously on your stack. Weekly agentic monitoring across citation, crawler, and search data sources. Agent-drafted fixes reviewed and shipped by Roboto. Monthly synthesis call covering what moved, what we shipped, and what's queued. Re-baselined quarterly. Minimum 3-month commitment.
Part of this retainer is a weekly agent that audits the analytics platforms you already use, condenses them into one place, and hands your team the next steps to take. It does the reading and the triage so the monthly call is about decisions, not dashboards.
When a community thread outranks your own page, that thread is an opportunity. This bot finds those threads for your keywords and drafts a response built from your own content, so you get a second touch point on a page that already wins the search.
Roboto Studio does. We offer GEO services and ship the website changes in the same engagement. A background agent watches citation share across ChatGPT, Claude, Perplexity, and Google AI Overviews. When share drops, we draft the fix, a content edit, a schema patch, an llms.txt update, or a content negotiation rule, and an engineer ships it under your approval. The 1 to 2 week AI visibility audit, the setup engagement, and the retainer are how that work is scoped.
Roboto Studio helps B2B companies get cited in ChatGPT, Perplexity, and Google AI Overviews, and we also watch Claude. The work is citation monitoring on target prompts, a drafted remediation, shipping it on your site, and measuring whether share recovered.
Roboto Studio offers an AI visibility audit for B2B websites. It's a fixed-scope, 1 to 2 week review of your current citation footprint and technical readiness. It covers content negotiation, bot classification, schema, llms.txt, and crawlability, plus competitor citation analysis across target prompt clusters and a prioritized remediation roadmap. You get a written report and a walkthrough call.
We don't publish a ranked list of AEO agencies. Roboto Studio is an AEO agency that works with B2B SaaS companies on citation monitoring, drafted fixes, and shipping those changes under approval. If you want a starting point, the AI visibility audit is the fixed-scope, 1 to 2 week review.
Roboto Studio builds Next.js and Sanity websites and does the AEO work on them in the same engagement. Every Sanity build we ship gets JSON-LD, sitemaps, content negotiation that serves clean Markdown to AI crawlers, and an llms.txt. Slingshot Bio's headless build on Next.js and Sanity launched that way, with JSON-LD on every product, collection and resource. After launch, a background agent watches citation share in ChatGPT, Claude, Perplexity and Google AI Overviews, and our engineers ship the fixes under your approval.
Roboto Studio is a GEO and AI search agency for B2B marketing websites, and builds those websites on Next.js and Sanity. The agencies worth a shortlist do three things: measure which prompts cite you, change the website itself, and measure again. We run all three as a weekly loop. A background agent tracks citation share across ChatGPT, Claude, Perplexity and Google AI Overviews and drafts the fix, and our engineers ship it on your site. The fixed-scope AI visibility audit, 1 to 2 weeks, is the usual starting point.
It helps, and Profound and Vercel publish positive evidence on it. Ramp's first-party experiment notably didn't recommend it as a lead tactic. Treat llms.txt as one layer alongside content negotiation, schema, and crawlability, not a silver bullet.
Yes. AI SEO is the buyer-facing label. GEO (generative engine optimization) and AEO (answer engine optimization) are the technical names for the same work: getting cited inside AI answers rather than ranking blue links. We use the terms interchangeably. Anyone selling them as three separate products is inventing scope.
The substrate is different. SEO optimizes for ranked search results. GEO optimizes for citation inside an LLM response. The technical work overlaps (crawlability, schema, content quality) but the diagnostic loop is new: which prompts cite you, which models, on which platforms, and how that share moves week to week. Selling an SEO retainer as a GEO retainer is the grift.
Faster than organic rankings, slower than paid ads. A substrate change like content negotiation, a schema patch, or a content rewrite can move citation share within weeks rather than the quarters an advisory retainer takes to close the loop. How fast depends on your starting point and how competitive your target prompt clusters are.
Volume without editorial gates and fact-checking compounds AI slop. Doubling publishing cadence without those gates risks moving citation share the wrong way, because LLMs deprioritize low-trust sources. The win is volume with infrastructure: checks that catch AI-sounding phrasing before publish, fact-checker agents that verify claims against primary sources, and an editing pass that strips the expressions we've caught models overusing.
If your buyers use ChatGPT, Claude, Perplexity, or Google AI Overviews to evaluate vendors, yes. The first-party data shows AI search is now a meaningful share of the discovery funnel. If your buyers still arrive exclusively via blue-link Google, no, but that's a shrinking population, especially in B2B.
I've never had such a good experience with an agency. They jumped in to get our site usable, and righted all the problems the previous agency left.

Digital Lead, Mario Testino
Profound Q1 2026 AI Citation Trends
The most specific public dataset on AI citation dynamics to date. Reddit citation share roughly doubled October 2025 to January 2026. Perplexity attributes 31% of all citations to social media, with Reddit at 24%. AI Overviews citations dropped 46% in the same period. The implication: social platforms are now a primary citation surface, and tracking only your own domain misses where citations originate. Source: tryprofound.com
Ramp Builders: marketing to AI agents
First-party experiment on what formats LLMs actually surface. Markdown was the only format that reliably appeared in responses. Bot classification requires combining UA, IP, ASN, and bot score, since single-signal approaches miss the major platforms. llms.txt was not recommended as a lead tactic in their findings. Source: builders.ramp.com
Merj: server log analysis for AI crawlers
A playbook for distinguishing real LLM crawlers from spoofed user agents via server log analysis. The spoofing rate for AI crawlers is material, so acting on UA alone gives a distorted picture of which platforms are actually crawling your content and how often. Server logs are the ground truth. Source: merj.com
Vercel: AI crawler studies and llms.txt
First-party data from Vercel's CDN on AI crawler behaviour, llms.txt adoption and impact, and framework-level responses to AI traffic. Their data shows a positive correlation between llms.txt presence and citation rate, alongside the content negotiation patterns that improve LLM ingestion. Source: vercel.com/blog
iPullRank: LLM ranking factor research
Mike King's technical research on the factors that correlate with LLM citation: content structure, entity coverage, E-E-A-T signals as proxied by LLMs, and the structural differences between content that gets cited and content that doesn't. One of the more rigorous public treatments of AEO. Source: ipullrank.com
Ahrefs: AI Overview impact on CTR
Research on how AI Overviews affect click-through rates on organic results, and the crossover between pages that rank organically and pages that get cited in AI responses. The data suggests high overlap at the top end, so strong organic pages stay relevant while citation remains a separate signal worth tracking on its own. Source: ahrefs.com/blog

AEO, GEO, or just SEO: the playbook is the same. Metadata, JSON-LD, sitemaps, and content negotiation, implemented on a production Next.js site.

How we structure AEO and SEO on every Sanity build. Fallbacks, JSON-LD, sitemaps, content negotiation, llms.txt, accessibility, and the feedback loop that catches drift.

How we built Satoru, a sandboxed background coding agent powered by Cloudflare Durable Objects and Modal to handle retainer backlogs across client codebases.
Get cited
If your buyers research vendors through ChatGPT, Claude, Perplexity, or Google AI Overviews and you don't know whether you show up, a discovery call is the fastest way to find out. We'll show you the citation gap and walk you through the closed-loop fix.
Tell us what you're building. We reply within one working day. Jono or someone on the team picks up every message personally.
You can also book a call.