---
title: "Agent ready checklist: Framer | Agent Ready Checklist"
description: "The agent readiness checklist for Framer. All 31 rows, with a verify command for each. The first step of its recipe sits beside each row."
canonical: https://agentreadychecklist.com/platform/framer/checklist
site: "Agent Ready Checklist"
last_updated: 2026-11-05
section: "Platforms"
---

# Agent ready checklist: Framer | Agent Ready Checklist

> The agent readiness checklist for Framer. All 31 rows, with a verify command for each. The first step of its recipe sits beside each row.

Source: https://agentreadychecklist.com/platform/framer/checklist
Site: Agent Ready Checklist
Last reviewed: 2026-11-05
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# Agent ready checklist: Framer

The checklist for Framer: all 31 rows, with the first step of the recipe where one exists. Versions were read on 2026-11-04; the verify command sits beside each row. The first recipe, for AR-FIND-01, begins: Keep the generated robots.txt unless you need exclusions; if you upload a custom one, keep User-agent: \* with only deliberate Disallow lines.

## Verify with Ora

Framer has a direct recipe for 22 rows, and Ora's catalogue (read 2026-11-05) names a matching check for 18 of them, among them AR-FIND-01, AR-FIND-03, AR-FIND-04. After the steps are live, one audit shows which of those fixes the score picks up.

```bash
npx ax@0.10 audit https://example.com --min-score 70
```

Run it again with `--force` after a deploy, so the audit skips Ora's cache. [Gate deploys on it in CI](https://agentreadychecklist.com/guides/gate-deploys-on-agent-readiness-in-ci/), [why this site recommends Ora](https://agentreadychecklist.com/verify-with-ora/), [the crosswalk of rows and checks](https://agentreadychecklist.com/checklist/ora-checks/).

## All 31 rows on Framer

