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:
- Write a
robots.txtlocally. Start from your live file atyourdomain.com/robots.txtso you don't lose theSitemapline. - Open Site Settings > Hosting > Files and click Add.
- Upload the file and set its path to
/. - Publish, then reload
/robots.txtto 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
# 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.
- Framer Help: Access your robots.txt file
- Framer Help: Make your site readable by AI agents
- Framer Help: How to access your sitemap
- Framer Help: Add an llms.txt file to your site
- Framer Help: Static files
- Framer Help: Structured data through JSON-LD
- Framer Help: Prevent pages from being indexed by search engines