The short answer
Choose Framer when a designer or a small marketing team will build and change pages themselves, the site leans on motion, and ten people with edit access are enough. Choose Astro when developers already make most changes, you want the code in your own repository and on a host you pick, or the site needs things Framer limits or doesn't offer: redirects to other domains, your own form backend, content that also feeds an app or a help center.
On two counts they are closer than their reputations. In September 2026, 71.1% of Astro sites and 70.8% of Framer sites passed Core Web Vitals on mobile, and for a typical 25-page site the yearly platform bill differs by a few hundred dollars. The real differences are who can change a layout without a developer, what you can take with you if you leave, and page weight: the median Astro home page weighed less than half as much as the median Framer one.
We build on both, through our Framer development and Astro development services, and dardo.studio runs on Astro on Cloudflare Workers with a headless CMS. Prices below are in US dollars, before tax, as of October 2026.
Who edits the site, and how
Framer is a visual canvas that also hosts and publishes. A designer lays out a page, adds effects and presses publish, and the CMS, translations and hosting live in the same tool. Framer sells two kinds of edit seat: an editor, at USD 20 a month billed yearly, designs, edits and publishes; a content editor, at USD 10, updates CMS items, translations and on-page text. The workspace owner and viewers are free. Basic and Pro stop at ten people with edit access, and on Pro only members with the Deploy permission push changes from staging to the live site.
Astro is a framework, so editing splits in two. Content lives in a headless CMS, where editors fill fields, preview drafts and publish, or in Markdown files in a Git repository. Layout lives in code: a new page design, a new section type or a navigation change is a pull request that a developer writes and someone reviews. Astro's documentation has guides for dozens of CMSs, from Sanity, Contentful, Storyblok and Payload to Git-based editors such as Keystatic, Decap and TinaCMS.
A block-based content model narrows the gap. On dardo.studio, an editor builds a page from sections in the CMS, adding, ordering and filling them, and each section's design is a component a developer built once. A new landing page made from existing sections needs no developer; a section that doesn't exist yet does. Publishing starts a rebuild, and an article goes live two to three minutes later.
| Task | Framer | Astro with a headless CMS |
|---|---|---|
| Fix a typo or publish a post | Content editor, on the page or in the CMS | Editor, in CMS fields; live after a rebuild |
| New page from existing sections | Designer or editor, on the canvas | Editor, from CMS blocks, if the content model has them |
| New layout or section design | Designer, on the canvas | Developer, in code, through review |
| New animation | Designer, with built-in effects | Developer, in CSS or JavaScript |
| Review before going live | Staging and the Deploy permission, on Pro | CMS draft preview and code review in Git |
What a 25-page SaaS site costs a year on each
The example: a SaaS company's 25-page marketing site with a blog of about 150 posts and an authors collection, in English, under 50 GB of traffic a month. It replaces an older site, so the old URLs need redirects. The founder owns the account, a designer changes layouts and a content marketer publishes posts. Platform fees only, billed yearly; the domain, taxes and the build itself are left out.
| Line | Framer | Astro on Cloudflare with Sanity |
|---|---|---|
| Plan or hosting | Pro, USD 30 a month | Cloudflare Workers, USD 0 to 5 |
| Founder | Workspace owner, free | Sanity seat, USD 0 to 15 |
| Designer | Editor seat, USD 20 | No platform seat; layout changes go to a developer |
| Content marketer | Content editor seat, USD 10 | Sanity seat, USD 0 to 15 |
| Per month | USD 60 | USD 0 to 35 |
| Per year | USD 720 | USD 0 to 420 |
What we assumed. Framer Pro, because Framer lists site redirects on Pro only; a brand-new site with nothing to redirect fits Basic at USD 10 and comes to USD 480 a year. Billed monthly, Pro and the two seats cost USD 45, 30 and 15, or USD 1,080 a year. On Astro, Cloudflare doesn't charge for requests to static assets, its free Workers plan includes 100,000 requests a day for a form handler, and Workers Paid is USD 5 a month. Sanity's Free plan allows up to 20 users but only Administrator and Viewer roles, so the upper figure puts the founder and the marketer on Growth, at USD 15 a seat. A Spanish version would add USD 20 a month on Framer; Sanity's Free plan includes unlimited locales.
The table leaves out the line that decides most projects: developer time. On Framer, the designer's seat covers layout changes. On Astro, every new section design is development work, and someone has to apply framework upgrades: Astro 7 shipped in June 2026, three months after Astro 6, and Astro gives security fixes only to the previous major version. If nobody on your team writes code, budget for someone who does. Our website maintenance plans start at USD 79 a month, which would put the Astro site at about USD 950 to 1,370 a year, more than Framer.
Every Framer plan, seat and add-on is in our Framer pricing guide, and our Webflow renewal calculator prices Framer, Webflow and a coded site side by side from your own numbers.
Speed: the same pass rate at less than half the weight
The HTTP Archive's technology report measures every site it detects on each platform. In September 2026, Astro and Framer sites passed Core Web Vitals on mobile at almost the same rate. The median pages behind that rate looked very different.
| September 2026, mobile | Astro | Framer |
|---|---|---|
| Sites measured | 47,277 | 11,319 |
| Passing all three Core Web Vitals | 71.1% | 70.8% |
| Good loading (LCP) | 81.1% | 83.4% |
| Good responsiveness (INP) | 85.0% | 80.3% |
| Good layout stability (CLS) | 93.6% | 94.2% |
| Median page weight | 1.36 MB | 3.08 MB |
| Median JavaScript | 409 KB | 816 KB |
| Median images | 355 KB | 956 KB |
| Median Lighthouse performance score | 70 | 67 |
| Passing on desktop | 84.6% | 87.9% |
Why the pass rates are close when the weight isn't. Core Web Vitals is a pass mark, not a score: a site passes when its real Chrome visits are good on loading, responsiveness and layout stability at the 75th percentile of page loads, and a site that clears the bar by a wide margin counts the same as one that barely clears it. Framer handles the basics for every customer, serving pages and resized images from its CDN, so a typical Framer site starts above the line. And the two miss in different places. Framer sites more often load their main content quickly; Astro sites more often respond quickly to a tap, which fits Framer sending twice as much JavaScript for its runtime to run in the browser. Folded into one pass rate, those differences cancel out.
Weight still matters at the edges. A 3 MB page asks more of a slow phone on a busy network than a 1.4 MB one, and every chat widget, video and tag added after launch lands on top of that baseline. In the United States, where devices and networks are faster, both pass more often and the gap stays small: 84.2% of Astro sites and 81.7% of Framer sites.
One caveat covers all of these numbers. The report measures the sites detected on each platform, and its page weight and Lighthouse figures come from their home pages. Astro's and Framer's audiences differ, so the data describes typical sites, not what a careful build achieves on either. Our website platform speed report shows the same data by country.
Motion and design freedom
Framer is the faster way to get motion onto a page. Appear and scroll effects, hover states and page transitions built on the View Transitions API are part of the canvas, so a designer can pace a launch page without code. When the canvas runs out, Framer's code components are React components that a developer writes, and they can render anything.
Astro has no canvas and no motion limits of its own. Anything a browser can run is available: CSS animation, GSAP, WebGL and three.js, and view transitions, either native between pages or through Astro's client router, which turns the animations off for visitors who ask for reduced motion. The cost is that every effect is code. A designer prototypes the motion, and a developer builds it and checks what it costs on a mid-range phone.
Motion can move between the two. In one of our own Framer-to-Astro rebuilds, an 18-route site that wasn't a client project, 217 of 219 scroll and interaction states matched the Framer original within a 1% pixel difference. Framer stores appear effects as data in the published page, so their timing can be read and rebuilt in CSS or a small script.
SEO and AI-search controls
Either can rank a site; content, competition and links decide that. What differs is how much of the technical layer you can change.
| Control | Framer | Astro |
|---|---|---|
| Titles, descriptions, Open Graph | Per page and per CMS template, in settings | Output by your templates, usually from CMS fields |
| Sitemap | Automatic | Built by the @astrojs/sitemap integration |
| robots.txt | Generated; AI and search crawlers allowed by default; specific agents can be restricted in site settings | A file or endpoint you write, with any rules you need |
| llms.txt | Uploaded as a static file, on Pro and Enterprise | A file you add, or generate from your content at build |
| Structured data | JSON-LD added as custom code | JSON-LD generated in templates from CMS data |
| Redirects | Pro only, for paths on the same domain | Rules at your host, such as Cloudflare's _redirects file, with up to 2,000 static and 100 dynamic rules |
| hreflang | Set automatically, not editable | Whatever your i18n routing outputs |
| Markdown for AI agents | Served automatically on optimized pages when an agent asks for it | Possible, if a developer builds it |
Framer gives you sensible defaults on day one and a ceiling on how far you can change them, plus one useful extra: it returns a Markdown version of a page to agents that ask for one. Astro gives you nothing until someone builds it, and no ceiling after that. Our guides to Framer SEO, Astro SEO and llms.txt go further.
Lock-in: what you can take with you
Framer's help center says it doesn't offer HTML export for self-hosting. CMS content exports through plugins as CSV or JSON, and images and files stay on Framer's CDN until you download them. When we built a tool to capture published Framer pages for a rebuild, the result still depended on Framer: forms had no action of their own, the runtime re-inserted elements after the page loaded, and canonical and Open Graph tags pointed at the Framer address. Leaving Framer means rebuilding the site.
An Astro site is code in your repository, built on an open-source framework. Astro's deploy guides cover hosts such as Cloudflare, Netlify, Vercel, GitHub Pages, AWS and Render, and official adapters for Cloudflare, Netlify, Node and Vercel handle pages rendered on request. Content sits in a CMS you choose, and some, such as Payload, can be self-hosted. Changing CMS later is a content migration, not a redesign.
When to choose Framer, Astro or neither
Choose Framer when
- A designer or a small team owns the site and wants to ship changes the same day.
- The story leans on motion, and the positioning changes every few months.
- Ten people with edit access are enough, and Pro's 150 pages, 10 collections and 2,500 CMS items before add-ons cover the content.
- You're comfortable with Framer hosting the site for as long as you use it.
Choose Astro when
- Developers already make most changes and want code review in a repository.
- The site shares components, data or a domain with your product.
- You need redirects across domains, your own form backend or full control of robots.txt, llms.txt and structured data.
- Content has to feed more than the website, through a headless CMS.
- You want the lightest pages you can get, and someone to keep them that way.
Choose neither when
- Several marketers publish structured content and need more than ten seats. Webflow sells as many seats as you need and includes 20,000 CMS items on Premium; our Webflow vs Framer comparison covers that choice.
- The project is mostly a signed-in product with dashboards and accounts. Next.js fits that better, as Astro vs Next.js explains.
- Your current site works and the only complaint is speed. Images, fonts and scripts can usually be fixed where the site already lives.
Moving from Framer to Astro, or back
Framer to Astro is a rebuild, not an export. The order that keeps the design and the rankings: inventory every URL from the sitemap and Search Console; export the CMS with plugins and download every asset; capture the published site at each breakpoint as a reference; rebuild the templates as Astro components and the CMS as content collections or a headless CMS; recreate the motion that carries meaning; give every form its own endpoint; then set a 1:1 permanent redirect for every URL that changes.
Put those redirects at the host. A static Astro build without an adapter turns configured redirects into meta-refresh pages with no HTTP status code, so the 301s belong in your host's rules. Our Framer to Astro guide walks through each step, and our Framer to Astro migration service runs it: a reference capture of every template, server-side 301s, and search reviews 30 and 60 days after launch.
Going the other way, from Astro to Framer, the content travels better than the design. Framer's CMS imports CSV, so collections can be exported from your CMS and mapped, while every page is rebuilt on the canvas. Redirects need Pro and only cover paths on the same domain. Send us the site and what you want to change, and we'll tell you whether a move is worth it before quoting one.
Common questions
Is Astro faster than Framer?
On page weight, yes: in September 2026 the median Astro home page weighed 1.36 MB on mobile against 3.08 MB on Framer, with half the JavaScript. On Core Web Vitals, barely: 71.1% of Astro sites and 70.8% of Framer sites passed on mobile, because most sites on both clear the bar. What you add after launch, such as video, chat and tag managers, usually decides whether your own pages pass.
Can marketers edit an Astro site without a developer?
Content, yes; layout, only within what a developer built. With a headless CMS, editors write, preview and publish posts and pages in a web interface, and with block-based pages they can assemble new landing pages from existing sections. A new section design, a navigation change or a new animation is code. If your marketers redesign pages every week, Framer suits them better.
Is Framer cheaper than Astro?
On platform fees, no. Our 25-page example costs USD 720 a year on Framer Pro with two paid seats and USD 0 to 420 on Astro with Cloudflare and Sanity, as of October 2026. Add developer time and the order can flip: if you pay someone for upkeep, from USD 79 a month on our maintenance plans, the Astro site costs about USD 950 to 1,370 a year.
Can I export a Framer site to Astro?
Not directly. Framer's help center says it doesn't offer HTML export for self-hosting, and CMS content exports through plugins as CSV or JSON. A move is a rebuild: capture the published site as a reference, rebuild the templates in Astro, import the content, recreate the motion, give forms their own endpoint and redirect every URL that changes.
Which is better for SEO, Framer or Astro?
Neither ranks a site by itself. Framer handles titles, sitemaps, robots.txt and hreflang automatically, but redirects and llms.txt uploads need Pro, hreflang can't be edited and structured data is JSON-LD you add yourself. Astro lets you control every tag, rule and redirect, but only once a developer builds them. Content, links and competition still decide rankings.
Can we design in Framer and build in Astro?
Yes, and it suits teams that think visually but want to own the code. Treat the Framer file or prototype as the reference: a developer rebuilds each section as an Astro component and each effect in CSS or a small script. Framer's runtime doesn't come across.
Sources & further reading
Sources behind this page, with further detail from the original publishers.
- HTTP Archive: Technology report (Core Web Vitals, page weight and Lighthouse by platform)httparchive.org
- Framer: Pricingframer.com
- Framer Help: Members, roles, and permissionsframer.com
- Framer Help: Can I export my website to HTML and self-host it?framer.com
- Framer Help: Porting your data from Framerframer.com
- Framer Help: How to set up redirectsframer.com
- Framer Help: Guide to SEO features and toolsframer.com
- Framer Help: Add an llms.txt file to your siteframer.com
- Framer Help: Make your site readable by AI agentsframer.com
- Framer Help: Language attributeframer.com
- Framer Academy: Create page transitions with Page Effectsframer.com
- Framer Academy: Import CSV data into the Framer CMSframer.com
- Framer: Developers (code components and overrides)framer.com
- Astro Docs: Islands architecturedocs.astro.build
- Astro Docs: Use a CMS with Astrodocs.astro.build
- Astro Docs: Deploy your Astro sitedocs.astro.build
- Astro Docs: View transitionsdocs.astro.build
- Astro Docs: @astrojs/sitemapdocs.astro.build
- Astro Docs: Configuration reference (redirects)docs.astro.build
- Astro Docs: Upgrade Astro (support for previous versions)docs.astro.build
- Astro: Astro 7.0astro.build
- Cloudflare Docs: Workers pricingdevelopers.cloudflare.com
- Cloudflare Docs: Redirects for static assetsdevelopers.cloudflare.com
- Sanity: Pricingsanity.io
