The short answer
Framer's rendering is not the problem people fear. Since traffic-aware pre-rendering rolled out across all sites in late 2025, Framer serves fully pre-rendered HTML to AI crawlers, so bots that don't run JavaScript still get your headings and copy. The real risks are manual: missing JSON-LD schema, and Cloudflare quietly blocking AI bots by default.
The JS-rendering fear vs. the reality
Framer is a design-first tool that produces heavily JavaScript-driven sites, so it's fair to worry about client-side rendering. The concern is real in general: GPTBot, ClaudeBot, and PerplexityBot do not execute JavaScript, do not wait for rendering, and do not make second attempts. (aioclicks) If a page is a client-side shell, an AI crawler sees nothing and moves on.
But Framer handles this at the platform level. Framer delivers server-rendered / pre-rendered HTML, so AI crawlers and search engines get full-page content without executing JavaScript — headings, paragraphs, and semantic HTML all arrive in the initial response. (INSIDEA) So the content-visibility problem is largely solved for you. What's left is structure and access.
Where Framer actually leaves you exposed
Schema is manual JSON-LD. Framer's advanced SEO has limits: custom canonical links (below Enterprise), editable robots.txt, and schema markup all require manual work. Framer does not auto-generate the schemas that matter for AEO — FAQPage, Article, SpeakableSpecification, and HowTo. All four are implementable via custom JSON-LD, but none appear unless you add them. (INSIDEA) Most Framer sites ship with none.
Cloudflare may be blocking your AI crawlers. This is the silent killer. Cloudflare changed its default configuration to automatically block AI bots — if your Framer site sits behind Cloudflare, your AI crawler access may have been shut off without you realizing it. (INSIDEA) Perfectly rendered HTML is worthless if GPTBot gets a 403 before it reads a word.
AI-crawler rules aren't set by default. You want explicit allow rules for GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, and CCBot in robots.txt. Framer lets you edit robots.txt, but doesn't configure this for you.
Canonicals are gated. Custom canonical links sit below the Enterprise tier, which matters if you have duplicate or campaign-parameter URLs. (oma-kase)
The fixes that matter
Confirm AI crawlers aren't blocked — check Cloudflare bot settings and your robots.txt for accidental Disallow rules against GPTBot and friends.
Add explicit allow rules for GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, and CCBot.
Add FAQPage JSON-LD to pages with real Q&A content.
Add Article schema to blog and resource pages.
Add SpeakableSpecification to pages you want voice/AI assistants to read aloud.
Verify canonical handling; on lower tiers, avoid the duplicate-URL patterns you can't fully control.
Confirm each page's pre-rendered HTML actually contains your key content by viewing source, not the rendered DOM.
Framer SEO + AEO checklist
| Check | Framer default | Your job |
|---|---|---|
| Content in initial HTML | Pre-rendered — good | Verify via view-source |
| AI crawlers allowed | Cloudflare may block | Unblock + allow in robots.txt |
| FAQPage schema | None | Add JSON-LD |
| Article schema | None | Add JSON-LD |
| SpeakableSpecification | None | Add on read-aloud pages |
| Custom canonical | Enterprise only | Verify / avoid dupes |
| robots.txt | Editable | Add AI-crawler rules |
| Meta / OG tags | Editable | Fill per page |
FAQ
Can AI crawlers read a Framer site if they don't run JavaScript?
Yes. Framer pre-renders HTML, so GPTBot, ClaudeBot, and PerplexityBot receive your full page text on the first request without executing any JavaScript.
So what's the catch with Framer SEO?
Two things: Framer doesn't auto-generate schema, and if your site is behind Cloudflare, AI bots may be blocked by Cloudflare's default settings even though the HTML is crawler-friendly.
Which schema types should a Framer site add?
The AEO-relevant ones are FAQPage, Article, SpeakableSpecification, and HowTo — all added as manual JSON-LD, since Framer generates none of them automatically.
How do I check if AI crawlers are blocked?
Review your Cloudflare bot-management settings and inspect robots.txt for Disallow rules affecting GPTBot, ClaudeBot, PerplexityBot, and similar agents.
Does Framer support custom canonical tags?
Custom canonical links are gated to Enterprise. On lower tiers, avoid duplicate-URL patterns you can't control.
How do I confirm my content is really pre-rendered?
View page source (not the live DOM). If your headings and body copy are in the raw HTML, AI crawlers can read them.
Audit your Framer site
SEO AEO Specialist checks your Framer site's rendered HTML, AI-crawler access, and schema coverage in one pass. Start free — €0 for up to 50 pages. Want the full picture written up? A one-time report is €9. For continuous monitoring so a Cloudflare setting change never silently cuts off AI crawlers, it's €19/mo per domain.
Next.js SEO + AEO Audit: SSR vs CSR, Schema, AI-Crawlability
See where you stand
SEO AEO Specialist runs a free AI-visibility audit and hands you the exact fixes. One-off report €9, unlimited €19/mo.
Run your free audit →