| Identifier | Level | Layer | What it asks | Verify command | On Framer |
| --- | --- | --- | --- | --- | --- |
| AR-FIND-01 | MUST | Find | Do not block agents | verify.sh --only=reach-as-agent,robots-verdicts | recipe: Keep the generated robots.txt unless you need exclusions; if you upload a custom one, keep… |
| AR-FIND-02 | SHOULD | Find | Answers on one first-party page | manual check, see the page | recipe: Publish each answer once, as a page on your own domain. |
| AR-FIND-03 | SHOULD | Find | Sitemap listed in robots.txt | verify.sh --only=sitemap-listed | recipe: /sitemap.xml is automatic. |
| AR-FIND-04 | MAY | Find | AI Catalog at .well-known | verify.sh --only=ai-catalog | recipe: Site Settings > Hosting > Files > Add, upload ai-catalog.json with path /.well-known,… |
| AR-READ-01 | MUST | Read | Answer in the initial HTML | verify.sh --only=initial-html | recipe: Pages are pre-rendered to HTML on Framer's servers. |
| AR-READ-02 | MUST | Read | Real HTTP status codes | verify.sh --only=status-codes | recipe: Add a 404 page (Pages panel > + > New 404 Page) and add 301s in Site Settings > Hosting >… |
| AR-READ-03 | SHOULD | Read | Home page with real links | verify.sh --only=initial-html | recipe: Link Docs, Product and Pricing from the navigation and footer; Framer's markdown output… |
| AR-READ-04 | SHOULD | Read | Docs that answer agent tasks | manual check, see the page | recipe: For each of your top five agent tasks, write a page that holds the steps as text, in… |
| AR-READ-05 | SHOULD | Read | Fenced, language-tagged code | verify.sh --only=code-fences | workaround: Import snippets through CMS markdown and confirm the published page shows `<pre><code… |
| AR-READ-06 | SHOULD | Read | Link the discovery files | verify.sh --only=llms-linked,openapi | recipe: Add footer links to /llms.txt and head Custom Code `<link rel="alternate"… |
| AR-READ-07 | SHOULD | Read | Ship llms.txt | verify.sh --only=llms-linked | recipe: Site Settings > Hosting > Files, upload llms.txt with path /, publish, open /llms.txt to… |
| AR-READ-08 | SHOULD | Read | JSON-LD on key pages | verify.sh --only=json-ld | recipe: Project Settings > Custom Code > Add Script in the head; for CMS pages use variables such… |
| AR-READ-09 | MAY | Read | Advertise a markdown mirror | verify.sh --only=markdown-negotiation | recipe: Markdown is served at the same URL and at `?md`. |
| AR-READ-11 | SHOULD | Read | Pricing as first-party HTML | verify.sh --only=initial-html | recipe: Write plans and limits as text layers or CMS fields; check… |
| AR-ACT-01 | SHOULD | Act | Auth an agent can finish | verify.sh --only=oauth-metadata | workaround: Workaround: run the identity provider or authorization server on a subdomain or API domain… |
| AR-ACT-02 | SHOULD | Act | OpenAPI contract | verify.sh --only=openapi | recipe: Upload openapi.json as a Static File at path / and link it from the footer. |
| AR-ACT-03 | SHOULD | Act | MCP over Streamable HTTP | verify.sh --only=mcp-or-cli | workaround: Framer Static Files hosts uploaded files at a path you choose, and the page describes no… |
| AR-ACT-04 | MAY | Act | MCP server card | verify.sh --only=mcp-or-cli | workaround: This platform builds no MCP server, so the card would describe a server you host elsewhere. |
| AR-ACT-05 | MAY | Act | MCP Apps view | manual check, see the page | workaround: Framer Static Files hosts uploaded files at a path you choose, and the page describes no… |
| AR-ACT-06 | SHOULD | Act | SDKs and a CLI | verify.sh --only=mcp-or-cli | recipe: Publish the SDK and the CLI from the product's own repository to npm or PyPI; the website… |
| AR-ACT-07 | SHOULD | Act | WebMCP tools | verify.sh --only=webmcp | recipe: Project Settings > Custom Code > end of body, Run on every page visit: `<script>if… |
| AR-ACT-08 | MAY | Act | Agent payments | curl -s -o /dev/null -w "%{http_code}" <paid-endpoint> | workaround: Framer Static Files hosts uploaded files at a path you choose, and the page describes no… |
| AR-ACT-09 | MAY | Act | NLWeb /ask endpoint | curl -s "<origin>/ask?query=pricing" \| jq -e "." | workaround: Framer Static Files hosts uploaded files at a path you choose, and the page describes no… |
| AR-ACT-10 | MUST | Act | An MCP server or a CLI | verify.sh --only=mcp-or-cli | recipe: A CLI meets AR-ACT-10 on any platform: publish it as described in the AR-ACT-06 recipe… |
| CF-CONTENT-SIGNALS | CLOUDFLARE | Find | Content-Signal line | verify.sh --only=robots-verdicts | recipe: Upload a custom robots.txt via Static Files containing `User-agent: *`, `Content-Signal:… |
| CF-PAY-PER-CRAWL | CLOUDFLARE | Find | Pay per crawl, HTTP 402 | curl -s -o /dev/null -w "%{http_code}" -A "GPTBot/1.0" <url> | workaround: Pay per crawl is a feature of Cloudflare AI Crawl Control, set per Cloudflare zone and in… |
| VERCEL-ROBOTS-EXCLUSIONS | VERCEL | Find | Robots exclusions | verify.sh --only=robots-verdicts | recipe: Open the robots.txt that Framer serves for your site and read every Disallow; each one… |
| CF-MARKDOWN-NEGOTIATION | CLOUDFLARE | Read | Markdown by Accept | verify.sh --only=markdown-negotiation | recipe: Built in, no setup: `curl -sI -H 'Accept: text/markdown' https://example.com/ \| grep -i… |
| VERCEL-NEGOTIATION-HEADERS | VERCEL | Read | Markdown headers | verify.sh --only=markdown-negotiation | recipe: Nothing to set; framer.com returned `content-type: text/markdown; charset=utf-8` with… |
| CF-OAUTH-DISCOVERY | CLOUDFLARE | Act | OAuth discovery files | verify.sh --only=oauth-metadata | workaround: Static Files accepts files without extensions, but their MIME type decides whether they… |
| CF-AGENT-SKILLS | CLOUDFLARE | Act | Agent Skills index | verify.sh --only=agent-skills | recipe: Upload index.json at path /.well-known/agent-skills and each SKILL.md as a Static File;… |

## Sources

-   [ora.ai/api/checks, contract 1.38.0](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=platform-checklist)read 2026-11-05
-   [registry.npmjs.org/ax, the ax README](https://registry.npmjs.org/ax)read 2026-11-05
-   [framer.com/help/articles/how-can-i-access-the-robots-txt-file/](https://www.framer.com/help/articles/how-can-i-access-the-robots-txt-file/)read 2026-11-04
-   [framer.com/help/articles/how-can-i-access-the-sitemap-xml-file/](https://www.framer.com/help/articles/how-can-i-access-the-sitemap-xml-file/)read 2026-11-04
-   [framer.com/help/articles/structured-data-through-json-ld/](https://www.framer.com/help/articles/structured-data-through-json-ld/)read 2026-11-04
-   [framer.com/help/articles/creating-a-custom-not-found-404-page/](https://www.framer.com/help/articles/creating-a-custom-not-found-404-page/)read 2026-11-04
-   [framer.com/help/articles/how-to-use-custom-headers/](https://www.framer.com/help/articles/how-to-use-custom-headers/)read 2026-11-04
-   [framer.com/help/articles/make-site-readable-by-ai-agents/](https://www.framer.com/help/articles/make-site-readable-by-ai-agents/)read 2026-11-04
-   [framer.com/help/articles/llms-txt-framer/](https://www.framer.com/help/articles/llms-txt-framer/)read 2026-11-04
-   [framer.com/help/articles/static-files/](https://www.framer.com/help/articles/static-files/)read 2026-11-04

Last reviewed 2026-11-05. AgentReady v2.0, read 2026-11-04.
