There's so many ways to speed up your site. Don't you wish every web performance tip was in one place? That's what I thought too, so I put them all in one place: this post.
Use this guide as a reference.
Table Of Contents
HTML
✨ Minify HTML
☄️ Order your styles and scripts for pagespeed
⚡️ Eliminate render-blocking resources
🌟 Minimize layout thrashing
🎉 Prioritize resources
✨ Preload critical assets to improve loading speed
💥 Establish network connections early
⚡️ Prefetch resources
🌟 Implement adaptive serving
CSS
⭐️ Minify CSS
✨ Remove unused CSS
💥 Defer non-critical CSS
⚡️ Minimize CSS requests by combining external CSS
🚀 Optimize CSS background images with media queries
⭐️ Avoid CSS inside the body tag
☄️ Inline critical CSS
✨ Avoid expensive styles
💫 Optimize CSS length
Images
✨ Choose the right image format
💫 Choose the correct level of compression
⭐️ Use Imagemin to compress images
💥 Defer offscreen images
⚡️ Properly size images
✨ Replace animated gifs with video
🎉 Serve responsive images
⚡️ Serve images with correct dimensions
🌟 Use WebP images
⚡️ Use AVIF images
🎊 Use image CDNs to optimize images
✨ Use lazy-loading
🚀 Lazy-loading video
⚡️ Use lazysizes to lazy-load images
⭐️ Compress JPEG images
🔥 Optimize PNG images
✨ Optimize SVG vector files
Fonts
💫 Avoid invisible text during font loading
💥 Use preconnect to load fonts faster
⚡️ Optimize Webfont loading and rendering
☄️ Reduce Webfont Size
✨ Keep Webfont size under 300kb
JavaScript
💫 Apply the PRPL pattern
⭐️ Limit the size of NPM dependencies
⚡️ Use code splitting
🌟 Combine external JavaScript
💥 Remove unused code
🎉 Use tree-shaking in Webpack
✨ Minify JavaScript
💫 Serve modern code to modern browsers
🌟 See how CommonJS makes your bundles larger
⚡️ Defer loading JavaScript
⭐️ Prefer Vanilla JavaScript🎊
💡 Use service workers to cache data
🎊 Use web workers
💥 Write optimized code for V8
🎉 Compile your JavaScript to faster JavaScript with Prepack
✨ Compile your JavaScript to faster JavaScript with Closure Compiler
Server
☀️ Use HTTPS
☄️ Keep the size of cookies low as possible
🔥 Avoid bad requests
💫 Set HTTP cache headers
⭐️ Enable gzip and brotli compression
⚡️ Self-host your static asssets
🌟 Enable OCSP stapling
💥 Adopt IPv6
💡 Serve assets over HTTP/2
🎉 Implement HPACK compression
✨ Set proper security headers
Testing Tools
💫 Measure site speed with Pingdom
🌟 Measure site speed with WebPageTest
🎊 Measure performance with the RAIL model
⚡️ Configure Webpack performance hints
⭐️ Use bundlesize
💥 Measure JavaScript execution time
🎉 Use lighthouse-ci
☄️ Use Lighthouse Bot to set a performance budget
☀️ Test on remote real devices
🔥 Use Sitespeed
✨ Use Calibre
💫 Use SpeedCurve
🎊 Use k6
⚡️ Use SpeedTracker
Frameworks
⭐️ Use an ahead of time compiler
💥 Improve Angular performance
☀️ Debug React perfomance
🔥 Eliminate common React issues
✨ Make components connection aware
💫 Implement adaptive serving
🎉 Serve Adaptive Components Using the Network Information API
Top comments (37)
This deserves a github repository .
like Awesome web performance..
Nice! Lots of goodies in here and this is a great checklist.
The CSS section should have something like:
“Inline Your Critical CSS” which reduces the number of requests and helps with render blocking.
Done!
Nice thanks! I didn’t know about that Library.
Just dope?
What can I say, it's just what I needed to do that 😆
Yo that's dope.
Just dope?
Recursion
Amazing list you put there!! 🎉🎉 Thank you!
I have a few additions there you might want to include:
Hello, very good advice, it is also important to integrate Push Notifications in your website or online store for greater performance in the communication area, to carry out Ad campaigns, promotions, events, etc., I invite you to use the Indigital Service, you can carry out Marketing Campaigns Free for 30,000 devices, it is excellent and very easy to install, here is the Documentation: docs.indigitall.com/es/
THIS IS A GODSEND!!!!!!!!
How long did this take you to prepare?
Impressive, thank you! We've also published a guide to responsive images and adaptive delivery technology, an easier way to serve responsive images: dev.to/uploadcare_/a-practical-gui...
Btw, if you're looking for a CDN for a media-heavy platform, here's a comparison of the 10 best solutions: bit.ly/3oYxr5E
content-visibility - limited browser support right now.
web.dev/content-visibility/
caniuse.com/css-content-visibility
How many of these amazing posts do you make? 😀 I guess I just got to go read all of them.
:-) thanks!
Some comments have been hidden by the post's author - find out more