How to make a Framer site ready for AI search and answer engines

Answer-engine optimization for a Framer site: direct answers, question headings, FAQ markup, crawler access and llms.txt, and what owning the code changes.

Published
Reading time
7 min
Deframer cover: “Answer first. Get quoted.” Beside it, four tiles, Answers, Schema, Crawlers and llms.txt, with Answers selected
On this page10 sections

To make a Framer site ready for AI search, write pages that answer one question clearly in their first paragraph, use question headings and an FAQ, keep the important text in the server-rendered HTML, let the AI crawlers you want reach the site, and describe the site in structured data and, optionally, an llms.txt file. Most of that you can do in Framer today. Owning the code makes the rest easier: per-item structured data, a generated llms.txt, and control over crawler rules and headers. Nothing guarantees that an answer engine cites you; these steps make your pages easy to read and quote.

Answer-engine optimization (AEO) is the name people use for this work. It overlaps heavily with ordinary SEO, which is good news: the same habits help both. Deframer is an independent tool and is not affiliated with, endorsed or sponsored by Framer.

What answer engines actually read

Assistants such as ChatGPT search, Perplexity, Copilot and Google's AI features answer questions by retrieving pages and summarizing them. What they retrieve depends on each system's own index or a search partner, and none of them publish a full recipe. What is consistent:

  • They fetch HTML. Some crawlers don't run JavaScript, so text that appears only after scripts run may be missed.
  • They quote passages. A clear, self-contained paragraph that answers a question is easier to lift than an answer spread across a page.
  • They respect access rules. Each operator documents its crawler's user agent and honors robots.txt for it.
  • They favor pages that already rank. Retrieval often starts from a search index, so classic SEO still matters.

Be wary of anyone selling guaranteed AI citations. The honest goal is to remove the reasons a system would skip your page.

Step 1: lead every page with the answer

Rewrite the first paragraph of each important page so it answers the page's main question in two to four sentences. If the page is "Pricing", the first paragraph says what it costs and how billing works. If it's a service page, it says what you do, for whom and where.

Then structure the rest:

  1. Question headings. "How long does a project take?" is easier to match to a user's question than "Timeline".
  2. One idea per section. Each section should stand on its own if quoted.
  3. Concrete facts. Numbers, steps, names and dates beat adjectives.
  4. Tables for comparisons. Prices, plans and features in a table are unambiguous.
  5. An FAQ at the end with the questions people really ask, answered in a paragraph each.

You can do all of this in Framer's editor. It's a writing job, not a technical one.

Step 2: make sure the text is in the HTML

Framer publishes pages with their content rendered in the HTML, then hydrates them in the browser, so most text is already visible to crawlers. Check the pages that matter anyway:

sh
curl -s https://www.example.com/pricing | grep -c "your key sentence"

Zero means the text isn't in the initial HTML: often it lives in a component that renders only in the browser, a tab that loads its content later, or an embed. Move key facts into ordinary text on the page.

After converting with Deframer, every framework it writes renders pages on the server or prerenders them at build time, so the same check applies to the new site. Components that render only in the browser are listed as notices on the conversion's result page; keep important text out of them.

Step 3: add structured data

Structured data tells machines what a page is: an organization, an article, a product, a list of questions. Search engines document how they use it; AI systems don't say, but well-formed JSON-LD is easy for any parser to read.

In Framer, you can paste a static JSON-LD block into site or page custom code. That works for Organization and WebSite markup. It gets awkward for CMS pages, where each item needs its own BlogPosting or Product data. Once the site is code, you generate it per item from the CMS JSON; how to add structured data to a converted Framer site has the code.

Mark up only what the page shows. An FAQ schema for questions that aren't on the page is misleading, and search engines treat it that way.

Step 4: decide which AI crawlers may visit

