GetPicked

AI search readiness · Website builders and CMSs

Framer SEO and AEO: robots.txt, sitemap, llms.txt and JSON-LD

Framer generates robots.txt and /sitemap.xml for every published site, and its robots.txt allows all AI and search crawlers by default. Framer also serves a Markdown version of pages to agents that ask for it. To change robots.txt or add llms.txt you upload a file through Site Settings > Hosting > Files, which needs a Pro or Enterprise plan. Structured data is yours to add as JSON-LD in custom code.

Edit robots.txt
PartlyAuto-generated. Replace it by uploading your own robots.txt at path / via Site Settings > Hosting > Files (Pro or Enterprise).
XML sitemap
YesGenerated automatically for every published site and kept current on publish. /sitemap.xml
llms.txt
PartlyNot generated. Upload llms.txt as a static file (Site Settings > Hosting > Files) on Pro or Enterprise; it is served at /llms.txt.
AI crawlers
Framer's docs say all AI and search crawlers are allowed by default in the auto-generated robots.txt. Framer also returns Markdown when a request sends Accept: text/markdown or adds ?md to the URL.
Structured data
No default schema documented. Add JSON-LD in a script tag through Custom Code (page or site head); CMS detail pages can insert fields with {{Field | json}}.

Framer robots.txt and AI crawlers

Framer writes a robots.txt for every published site, and its help center says all AI and search crawlers are allowed by default, naming Googlebot, Bingbot, GPTBot and PerplexityBot among those supported. For most Framer sites that is the right setting for AI visibility, so there is nothing to do.

If you need different rules, there is no editor. You replace the whole file:

  1. Write a robots.txt locally. Start from your live file at yourdomain.com/robots.txt so you don't lose the Sitemap line.
  2. Open Site Settings > Hosting > Files and click Add.
  3. Upload the file and set its path to /.
  4. Publish, then reload /robots.txt to confirm the new version is live.

This uses Framer's static files feature, which needs a Pro plan (50 files, or 500 with the Advanced Hosting add-on) or Enterprise. To keep a single page out of search, use its page settings instead: Framer adds a noindex meta tag, which removes the page from results, while a robots.txt rule only stops crawling. Check the result with the robots.txt checker.

Markdown for agents

Framer serves a Markdown version of a page on the same URL when a request sends Accept: text/markdown or adds ?md to the address. It is generated only for optimized pages and may be unavailable when a site is rate limited. The pre-rendered HTML still carries titles, meta descriptions, Open Graph tags, canonical URLs and any JSON-LD you added, so crawlers that read HTML get the same facts. You can try it yourself by opening a page with ?md appended.

Framer sitemap

Every published site gets /sitemap.xml, built from your pages and refreshed when you publish. It works on .framer.website addresses and custom domains alike. Submit it in Google Search Console after verifying the domain, and in Bing Webmaster Tools too. Background on what belongs in it: XML sitemap.

llms.txt on Framer

Framer does not generate one. Upload your own through Site Settings > Hosting > Files, publish, and it appears at /llms.txt, again on Pro or Enterprise. Since llms.txt is a proposal rather than a standard, keep it short: what the business does, who it serves, and links to the pages that answer buyer questions. Test it with the llms.txt checker.

Structured data

Framer's help center describes adding JSON-LD yourself, in a script type="application/ld+json" tag placed in the head through Custom Code. On CMS detail pages, {{Title | json}}, {{Created | json}} and {{Updated | json}} insert values safely, and {{Field | unsafeRaw}} prints a whole JSON-LD block stored in a plain-text field (Framer warns that one does no escaping). After publishing, view the live source to confirm the variables rendered, then validate. An Organization schema block on the homepage is the usual starting point.

Check your Framer site

Paste your domain to see which AI crawlers your live robots.txt lets in.

robots.txt checker

Test your robots.txt against every AI crawler

robots.txt generator

Preset
robots.txt
# robots.txt generated with https://www.getpicked.app/tools/robots-txt-checker
# Preset: Allow AI search, block training

User-agent: *
Allow: /

# Model training crawlers
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: Meta-ExternalAgent
User-agent: Amazonbot
User-agent: CCBot
User-agent: Bytespider
Disallow: /

Questions

Can I edit robots.txt in Framer?
Not in an editor. You upload a complete robots.txt as a static file with the path set to /, and it replaces the generated one. Static files need a Pro or Enterprise plan. On other plans you keep Framer's default.
Does Framer allow AI crawlers?
Yes. Framer's help center says all AI and search crawlers are allowed by default in the auto-generated robots.txt. If you upload your own file, you take over that decision, so copy over anything you still need.
Where is the Framer sitemap?
Add /sitemap.xml to your published domain, including .framer.website addresses. Framer generates it automatically and updates it when you publish. Submit that URL in Google Search Console.
How do I add schema markup in Framer?
Write JSON-LD inside a script tag of type application/ld+json and add it through Custom Code in the head. On CMS pages use {{Title | json}} style variables so each item gets its own values, then check the live page with Google's Rich Results Test.

Other website builders and cmss

Related

Sources

Checked against these pages on 2026-10-19. Operators change their crawlers; check the source before relying on a detail.