LTLLMTXT.co
Framer Guide

How to Add llms.txt to a Framer Site

Framer is a polished, closed publishing platform — wonderful for design, restrictive when you need a raw file at your root. There is no FTP and no way to upload a llms.txt directly. This guide covers the two methods that genuinely work on Framer and is candid about the trade-offs of each.

https://

Generate the content first

Both Framer methods deliver the same file, so generate it first. Our tool reads your published pages and produces a clean, structured llms.txt. Enter your Framer domain, review, and keep the file for the delivery step.

Generate your file:

https://

What the file should contain

The llms.txt format is plain Markdown: an H1 with your name, a summary blockquote, and grouped links to your canonical pages. Point only at public URLs that return 200 on your live Framer site.

# Your Business Name

> One sentence describing what your Framer
> site offers and who it is for.

## Product
- [Features](https://yourdomain.com/features): What it does.
- [Pricing](https://yourdomain.com/pricing): Plans.

## Work
- [Case Studies](https://yourdomain.com/work): Selected projects.

## Company
- [About](https://yourdomain.com/about): The story.
- [Contact](https://yourdomain.com/contact): Reach us.

Save it as plain text named llms.txt. You will host this exact content in whichever method you choose.

Method 1: A redirect to a hosted copy

Framer's site settings include a redirects panel. Host your llms.txt somewhere you control raw output — an object-storage bucket, a GitHub raw URL, or another static host — then add a redirect:

From:  /llms.txt
To:    https://files.example-host.com/llms.txt
Type:  Permanent (301)

This is the fastest route and needs no DNS changes. The honest caveat: a request to /llms.txt receives a redirect rather than the content directly. Reputable crawlers follow it, but if you want a clean 200 use Method 2.

Method 2: A reverse proxy (Cloudflare)

For a direct response at your root, route your domain through a proxy such as Cloudflare and intercept only the one path. Point your DNS at Cloudflare (keeping Framer's required records proxied), then add a Worker or rule that returns your Markdown for /llms.txt and passes everything else through to Framer:

export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    if (url.pathname === "/llms.txt") {
      return new Response(env.LLMS_TXT, {
        headers: { "content-type": "text/plain; charset=utf-8" },
      });
    }
    return fetch(request); // pass through to Framer
  },
};

Store the file body in a Worker variable, KV, or environment binding. This yields a clean, cache-friendly text/plain response at the canonical URL and leaves the rest of your Framer site untouched.

Verify it works

1

Open the URL

Visit https://yourdomain.com/llms.txt. With Method 1 you land on the hosted copy; with Method 2 you see plain-text Markdown with no redirect.

2

Inspect the response

curl -I to confirm a 301 that resolves to your file (Method 1) or a direct 200 as text/plain (Method 2).

3

Validate links

Every URL in the file must return 200 on your live Framer site. Broken links are worse than omitting them.

4

Run a visibility check

Use our AI Visibility tool to confirm the file is reachable and parseable from outside your network.

Frequently Asked Questions

Can I upload a raw file to my Framer site root?

No. Framer is a closed, fully managed publishing platform with no FTP, file manager, or way to place a raw .txt at your domain root as of mid-2026. Content is generated from your Framer project, so serving a plain-text file at /llms.txt requires a redirect or a proxy layer.

Does Framer's redirect feature reach /llms.txt?

Framer supports redirects in site settings, which you can point from /llms.txt to a copy hosted elsewhere. Crawlers that follow redirects will resolve it. Because the response is a redirect rather than a direct 200, it works but is a touch less clean than serving the content in place.

What is the cleanest option on Framer?

Put your domain behind a proxy such as Cloudflare and add a Worker or rule that returns the file for /llms.txt while forwarding everything else to Framer. That produces a direct 200 at the canonical path and never affects the rest of your Framer site.

Where does the file actually live in these approaches?

You host the Markdown wherever you control raw responses — a Cloudflare Worker, an object-storage bucket, a small serverless endpoint, or another static host. The redirect or proxy simply maps your domain's /llms.txt path to that content. Framer keeps serving your designed pages.

Does llms.txt guarantee AI systems will use my Framer content?

No. As of mid-2026 llms.txt is a proposed, advisory standard with no enforcement, and support varies across AI systems. There is no guarantee any model will fetch or act on your file. It is a low-cost signal worth publishing, not a guarantee.

Generate Your llms.txt for Framer

Enter your Framer domain and get a ready-to-host llms.txt file. Then wire it up with a redirect or a Cloudflare Worker.

https://