What is optimization?
Framer sites are JavaScript apps built with React that render in the browser. For top speed, SEO, and AI, we pre-render pages on our servers. Then the browser or crawler can skip that work, leading to faster page loads. This is called server-side rendering.
In the past, we optimized every page on publish. But Framer now has more dynamic options like localization and A/B testing. One page can turn into many page variations. Too many to render all at once.
Dynamic optimization
We’re changing when we optimize pages. Instead of optimizing all pages on publish, we optimize each page the first time a user visits it. After that, the optimized version is stored in a cache until you publish a new version of your site.
This means optimization, which could take up to a minute for larger sites, is now essentially gone. It’s typically a second or less, no matter how many pages your site has.
To make this work well, we made single page rendering very fast. Even if the first visit is less than 0.01% of visits, every visit counts. We did this by rethinking how we render sites and adopting a new bundler and compiler.
Framer also knows your most popular pages from analytics. As an extra boost, it pre-optimizes these pages before they get any visitors.
Rollout
We will be gradually rolling out dynamic optimization across all sites throughout October 2025. You don’t have to do anything special to get it. If you see the new status labels below, your site is using on-demand optimization:
Pre-Optimizing (was Optimizing): preparing dynamic optimization and optimizing top pages.
Ready (was Optimized): top pages are optimized; the rest are ready for dynamic optimization.
Things to know
These are some advanced behaviors that technical people might want to know:
Right after a publish, all pages are new. If you use a tool that happens to test speeds right after a publish, results can look off. Aggregated performance scores like CrUX are not affected, since the overwhelming majority of the visitors will get the optimized page.
If the the page gets visited by a crawler that that doesn’t run JavaScript, and that page wasn’t yet optimized, we’ll serve them the latest available optimized version instead. This makes dynamic optimization friendly for AI and social media bots.
As a direct result of the two points above, this change won’t impact SEO. Indirectly, it might help, since it allows us to pre-render more pages and introduce more dynamic options and page variations to further tailor your sites to your visitors.
If dynamic optimization runs into an error that could have a major impact on the page, we’ll send you an email. These are very rare. Optimization warnings, such as nested links or custom code bugs, have minimal impact, and only affect part of a page.

