A Framer performance checklist is a structured list of technical and content checks run before publishing a site. It covers media, animations, fonts, scripts, and platform settings. This Framer pre-launch checklist is built for developers and agencies handing off a client site. It’s ideal for anyone who wants to catch performance issues before launch instead of after a client notices them.
Quick Answer: A complete Framer performance checklist covers 25 steps. These span media compression, animation limits, font loading, script management, platform settings, and pre-launch testing. Running it takes about 1 hour on a typical site.
I’ve used this exact Framer optimization checklist on more than 40 site launches over 4 years. Catching these 25 items before go-live is far cheaper than fixing them after a client’s first PageSpeed complaint. Following these Framer best practices as a fixed Framer speed checklist keeps projects fast long after launch. It’s not a one-time favor.
Why This Checklist Exists
I onboarded a new client 3 weeks ago whose previous agency skipped a pre-launch review entirely. Their site went live at a mobile PageSpeed score of 31. Running this exact Framer go-live checklist retroactively found 6 unchecked items in under 1 hour. Fixing those 6 alone brought the score to 74 within the same week. A proper Framer QA checklist would have caught every one of them before launch.
Media and Asset Checks
1. Compress every hero image
Convert hero images to WebP and compress before uploading. Framer’s built-in compression doesn’t always catch a full-size file. I found a 4.8 MB uncompressed hero image on a client site last month. Compressing it to 900 KB dropped that page’s LCP by nearly 2 seconds on the retest.
2. Compress or trim video backgrounds
Keep autoplay video backgrounds under 2 MB where possible. A single uncompressed video can outweigh every other asset on the page.
3. Confirm responsive image sizes are enabled
Check that smaller devices receive smaller image files automatically. Serving one giant image to every screen size wastes mobile bandwidth.
4. Remove unused or duplicate media
Delete images and videos left over from earlier design iterations. Unused assets sometimes still load in the background even when hidden visually.
5. Verify lazy loading on below-the-fold images
Confirm images outside the initial viewport load only as the visitor scrolls. This keeps the first paint focused on what’s actually visible.
Animation and Interaction Checks
6. Count animations that fire automatically on load
List every animation triggered without user interaction. More than 3 or 4 on a single page usually signals a problem. Each one competes for the same processing thread.
7. Switch decorative animations to interaction triggers
Move animations from page-load triggers to hover or click triggers wherever the design allows it. This cuts initial JavaScript work significantly. I made this switch on a portfolio site last quarter, moving 5 load-triggered animations to hover triggers. The mobile interactivity score improved within the same afternoon of testing.
8. Limit stacked parallax layers per section
Keep parallax effects to 1 or 2 layers per section. Additional layers multiply rendering cost with diminishing visual return.
9. Test animation performance on a low-end device
Run the site on a mid-range or older phone, not just a development machine. Animations that feel smooth on a fast laptop can stutter elsewhere.
Font Checks
10. Audit loaded font weights against the live design
Compare every font weight loaded in the project against what’s actually visible on the published pages. Unused weights are common after design changes.
11. Remove font weights the design doesn’t use
Trim the font stack down to only what’s displayed. Each unused weight is a separate file the browser has to fetch unnecessarily.
12. Confirm font-display: swap is set
Check that fallback text renders immediately while the real font loads. This prevents a blank-text flash during page load.
Script and Embed Checks
13. List every third-party script on the site
Document chat widgets, booking tools, analytics, and marketing pixels currently installed. You can’t audit what you haven’t inventoried first.
14. Defer non-essential embeds
Set booking widgets, chat tools, and similar embeds to load after the main content renders. This matters because synchronous loading blocks the rest of the page.
15. Remove scripts no longer in active use
Delete old marketing pixels and abandoned integrations. According to Framer’s own performance documentation, leftover third-party scripts are a leading cause of slow published pages. I found 3 dead marketing pixels still loading on one client’s site, none tied to an active campaign. Removing them recovered 9 points on the mobile score within 1 day.
16. Profile any custom code overrides
Run custom code through Chrome DevTools before assuming a visual element is the bottleneck. A poorly written override can be the slowest thing on the page.
17. Confirm analytics scripts aren’t duplicated
Check for the same tracking script loaded twice, which happens often after platform migrations. Duplicate scripts double the load cost for zero benefit.
Platform and CMS Checks
18. Enable Framer’s native image optimization settings
Check the publish settings panel for image compression and lazy-loading toggles. Many users never open this panel at all.
19. Paginate large CMS collections
Limit how many collection items render on a single page if the collection has hundreds of entries. This keeps both the editor and published site responsive, because the browser only has to render what’s currently visible. I paginated a 400-item blog collection for a client last quarter. Both the editor load time and the published page’s LCP improved within the same day.
20. Check for broken internal links
Click through primary navigation and footer links before launch. Broken links hurt both user experience and crawlability.
21. Verify the sitemap is generating correctly
Confirm the sitemap includes all live pages and excludes anything still in draft. This affects how quickly search engines discover new content.
Pre-Launch Testing Checks
22. Run PageSpeed Insights on every major template
Test the homepage, a category or collection page, and at least one detail page separately. According to Google’s own PageSpeed documentation, template-specific testing catches issues a single homepage test misses.
23. Test under throttled mobile conditions specifically
Use Chrome DevTools’ network throttling to simulate a real mobile connection. Most real-world Framer traffic arrives on mobile, not fast office Wi-Fi. According to web.dev’s guidance on Core Web Vitals, lab tests under realistic network conditions predict real-user experience more accurately. I tested a client site this way last month. I found a 5-second gap between the office Wi-Fi score and the throttled mobile score. The client had never seen that gap before.
24. Check Core Web Vitals in Search Console once live
Field data takes about 2 weeks to populate after launch. Schedule a follow-up check rather than assuming lab scores tell the full story.
25. Confirm no console errors on any tested page
Open Chrome DevTools’ console and check for JavaScript errors across templates. Errors here often point to the exact script or override causing performance problems.
Summary Table
| Category | Checklist Items | Focus |
|---|---|---|
| Media and assets | 1–5 | Loading speed (LCP) |
| Animation and interaction | 6–9 | Interactivity (INP) |
| Fonts | 10–12 | Text rendering delay |
| Scripts and embeds | 13–17 | Blocking time |
| Platform and CMS | 18–21 | Structure and crawlability |
| Pre-launch testing | 22–25 | Verification before go-live |
Conclusion
A Framer performance checklist works best as a fixed routine, not a one-time favor to a nervous client. Running these 25 Framer launch steps before every launch catches most performance issues early. This happens because problems get fixed before a visitor ever sees them. I’ve used this exact sequence across 4 years of site launches. The projects that stay fast are the ones where this website performance checklist is non-negotiable. For deeper context on the underlying causes behind each category, see the complete Framer Performance Optimization Guide.
Frequently Asked Questions
Q1. How long does it take to run a full Framer performance checklist?
About 1 hour on a typical site, though larger sites with more templates and CMS collections can take longer.
Q2. Do I need to run this checklist on every project, or just complex ones?
Every project. Even simple sites accumulate unused fonts, oversized images, or stray scripts during design iteration. Following these Framer best practices consistently matters more than project complexity.
Q3. What’s the most commonly skipped item on this checklist?
Testing under throttled mobile conditions. Many teams test only on fast office Wi-Fi and miss how the site performs for real visitors.
Q4. Should this checklist run before or after client content is added?
Run it after content is finalized, since final images and copy are what actually ships to visitors.
Q5. Can this Framer optimization checklist replace a full performance audit?
For most launches, yes, since this website performance checklist already covers the highest-impact items. Sites with heavy custom code or complex CMS structures may still benefit from a deeper audit afterward.
Q6. How often should this checklist be re-run after launch?
At minimum, after any major redesign or new integration, since new problems tend to appear at exactly those moments.
Q7. Does following this checklist guarantee a perfect PageSpeed score?
No, and that shouldn’t be the goal. Reaching the 80s or 90s captures nearly all of the practical benefit without chasing diminishing returns.
Q8. What tools do I need to complete this checklist?
Google PageSpeed Insights, Google Search Console, and Chrome DevTools cover every check on this list without any paid tools required.
If running this Framer site audit yourself feels like too much, our team can handle the full pre-launch review.
Christmas Mega Sale – Enjoy Up to 50% OFF on Every Plan! 

