All posts
Web design & development

Framer AEO: Making a Framer Site Visible to AI Search

Framer AEO in 2026: the settings, custom code and CMS fields that make a Framer site readable and quotable by ChatGPT, Perplexity and AI Overviews.

By Mehdi Hassan9 min read

The short answer

Framer AEO means using Framer's own settings to make a site easy for ChatGPT, Perplexity and AI Overviews to read and quote. Framer already serves pre-rendered HTML, a sitemap and an open robots.txt, so the work is answer-first page structure, JSON-LD in custom code driven by CMS fields, deliberate crawler rules and checking the published output.

Key takeaways

  • Framer pre-renders pages, so AI crawlers that skip JavaScript still get your text, unlike a client-rendered React app.
  • Add JSON-LD in custom code and fill CMS detail pages with {{Field | json}} variables instead of hand-written schema per page.
  • The auto-generated robots.txt allows all AI and search crawlers; uploading your own replaces it, so copy what you need.
  • llms.txt and a custom robots.txt are uploaded as static files, which Framer offers on Pro and Enterprise plans.
  • Structure decides citations: question headings, a short answer field and real text tables in every CMS template.

Part of How to Build an AI-Search-Ready Website: Structure, Schema and Crawlability

What does Framer AEO actually involve?

Framer AEO is the platform-specific half of answer engine optimization: giving AI search engines clean, quotable pages and setting the few files and snippets Framer leaves to you. Strategy, meaning which prompts to target and where to earn mentions, is the same on any platform.

Framer starts from a strong position. Its help center says pages are rendered on Framer's servers before delivery, so crawlers that don't run JavaScript still receive the text, metadata and structured data, and every published site gets a sitemap.xml and robots.txt. That's why Framer sits in the low-risk row of our AI-search-ready website guide.

What's left is the work Framer can't do for you: page structure, schema, crawler rules that match your intent, and checking the published site. Here it is in the order we do it.

Layer

What Framer gives you

What you still own

Rendering

Pre-rendered HTML on every page

Embeds and code components that load content late

Crawler access

Auto robots.txt that allows AI and search crawlers

A custom file only if you need to block something

Sitemap

Auto sitemap.xml from published pages and CMS items

Hiding pages that shouldn't be found

Schema

Custom code slots and CMS variables

Writing and validating the JSON-LD

Structure

Headings, rich text and CMS fields

Answer-first templates and real tables

llms.txt

Static file hosting on Pro and Enterprise

Writing the file and keeping it current

Can AI search engines read a Framer site?

Yes, in almost every case. Framer serves pre-rendered HTML, so OAI-SearchBot, PerplexityBot and Claude-SearchBot see your copy without running scripts. The exceptions are embeds, iframes and some code components, which may load late or live on another domain.

Framer's help center also says it serves a Markdown version of a page on the same URL when a request sends an Accept: text/markdown header or adds ?md. It's aimed at AI agents and only covers optimized pages, so treat it as a bonus.

Test the pages that matter rather than trusting the defaults. Disable JavaScript and reload your homepage, pricing page and one CMS page. Anything that disappears is invisible to non-rendering crawlers too, as our server-side rendering guide explains, and the fix is usually native Framer text.

Structure Framer pages answer-first: a short plain-text answer under the H1, question-style H2s, a direct answer opening each section, and comparisons in real text. Engines quote passages, so each section has to stand alone. The writing rules are in our answer-first content structure framework; here's how they map onto Framer.

  • Set heading levels on purpose. Choose the tag for each text layer: one H1 per page, H2s for sections, and no paragraphs styled to look like headings.
  • Add a short answer field to each CMS collection. A required 40–60-word plain-text field under the title means every item ships with a quotable summary.
  • Keep FAQs visible. If you use an accordion, check with JavaScript disabled that the answers are still in the HTML.
  • Build tables as text. A comparison grid of Framer text layers is readable. A screenshot of a table isn't.
  • Template titles with CMS variables such as {{Title}}, and include the category, not just the item name.
Hypothetical example: a Framer use-case template rebuilt for AEO

For example, suppose a startup has 12 use-case pages in a Framer CMS collection, each with a headline, an image and three feature cards.

The rebuilt collection adds a 50-word short answer field, a 'who it's for' line, a rich text body with question H2s and four FAQ pairs stored as separate fields. The template shows the short answer under the H1, renders the FAQs as visible text and outputs the same answers as FAQPage JSON-LD, so every new use case ships with the structure.

How do you add schema markup to a Framer site?

You add schema markup to Framer as JSON-LD in custom code. Framer doesn't generate structured data, but it offers three places for it: site-wide custom code, page-level custom code, and custom code on CMS pages, where you can insert collection fields.

The CMS option is the one that scales. Framer's structured data help article shows a BlogPosting block on a CMS page with values written as {{Title | json}}. The json filter formats values safely, {{Created}} and {{Updated}} exist on every item, and referenced fields such as an author work too. You can also store a whole JSON-LD block in a text field with the unsafeRaw filter, but it escapes nothing, so malformed JSON can break the page.

  1. Put Organization schema site-wide

    Add one Organization block with your name, URL, logo and sameAs links to your official profiles in the site-wide head custom code.

  2. Template Article or BlogPosting on CMS pages

    Add a JSON-LD block to the blog's CMS detail page using {{Title | json}}, {{Updated}}, the cover image and the author reference fields.

  3. Add FAQPage where answers are visible

    Only mark up questions that appear on the page. Store them as CMS fields so the visible FAQ and the schema can't drift apart.

  4. Validate the published page

    View the live page source to confirm the variables rendered real values, then run Google's Rich Results Test on a few items.

