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.txtfor 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:
- Question headings. "How long does a project take?" is easier to match to a user's question than "Timeline".
- One idea per section. Each section should stand on its own if quoted.
- Concrete facts. Numbers, steps, names and dates beat adjectives.
- Tables for comparisons. Prices, plans and features in a table are unambiguous.
- 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:
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:
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xmlAlso 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:
# 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 launchIn 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 | Limited to what Framer exposes | Full control of the file |
| Not as a root file | A file in |
Server headers (caching, | 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:
- Referrals. Visits from
chatgpt.com,perplexity.aiand similar referrers in your analytics. - Server logs. Hits from the AI crawlers' user agents, which a self-hosted site can read directly.
- 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.
