r/sanity_io

What we'd tell anyone evaluating their CMS for "AEO" right now
▲ 16 r/sanity_io+1 crossposts

What we'd tell anyone evaluating their CMS for "AEO" right now

Hey folks, wanted to write this, because we get this question come up enough, that we wanted to try and answer it in a very opinionated way.

With every Sanity, Contentful and WordPress (migration) project we've scoped this year, somebody asks the same thing in the first call: what do we actually need to do about AEO? The vast majority of answers on LinkedIn are course-selling. A meager few are useful.

Instead, I'd like to give you a first-hand account of what we shipped on our own site this year (and a little bit in 2025), what moved in the logs after, and the bits we'd quietly skip.

The SEO half hasn't changed

We've always had clean titles. Real backlinks. JSON-LD derived from our fields, and only once a long time ago, spammed a bit of programmatic content. Everybody was doing it, give us a rest.

However, this part of the site, is a baseline and the big thing I would advise looking at before you touch anything ahead.

The new bit: content negotiation

Agents are a new visitor class. ChatGPT, Claude, Perplexity, every coding agent crawling for context. They mostly can't render JavaScript reliably, although this is changing. Their context windows are small enough that wasted tokens cost real money.

The fix has been in the HTTP spec since 1996. When the Accept header asks for text/markdown, serve markdown. When it asks for HTML, serve HTML.

The markdown twin of any page on our site is roughly 94% smaller than the HTML version. No fonts or analytics, just the actual content. Most headless CMSs let you wire this up in a route handler or middleware in an afternoon. WordPress is harder but doable via a plugin or a reverse proxy.

There's a great article about it here

Worth doing

  • Publish an llms.txt at the root, and a sitemap.md alongside your XML sitemap. Anthropic's fetcher and Perplexity's crawler both consume them. It costs nothing.
  • Make sure you connect a publishedAt and updatedAt visibly on every blog post, and wire both into BlogPosting JSON-LD. Recency is a heavy citation signal in AI answers right now.
  • Let GPTBot, ClaudeBot and PerplexityBot in via robots.txt. Block scrapers that take your content without attribution. (Side note: GPTBot hit us at 17K requests in one hour the week after we shipped llms.txt. They read it.)

Skip

  • Tools promising guaranteed citation in ChatGPT. Nobody on earth can promise that.
  • Loading up your pages with every Schema.org type you can find. You need three or four. The rest is noise that confuses the parsers.
  • Programmatic content/social tooling. You can streamline a lot of these with internal agents, but ultimately you want a human touch or you content will sound like ass.

We wrote a post about this if you want the long version.

Happy to get into specifics for any CMS in the comments. The patterns port pretty cleanly across the headless ones. WordPress I can vent about...

u/jonoalford — 2 days ago
▲ 12 r/sanity_io+1 crossposts

We've been testing Sanity's MCP for generating content agentically (some thoughts)

Spent a few hours last week playing around with Sanity's MCP server in Claude to see how fast I could generate a page with a prompt.

I prompted it to put together a services page for an AI-first agency and to use a 3- or 6-card layout.

The good bit: it read my schema, picked the right page builder blocks on its own, and used the correct card count. The copy was generic but well put together. Surprisingly, predicted the correct icons from the library. The whole session took around 7-8 mins end-to-end.

What can be improved: it doesn’t support images and media. You have to go into the studio and upload them yourself.

Overall, it was pretty great for scaffolding pages with page builders and creating the first draft of a landing page. I'm curious how many people are doing this already, and if you have any tips/tricks that you're doing with it.

Walkthrough on our channel if it's useful: https://www.youtube.com/watch?v=hF2Xecy--Xs

Has anyone else tried an MCP with a CMS yet? What are you wiring up to?

u/Forward_Ant_5048 — 9 days ago