Keep expectations honest: Ahrefs' controlled 2026 test found no lift in AI citations from adding schema, so treat it as hygiene for entity parsing and rich results. The evidence is in does schema markup help you get cited by ChatGPT.

How do you control AI crawlers and robots.txt in Framer?

Framer's auto-generated robots.txt allows all AI and search crawlers by default, which suits most marketing sites. Act only if you want to block a specific bot, such as a training crawler.

To change the rules, upload your own robots.txt as a static file at the root path. Framer's help center says a custom file replaces the auto-generated one, and static files, found under site settings in the hosting section at the time of writing, are a Pro and Enterprise feature. Because your file replaces Framer's, add a Sitemap line pointing to yoursite.com/sitemap.xml.

If you do block bots, block training crawlers such as GPTBot and ClaudeBot by name, never search crawlers like OAI-SearchBot and Claude-SearchBot, which keep you in ChatGPT search and Claude's web answers. Our guide on whether to block or allow AI crawlers has the user-agent table. For single pages, a page-settings toggle hides the page from search engines with a noindex tag.

Should you add llms.txt to a Framer site?

Add llms.txt to a Framer site only if it's cheap for you, because the 2026 evidence shows no citation lift from the file. SE Ranking's study of 300,000 domains found no measurable effect, and Google says no special files are needed for its AI features. We explain why in what llms.txt is and whether it helps.

If you want one anyway, upload it as a static file at the root, publish and check yourdomain.com/llms.txt. Framer lists file hosting on Pro and Enterprise, with 50 static files per project on Pro. Our free llms.txt generator builds a correctly formatted file from your site name, summary and key pages.

How do you check whether your Framer AEO work is working?

Check it in two passes: a technical audit of the published site, then measurement of whether engines cite you and send visitors. The audit takes an afternoon; measurement takes months to show a trend.

  1. Fetch key pages without JavaScript and confirm headings, prices and FAQ answers are in the HTML.
  2. Open /robots.txt and /sitemap.xml on your live custom domain, not Framer's free subdomain, and confirm they say what you expect.
  3. View source on CMS pages and check that JSON-LD variables output real values, not empty strings.
  4. Run Framer's free AEO scanner at framer.com/aeo for a second opinion. It scores pages on Framer's own method and uses AI, so treat it as a checklist, not a verdict.
  5. Add an AI channel in GA4 so ChatGPT, Perplexity and Copilot referrals show up separately. Our guide to tracking AI referral traffic in GA4 has the regex.
  6. Run a monthly prompt test of the 20–30 questions buyers ask, and record who gets cited.

For entities, indexing and CDN rules, use our AI visibility audit checklist.

Framer's AEO limits are about structure and control, not visibility. The constraints show up when content gets large or relational, or when you want control over every file the site serves.

  • Schema is hand-built. There's no native generator, so someone writes and maintains the JSON-LD templates, or vets a marketplace plugin.
  • Root files depend on your plan. A custom robots.txt or llms.txt needs static file hosting on Pro or Enterprise.
  • Late-loading content is invisible. Embeds and browser-fetched components may never reach non-rendering crawlers.
  • Complex content models strain the CMS. Large, deeply linked collections are harder to template than in a code-based CMS.

None of these are reasons to leave Framer for a typical startup site. If you run a large content operation, the trade-offs are in our Framer to Next.js migration cost guide. Otherwise, our Framer agency service builds sites that stay on Framer and are set up this way.

Frequently asked questions

Is Framer good for SEO and AI search?
Yes. Framer serves pre-rendered HTML, generates a sitemap and robots.txt automatically, and lets you set titles and descriptions per page or CMS item, plus a canonical URL and redirects. That covers the technical basics answer engines need. What Framer can't do is write quotable pages for you, so results still depend on structure, clear answers and mentions of your brand elsewhere on the web.
Does Framer add schema markup automatically?
No. Framer doesn't generate JSON-LD for you. You add structured data yourself through custom code at the site, page or CMS page level, and on CMS pages you can fill values from collection fields with variables like {{Title | json}}. Several marketplace plugins also generate schema, but check what they output on the live page before relying on one.
Can I edit robots.txt on Framer's free plan?
Framer's help center lists custom robots.txt uploads, which use static file hosting, under the Pro and Enterprise plans. On other plans you get the auto-generated robots.txt, which allows all AI and search crawlers by default. That default suits most marketing sites. Plans and limits change, so check Framer's current pricing page before you upgrade for this alone.
Do Framer code components hurt AI visibility?
They can if they fetch or build content in the browser after the page loads, because most AI crawlers don't run JavaScript. Content that's part of the pre-rendered page is fine. The quick test is to disable JavaScript and reload the page: anything that disappears is invisible to crawlers like OAI-SearchBot and PerplexityBot, so move it into native Framer text.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Website, $8,000.

A multi-page marketing site, written and designed by us, developed in Next.js and animated. $8,000, one-time, up to 6 pages. Book a free 30-minute call to see if it fits.

Schedule Call