How do I optimize site speed in Webflow?
Shrink images, trim third-party scripts and interactions, then turn on minify, async JS, and per page CSS when safe.
Start with oversized images: compress assets and keep display size close to natural size. Limit external scripts, heavy integrations, and unused interactions. In Site settings > Publishing > Advanced publishing options, enable minify for HTML, CSS, and JS, and consider Asynchronously load JavaScript and Per page CSS after you test custom code. Run Webflow's site health scan for prioritized fixes.
Find what is actually slow
If pages take longer than a few seconds, separate network problems from site weight. Try a VPN or proxy, ask someone in another region to load the site, and check Webflow's status page when many sites fail at once. Access restrictions can also affect visitors in some countries.
Inside Webflow, run the site health scan for a score and step-by-step recommendations across hosting, SEO, and optimization. Use a free external speed test as a second opinion, and open the site usage dashboard to see which assets consume the most bandwidth.
Fix heavy images and linked assets first
Large images are the most common cause of slow loads. Prefer vector graphics when they fit, compress raster files, pick a suitable format, and keep on-canvas display size close to the image's natural size. Convert JPG and PNG assets to AVIF or WebP from the Assets panel when appropriate, then republish.
Limit elements that pull from other servers, such as external scripts, remote images, and social feeds. Each linked resource adds another round trip. Host copies on your site when you control the files instead of reloading them from a third party on every visit.
Trim integrations, motion, and interactions
Poorly maintained third-party integrations can drag performance. Update them, replace them with lighter options, or remove them when the feature is unused. Use transitions and transforms sparingly, and only on the properties that need to animate.
Each interaction adds work for the browser. Reuse one interaction across similar elements instead of duplicating near-identical timelines. Remove experiments that never shipped. Example: a homepage that loads three chat widgets, a heavy video embed, and five scroll animations often improves more from cutting two widgets and the unused animations than from a minor CSS tweak. Re-test after each removal so you know which change helped, and keep one intentional motion effect if it clearly aids understanding.
Turn on publishing performance options
Advanced publishing options live under Site settings > Publishing > Advanced publishing options (also in the publish dropdown). Minify HTML, CSS, and JS separately to shrink delivered files. Asynchronously load JavaScript (paid Site or Workspace plan) lets the browser render visible content while scripts load in parallel; test custom code afterward because scripts that assume sync loading can fail.
Per page CSS builds a shared stylesheet plus a page-specific file so unused styles stay off that page. Test custom CSS and shared Library sites after enabling it. Optimized publishing is on by default and can shorten large multi-domain publishes; you can turn it off temporarily if a publish behaves oddly. After any toggle, save and publish, then retest homepage and a busy inner page on mobile. If scores improve but a checkout or form script breaks, roll back the async JavaScript toggle first, republish, then fix scripts before turning it on again.
Questions & answers
Where are advanced publishing speed options?
Open Site settings > Publishing > Advanced publishing options, or the publishing dropdown while designing. Toggle minify, async JavaScript, and per page CSS, then save and publish.
Will async JavaScript break my custom code?
It can, if custom scripts expect Webflow JS to load first. Test thoroughly after enabling. If something breaks, turn the option off, republish, and fix the script with a developer.
What usually slows a Webflow site most?
Large images are the most common cause. Linked third-party assets, heavy integrations, and too many transitions or interactions also add load time and bandwidth.
Should I always enable per page CSS?
It can shrink CSS per page, but custom CSS or shared Libraries may style incorrectly. Test consumer sites carefully and disable the option if Library elements break.
Sources & further reading
Need a hand with your Webflow site?
View membership
View membership