Each major operator documents its crawlers. Some fetch pages for training, others fetch pages live to answer a user's question. Examples you'll see in logs and documentation include GPTBot and OAI-SearchBot (OpenAI), PerplexityBot (Perplexity), ClaudeBot (Anthropic) and the Google-Extended token (Google's AI training, separate from Googlebot). Names and purposes change, so read each operator's current page before you write rules.

The choice is a business one:

You want

Rule of thumb

To appear in AI answers

Allow the search and answer crawlers

To keep content out of model training

Disallow the training crawlers, allow search crawlers where the operator separates them

No AI access at all

Disallow them all, and accept you won't be cited

On Framer, robots.txt is generated for you. Check Framer's documentation for what you can change there. In a converted project it is a plain file in public/robots.txt that you edit directly:

Code
User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

Also check your host and CDN. Some bot-protection settings block AI crawlers by default, which overrides whatever robots.txt says. The sitemap and robots guide covers the file in more depth.

Step 5: consider an llms.txt file

llms.txt is a proposed convention (llmstxt.org): a Markdown file at your site's root that summarizes what the site is and links to its key pages, written for language models. Some tools and agents read it; the large answer engines haven't said they use it for ranking or citation. It is cheap to add and harmless, so treat it as a tidy summary, not a lever.

A short example:

md
# Example Studio

> Example Studio designs and builds websites for climate-tech startups in Berlin.

## Services
- [Website design](https://www.example.com/services/design): brand, UX and visual design
- [Development](https://www.example.com/services/development): Next.js builds

## Pricing
- [Pricing](https://www.example.com/pricing): fixed-price packages from discovery to launch

In Framer, you can't place arbitrary files at the site root, so this step is easiest after converting: put the file in public/llms.txt, or generate it from your CMS JSON at build time so it stays current. Deframer's own site does the generated version for its llms.txt.

Step 6: keep pages fast and stable

Crawlers have time budgets too. Slow, heavy pages are fetched less often and sometimes truncated. The usual performance work helps here: compress images, avoid layout shifts, and keep scripts lean. The performance tuning guide covers a converted site.

What changes when you own the code?

Task

In Framer

In a converted project

Direct answers, headings, FAQs

Yes, in the editor

Yes, in the views or CMS JSON

Static JSON-LD

Yes, via custom code

Yes

JSON-LD per CMS item

Hard

A few lines in the route

Edit robots.txt per crawler

Limited to what Framer exposes

Full control of the file

llms.txt at the root

Not as a root file

A file in public/, or generated

Server headers (caching, X-Robots-Tag)

Framer's

Yours, on your host

None of these need you to leave Framer if the editor covers what you need. If you do move, the SEO migration guide keeps your existing rankings safe, which matters more for AI visibility than any AI-specific tweak.

How to measure it

There is no Search Console for answer engines yet. Practical signals:

  1. Referrals. Visits from chatgpt.com, perplexity.ai and similar referrers in your analytics.
  2. Server logs. Hits from the AI crawlers' user agents, which a self-hosted site can read directly.
  3. Manual checks. Ask the assistants your customers' real questions every month or so, and note whether and how you're cited.

FAQ

Is AEO different from SEO?

Mostly it's the same work with a sharper focus on direct answers, clear structure and machine-readable facts. A page that ranks well and answers its question plainly is in a good position for both.

Can a Framer site be cited by ChatGPT or Perplexity?

Yes. Framer publishes server-rendered HTML that crawlers can read. Whether a page is cited depends on the question, the competition and each system's retrieval, which nobody controls.

Does llms.txt help rankings?

There is no public evidence that the main answer engines use it for ranking. It's a cheap, clear summary of your site that some tools read, so adding it is reasonable, but don't expect it to change your visibility on its own.

Should I block AI crawlers?

It depends on whether you'd rather keep content out of model training or be cited in answers. Many operators separate training crawlers from search crawlers, so you can block one and allow the other. Read each operator's documentation before writing rules.

Do I need to convert my Framer site to do AEO?

No. Writing, headings, FAQs and static structured data all work in Framer. Converting helps when you want per-item structured data, a root llms.txt, full control of robots.txt and headers, or server logs.