awesome-wpo
A curated list of Web Performance Optimization.
https://github.com/davidsonfellipe/awesome-wpo
Last synced: about 10 hours ago
JSON representation
-
Agent Skills
- web-quality-audit - Comprehensive quality review across all categories.
-
Analyzers
-
Meetups
- Web.dev - Get the web's modern capabilities on your own sites and apps with useful guidance and analysis from web.dev.
- DebugBear - Site monitoring based on Lighthouse. See how your scores and metrics changed over time, with a focus on understanding what caused each change. Paid product with a free 30-day trial.
- Page Speed - The PageSpeed family of tools is designed to help you optimize the performance of your site. PageSpeed Insights products will help you identify performance best practices that can be applied to your site, and PageSpeed optimization tools can help you automate the process.
- YSlow for PhantomJS - PhantomJS build that adds new output formats for automated test frameworks: TAP (Test Anything Protocol) and JUnit.
- Yellow Lab Tools - Online quick and easy tool that audits frontend bad practices, reveals performance issues, and profiles JavaScript.
- Pagelocity - A web performance optimization and analysis tool.
- Speedrank - Monitors your site's performance in the background, displays Lighthouse reports over time, and delivers recommendations for improvement. Paid product with 14-day trial.
- Lightest App - Webpage load time is extremely important for conversion and revenue. Visualize web performance against competitors.
- Web Bloat Score Calculator - Compare size of a page to a compressed image of the same page
- Confess - Uses PhantomJS to headlessly analyze web pages and generate manifests.
- YSlow - Analyzes web pages and suggests ways to improve their performance based on a set of rules for high-performance web pages.
- Grunt-WebPageTest - Grunt plugin for continuous measurement of WebPageTest. ([Demo](http://sideroad.github.io/sample-wpt-page/))
- Grunt-yslow - Grunt task for testing page performance using PhantomJS, a headless WebKit browser.
- Grunt-perfbudget - A Grunt.js task for enforcing a performance budget ([more on performance budgets](https://timkadlec.com/2013/01/setting-a-performance-budget/)).
- Web Tracing Framework - Libraries, tools, and visualizers for tracing and investigating complex web applications.
- Yandex.Tank - An extensible open-source load testing tool for advanced Linux users which is especially good as a part of an automated load testing suite.
- Page Speed - The PageSpeed family of tools is designed to help you optimize the performance of your site. PageSpeed Insights products will help you identify performance best practices that can be applied to your site, and PageSpeed optimization tools can help you automate the process.
- Speed Racer - Collect performance metrics for your library/application using Chrome headless.
- Redirect Checker - Analyze HTTP redirect chains, detect loops, and measure performance impact on page load times.
- Request Map - Visualize first- and third-party request dependencies as an interactive map.
- PageSpeed Insights - Lab and field CWV diagnostics for any URL.
- Third Party Analysis Tool - Analyze third-party request risk, render-blocking impact, and potential single points of failure from WebPageTest runs.
- Web Font Analyzer - Inspect font loading timing, payload, and glyph usage using WebPageTest data.
- Webfont Usage Analyzer - Bookmarklet script to map loaded web fonts to visible DOM usage and help spot font optimization opportunities.
- Waterfall Tools - Advanced client-side network request waterfall viewer for HAR, WPT JSON, Chrome traces/netlogs, and tcpdump captures.
-
-
Analyzers - API
-
Meetups
- BetterUptime - A good website monitoring tool (bundling status page, incident notification)
- UptimeRobot - Another uptime monitoring tool (with a generous free plan)
- RoboMiri - RoboMiri is a stable Uptime Monitor that offers a wide range of monitors: cronjob, keyword, website, port, ping. 25 uptime checks with 3 minutes interval checks for free. Alerts via Phone Call, SMS, Email, and WebHook.
- StatusList - Uptime, performance monitoring with debug details, and hosted status page in one simple dashboard.
- Node-yslowjs - YSlow.js on Node.js is a simple Node.js wrapper for programmatically running phantomjs yslow.js.
- PSI - PageSpeed Insights for Node.js - with reporting.
- Pingdom - A tool to get the uptime of your website (with probes from different locations)
- RoboMiri - RoboMiri is a stable Uptime Monitor that offers a wide range of monitors: cronjob, keyword, website, port, ping. 25 uptime checks with 3 minutes interval checks for free. Alerts via Phone Call, SMS, Email, and WebHook.
- PSI - PageSpeed Insights for Node.js - with reporting.
-
-
Application Performance Monitoring
-
Meetups
- Datadog APM - End-to-end distributed tracing and APM at scale, correlated to all telemetry.
- Pingdom - A tool to get the uptime of your website (with probes from different locations).
-
-
Benchmark - CSS
-
Meetups
- CSS-perf - Completely unscientific way of testing CSS performance. Most of these tests will revolve around methodologies and techniques for determining effective CSS architecture. Put another way, I want to know what works best given a particular comparison of CSS strategies.
-
-
Benchmark - JavaScript
-
Meetups
- JSPerf - jsPerf aims to provide an easy way to create and share test cases, comparing the performance of different JavaScript snippets by running benchmarks. `Temporarily out, follow this issue for updates: https://github.com/jsperf/jsperf.com/issues/537`
- Benchmark.js - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.
- JSlitmus - Lightweight tool for creating ad-hoc JavaScript benchmark tests.
- Matcha - Lets you design experiments that measure the performance of your code. Each bench should focus on a specific point of impact in your application.
- Timing.js - Small helpers for working with the Navigation Timing API to identify where your application is spending its time. Useful as a standalone script, DevTools snippet, or bookmarklet.
- Stats.js - This class provides a simple info box that will help you monitor your code performance.
- PerfTests - Performance tests of JavaScript inheritance models.
- Memory-stats.js - Minimal monitor for JS Heap Size via performance memory.
- JSBench - A modern browser-based JavaScript benchmarking tool for quickly creating and sharing performance tests.
- JSPerf - Create and share test cases comparing JavaScript snippet performance via benchmarks. `Follow this issue for updates: https://github.com/jsperf/jsperf.com/issues/537`.
-
-
Benchmark - PHP
-
Bookmarklets
-
Meetups
- Yahoo YSlow for Mobile/Bookmarklet - YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high-performance web pages.
- CSS Stress - Stress testing and performance profiling for CSS.
- PerfMap - A bookmarklet to create a frontend performance heatmap of resources loaded in the browser using the Resource Timing API.
- DOM Monster - A cross-platform, cross-browser bookmarklet that will analyze the DOM & other features of the page you're on, and give you its bill of health.
- Performance-Bookmarklet - Analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - Sort of a light live WebPageTest. As [Firefox Add-on](https://addons.mozilla.org/en-US/firefox/addon/performance-analyser/?src=cb-dl-created) under the name Performance-Analyser.
-
-
Books
- HTTP/2 in Action by Barry Pollard - Barry Pollard.
- Web Performance in Action by Jeremy Wagner - Jeremy L. Wagner.
- Book of Speed - Stoyan Stefanov.
- Designing for Performance: Weighing Aesthetics and Speed - Lara Hogan.
- Even Faster Web Sites: Performance Best Practices for Web Developers - Steve Souders.
- High Performance Browser Networking: What every web developer should know about networking and web performance - Ilya Grigorik.
- High Performance JavaScript - Nicholas C. Zakas.
- High Performance Web Sites: Essential Knowledge for frontend Engineers - Steve Souders
- High Performance Responsive Design: Building Faster Sites Across Devices - Tom Barker.
- Lean sites - Barbara Bermes.
- Time Is Money: The Business Value of Web Performance - Tammy Everts.
- Using WebPagetest - Rick Viscomi, Andy Davies, Marcel Duran.
- Web Performance Daybook Volume 2 - Stoyan Stefanov
- Web Performance Tuning - Patrick Killelea.
- You Don't Know JS: Async & Performance - Kyle Simpson.
- Linux, Apache, MySQL, PHP Performance end-to-end - Colin McKinnon.
- Web Components in Action - Ben Farrell.
- Image Optimization - Addy Osmani.
- High Performance Web Sites: Essential Knowledge for frontend Engineers - Steve Souders
- Even Faster Web Sites: Performance Best Practices for Web Developers - Steve Souders
- High Performance JavaScript - Nicholas C. Zakas
- Web Performance Daybook Volume 2 - Stoyan Stefanov.
- High Performance Browser Networking: What every web developer should know about networking and web performance - Ilya Grigorik
- High Performance Responsive Design: Building Faster Sites Across Devices
- Time Is Money: The Business Value of Web Performance
- Using WebPagetest - Rick Viscomi, Andy Davies, Marcel Duran
- Web Performance Tuning - Patrick Killelea
- Performance Engineering in Practice - Den Odell.
- Lean sites
- High Performance Web Sites: Essential Knowledge for frontend Engineers - Steve Souders.
- Web Performance Engineering in the Age of AI - Addy Osmani.
-
Bundle Analyzer
-
Meetups
- Bundlephobia - Helps you find the performance impact of adding an npm package to your frontend bundle.
- Disc - Visualise the module tree of browserify project bundles and track down bloat.
- Packtracker.io - Check your webpack bundle stats on every pull request, and track them over time.
- Bundlesize - Keep your bundle size in check.
- source-map-explorer - Analyze and debug bundle space usage through source maps.
- Webpack bundle analyzer - webpack plugin and CLI utility that represents bundle content as a convenient interactive zoomable treemap.
- Disc - Visualise the module tree of browserify project bundles and track down bloat.
- Lasso-analyzer - analyze and Visualise project bundles created by Lasso.
- Compression webpack plugin - Prepare compressed versions of assets to serve them with Content-Encoding.
- BundleStats - Generate bundle report(bundle size, assets, modules, packages) and compare the results between different builds.
- Packtracker.io - Check your webpack bundle stats on every pull request, and track them over time.
- Webpack bundle analyzer - Webpack plugin and CLI utility that represents bundle content as a convenient interactive zoomable treemap.
- Lasso-analyzer - Analyze and visualise project bundles created by Lasso.
- Compression Webpack plugin - Prepare compressed versions of assets to serve them with Content-Encoding.
- bundle.js.org - Quick online npm package size checker.
-
-
Case studies
- WPOStats - Case studies and experiments demonstrating the impact of web performance optimization (WPO) on user experience and business metrics.
- Google Developers Case Studies - Learn why and how other developers have used the web to create amazing web experiences for their users.
- Google Developers Case Studies - Learn why and how other developers have used the web to create amazing web experiences for their users.
-
Categories
-
CDN
-
Meetups
- Wikipedia
- Cloudflare CDN - A content delivery network that uses next-gen tech to deliver fast, reliable, CDN services.
- Google Hosted Libraries - Google Hosted Libraries is a content distribution network for the most popular, open-source JavaScript libraries.
- CDNjs - An open-source CDN for JavaScript and CSS sponsored by Cloudflare that hosts everything from jQuery and Modernizr to Bootstrap.
- Amazon CloudFront - A content delivery network by Amazon that integrates nicely with other Amazon services or can be used standalone.
- jQuery - Official CDN for the latest stable releases, powered by MaxCDN.
- UpYun CDN - CDN provided by upyun.
- Bootstrap 中文网开放 CDN 服务 - Bootstrap Chinese net open CDN service (only HTTP).
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
- CDNPlanet
- jsDelivr - Similar to Google Hosted Libraries, jsDelivr is an open-source CDN that allows developers to host their own projects and anyone to link to our hosted files on their sites.
- UpYun CDN - CDN provided by upyun.
- PageCDN - A state-of-the-art opensource CDN with aggressive content optimization using brotli-11 compression, HTTP/2 server push, better HTTP/2 multiplexing, and more. Supports 100s of libraries and 2000+ WordPress themes already. Easy to use, easy to link, and very fast.
- Bootstrap 中文网开放 CDN 服务 - Bootstrap Chinese net open CDN service (only HTTP).
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
- Cloudflare CDN - A content delivery network that uses next-gen tech to deliver fast, reliable, CDN services.
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
-
-
CDN - Monitor
-
Meetups
- CDNperf - Finds you fast and reliable JavaScript CDNs that make your sites snappy and happy.
-
-
CDN - Utilities
-
Meetups
- Gulp-google-cdn - Replaces script references with Google CDN ones.
-
-
Core Web Vitals
-
Meetups
- Lighthouse - Audits Core Web Vitals in lab conditions (see [Analyzers](#analyzers)).
- web-vitals - Small library to accurately measure Core Web Vitals (LCP, FID, CLS, INP, TTFB) in the browser.
- Lighthouse CI - Run Lighthouse in CI to enforce Core Web Vitals budgets on every commit.
-
-
Documentation
- Browser Diet - A collaborative guide about frontend performance.
- PageSpeed Insights Rules - A guide created by PageSpeed Team.
- Best Practices for Speeding Up Your site - The list includes 35 best practices divided into 7 categories, created by Yahoo! Exceptional Performance team.
- Browser Diet - A collaborative guide about frontend performance.
- PageSpeed Insights Rules - A guide created by PageSpeed Team.
- Chrome Developers: Performance - Deep guides on rendering, loading, and runtime performance.
- Lighthouse Docs - Audit methodology, scoring details, and usage guidance.
- Navigation Timing API (MDN) - Page navigation and load milestone metrics.
- Navigation Timing Level 2 (W3C) - Use `responseStart` and `requestStart` to derive Time to First Byte (TTFB).
- Resource Timing API (MDN) - Detailed network timing for assets.
- Long Tasks API (MDN) - Detect main-thread blocking work.
- Paint Timing API (MDN) - First paint and first contentful paint signals.
- Largest Contentful Paint API (MDN) - Programmatic access to LCP entries.
- Layout Instability API (MDN) - Measure and inspect layout shifts (CLS).
- Code Splitting (Webpack) - Official guide to splitting JavaScript bundles for faster initial load and on-demand loading.
-
Events
-
Conferences
- We Love Speed
- PWA Summit - A free, online, single-track conference focused on helping everyone succeed with Progressive Web Apps.
- Velocity
- performance.now() - The performance.now() conference will return to Amsterdam! We're a single-track conference with fourteen world-class speakers, covering today’s most important web performance insights.
- PerfMatters - Conference is the ONLINE web performance conference by internationally renowned performance developers.
- We Love Speed - Born from the desire to share knowledge and experiences in web performance as widely as possible.
- Velocity - At Velocity, web operations, performance, and DevOps professionals learn to build fast, resilient, and highly available sites and apps.
- We Love Speed
-
-
Extensions
-
Meetups
- Browser Calories - The easiest way to measure your performance budget.
- Browser Calories - The easiest way to measure your performance budget.
-
-
Generators
-
Meetups
- Grunt-sprite-css-replace - Grunt task that generates a sprite from images referenced in a style sheet and then updates the references with the new sprite image and positions.
- Grunt-svg-sprite - SVG sprites & stacks galore — Grunt plugin wrapping around svg-sprite that reads in a bunch of SVG files, optimizes them and creates SVG sprites and CSS resources in various flavors.
- Sprite Cow - Sprite Cow helps you get the background-position, width, and height of sprites within a spritesheet as a nice bit of copyable CSS.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- CSS Sprite Generator - CSS sprites allow you to combine multiple images into a single file.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
-
Programming Languages
Categories
Generators
67
Image Optimizers
39
Books
31
Minifiers
29
Metrics Monitor
27
Analyzers
25
CDN
19
Bundle Analyzer
15
Documentation
15
Web server Benchmarks
12
Web server Modules
12
Miscellaneous
11
Benchmark - JavaScript
10
Specs
10
Loaders
9
Analyzers - API
9
Events
8
Real User Monitoring
8
Minifiers - JS & CSS
7
SVG
7
Bookmarklets
5
Lazyloaders
3
Case studies
3
Core Web Vitals
3
Tools
3
Extensions
2
Web Components
2
Stats
2
Other Awesome Lists
2
Application Performance Monitoring
2
Benchmark - PHP
2
Minifiers - HTML
1
Benchmark - CSS
1
Metrics Monitor - API
1
Categories
1
CDN - Utilities
1
CDN - Monitor
1
Agent Skills
1
Sub Categories
Keywords
javascript
15
performance
15
web-performance
8
nodejs
7
css
5
svg
5
optimization
5
png
4
webpack
4
gulp-plugin
4
minification
4
webperf
4
image-optimization
3
minify
3
lighthouse
3
minifier
3
performance-metrics
3
treemap
3
webp
3
jpeg
3
webpack-plugin
3
html
2
lazyload
2
jpeg-encoder
2
image-processing
2
libjpeg
2
mozjpeg
2
react
2
html-minifier
2
prerender
2
benchmark
2
framework
2
css-optimizer
2
resource-timing
2
performance-test
2
css-optimizations
2
navigation-timing
2
cls
2
clean-css
2
puppeteer
2
jpegoptim
2
bundle-analyzer
2
metrics
2
chrome-devtools
2
developer-tools
2
performance-analysis
2
web
2
gif
2
imagemin
2
prefetch
2