Updating conversion, creating readmes

This commit is contained in:
Jonas Zeunert
2024-04-19 23:37:46 +02:00
parent 3619ac710a
commit 08e75b0f0a
635 changed files with 30878 additions and 37344 deletions

View File

@@ -1,10 +1,10 @@
 Awesome WPO !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
 Awesome WPO !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
!GitHub contributors (https://img.shields.io/github/contributors/davidsonfellipe/awesome-wpo.svg) (https://github.com/davidsonfellipe/awesome-wpo/graphs/contributors)
!MIT license (https://img.shields.io/github/license/mashape/apistatus.svg?style=flat) (https://davidsonfellipe.mit-license.org/)
Welcome to the curated list of Web Performance Optimization resources. This repository aims to gather the best tools, articles, blogs, books, and talks related to optimizing website performance. Whether you're a
developer, designer, or performance enthusiast, you'll find valuable content here to supercharge your web projects.
Welcome to the curated list of Web Performance Optimization resources. This repository aims to gather the best tools, articles, blogs, books, and talks related to optimizing website performance. Whether you're a developer, designer, or 
performance enthusiast, you'll find valuable content here to supercharge your web projects.
Categories
@@ -106,8 +106,7 @@
- We Love Speed (https://www.welovespeed.com/) We Love Speed was born from the desire to share knowledge and experiences in web performance as widely as possible.
- PWA Summit (https://pwasummit.org/) A free, online, single-track conference focused on helping everyone succeed with Progressive Web Apps.
- Velocity (http://conferences.oreilly.com/velocity) At Velocity, web operations, performance, and DevOps professionals learn to build fast, resilient, and highly available sites and apps.
- performance.now() (https://perfnow.nl/)  The performance.now() conference will return to Amsterdam! We're a single-track conference with fourteen world-class speakers, covering todays most important web 
performance insights.
- performance.now() (https://perfnow.nl/) The performance.now() conference will return to Amsterdam! We're a single-track conference with fourteen world-class speakers, covering todays most important web performance insights.
- #PerfMatters (https://perfmattersconf.com/) #PerfMatters Conference is the ONLINE web performance conference by internationally renowned performance developers.
Meetups
@@ -118,16 +117,16 @@
▐ They are categorized into content/TALKS.md (content/TALKS.md).
 Tools
 Tools
Analyzers
- Web.dev (https://web.dev/) - Get the web's modern capabilities on your own sites and apps with useful guidance and analysis from web.dev.
- Confess (https://github.com/jamesgpearce/confess) - Uses PhantomJS to headlessly analyze web pages and generate manifests.
- DebugBear (https://www.debugbear.com/) - DebugBear is a site monitoring tool based on Lighthouse. See how your scores and metrics changed over time, with a focus on understanding what caused each change. 
DebugBear is a paid product with a free 30-day trial.
- Page Speed (https://developers.google.com/speed/pagespeed/) - 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.
- DebugBear (https://www.debugbear.com/) - DebugBear is a site monitoring tool based on Lighthouse. See how your scores and metrics changed over time, with a focus on understanding what caused each change. DebugBear is a paid product 
with a free 30-day trial.
- Page Speed (https://developers.google.com/speed/pagespeed/) - 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.
- Lighthouse (https://github.com/GoogleChrome/lighthouse) - Auditing and performance metrics tool for Progressive Web Applications.
- Screpy (https://screpy.com) - AI-Based SEO Analysis & Monitoring Tool
- YSlow (https://github.com/marcelduran/yslow) - YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high-performance web pages.
@@ -142,8 +141,8 @@
- Varvy (https://varvy.com/pagespeed/) - Test your site to see if it follows the Google guidelines for speed.
- Web Bloat Score Calculator (http://www.webbloatscore.com/) - Compare size of a page to a compressed image of the same page
- Speed Racer (https://github.com/ngryman/speedracer) - Collect performance metrics for your library/application using Chrome headless.
- Speedrank (https://speedrank.app/) - Speedrank monitors the performance of your site in the background. It displays Lighthouse reports over time and delivers recommendations for improvement. Speedrank is a 
paid product with 14-day-trial.
- Speedrank (https://speedrank.app/) - Speedrank monitors the performance of your site in the background. It displays Lighthouse reports over time and delivers recommendations for improvement. Speedrank is a paid product with 
14-day-trial.
- Lightest App (https://lightest.app/) - Webpage load time is extremely important for conversion and revenue. Visualize web performance against competitors.
Analyzers - API
@@ -151,14 +150,14 @@
- Node-yslowjs (https://github.com/jmervine/node-yslowjs) - YSlow.js on Node.js is a simple Node.js wrapper for programmatically running phantomjs yslow.js.
- PSI (https://github.com/addyosmani/psi) - PageSpeed Insights for Node.js - with reporting.
 Application Performance Monitoring
 Application Performance Monitoring
- Datadog APM (https://www.datadoghq.com/product/apm/) - End-to-end distributed tracing and APM at scale, correlated to all telemetry. 
- BetterUptime (https://betteruptime.com) - A good website monitoring tool (bundling status page, incident notification)
- Pingdom (https://pingdom.com) - A tool to get the uptime of your website (with probes from different locations)
- UptimeRobot (https://uptimerobot.com) - Another uptime monitoring tool (with a generous free plan)
- RoboMiri (https://robomiri.com) - 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.
- RoboMiri (https://robomiri.com) - 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 (https://statuslist.app) - Uptime, performance monitoring with debug details, and hosted status page in one simple dashboard.
Bundle Analyzer
@@ -175,8 +174,8 @@
Benchmark - CSS
- CSS-perf (https://github.com/mdo/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.
- CSS-perf (https://github.com/mdo/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
@@ -186,10 +185,9 @@
Temporarily out, follow this issue for updates: https://github.com/jsperf/jsperf.com/issues/537
- Benchmark.js (http://benchmarkjs.com/) - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.
- JSlitmus (https://github.com/broofa/jslitmus) - JSLitmus is a lightweight tool for creating ad-hoc JavaScript benchmark tests.
- Matcha (https://github.com/logicalparadox/matcha) - Matcha allows you to design experiments that will measure the performance of your code. It is recommended that each bench focus on a specific point of impact
in your application.
- Timing.js (https://github.com/addyosmani/timing.js) - Timing.js is a small set of 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.
- Matcha (https://github.com/logicalparadox/matcha) - Matcha allows you to design experiments that will measure the performance of your code. It is recommended that each bench focus on a specific point of impact in your application.
- Timing.js (https://github.com/addyosmani/timing.js) - Timing.js is a small set of 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 (https://github.com/mrdoob/stats.js) - This class provides a simple info box that will help you monitor your code performance.
- PerfTests (https://github.com/kogarashisan/PerfTests) - Performance tests of JavaScript inheritance models.
- Memory-stats.js (https://github.com/paulirish/memory-stats.js) - minimal monitor for JS Heap Size via performance memory.
@@ -205,20 +203,19 @@
- PerfMap (https://github.com/zeman/perfmap) - A bookmarklet to create a frontend performance heatmap of resources loaded in the browser using the Resource Timing API.
- DOM Monster (https://github.com/madrobby/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.
- CSS Stress (http://andy.edinborough.org/CSS-Stress-Testing-and-Performance-Profiling) - CSS Stress is a Testing and Performance Profiling.
- Performance-Bookmarklet (https://github.com/micmro/performance-bookmarklet) - Analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - Sort of a light live WebPageTest.
As Chrome Extension (https://chrome.google.com/webstore/detail/performance-analyser/djgfmlohefpomchfabngccpbaflcahjf?hl=en) and Firefox Add-on 
(https://addons.mozilla.org/en-us/firefox/addon/performance-analyser/?src=cb-dl-created) under the name Performance-Analyser.
- Performance-Bookmarklet (https://github.com/micmro/performance-bookmarklet) - Analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - Sort of a light live WebPageTest. As Chrome Extension 
(https://chrome.google.com/webstore/detail/performance-analyser/djgfmlohefpomchfabngccpbaflcahjf?hl=en) and Firefox Add-on (https://addons.mozilla.org/en-us/firefox/addon/performance-analyser/?src=cb-dl-created) under the name 
Performance-Analyser.
CDN
▐ A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to 
▐ end-users with high availability and high performance. See a large list of CDN in Wikipedia (http://en.wikipedia.org/wiki/Content_delivery_network#Notable_content_delivery_service_providers).
▐ A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability
▐ and high performance. See a large list of CDN in Wikipedia (http://en.wikipedia.org/wiki/Content_delivery_network#Notable_content_delivery_service_providers).
- Cloudflare CDN (https://www.cloudflare.com/cdn/) - A content delivery network that uses next-gen tech to deliver fast, reliable, CDN services
- PageCDN (https://pagecdn.com/lib) - 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.
- jsDelivr (https://github.com/jsdelivr/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.
- PageCDN (https://pagecdn.com/lib) - 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.
- jsDelivr (https://github.com/jsdelivr/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.
- Google Hosted Libraries (https://developers.google.com/speed/libraries/) - Google Hosted Libraries is a content distribution network for the most popular, open-source JavaScript libraries.
- CDNjs (https://cdnjs.com/) - An open-source CDN for JavaScript and CSS sponsored by CloudFlare that hosts everything from jQuery and Modernizr to Bootstrap.
- Amazon CloudFront (https://aws.amazon.com/cloudfront/) - A content delivery network by Amazon that integrates nicely with other Amazon services or can be used standalone.
@@ -243,16 +240,14 @@
Generators
- AtBuild (https://github.com/jarred-sumner/atbuild) - JavaScript code generation tool that lets you write JavaScript that outputs JavaScript. Good for unrolling loops and writing libraries that compile away the
runtime
- AtBuild (https://github.com/jarred-sumner/atbuild) - JavaScript code generation tool that lets you write JavaScript that outputs JavaScript. Good for unrolling loops and writing libraries that compile away the runtime
- Glue (https://github.com/jorgebastida/glue) - Glue is a simple command-line tool to generate sprites:
- Pitomba-spriter (https://github.com/pitomba/spriter) - Spriter is a simple and flexible dynamic sprite generator for CSS, using Python. It can process CSS both synchronous and asynchronous as it provides 
classes to be used in your Python code and also a watcher that listens to your filesystem and changes CSS and sprite as soon as a static is changed.
- Pitomba-spriter (https://github.com/pitomba/spriter) - Spriter is a simple and flexible dynamic sprite generator for CSS, using Python. It can process CSS both synchronous and asynchronous as it provides classes to be used in your 
Python code and also a watcher that listens to your filesystem and changes CSS and sprite as soon as a static is changed.
- Grunt-spritesmith (https://github.com/Ensighten/grunt-spritesmith) - Grunt task for converting a set of images into a sprite sheet and corresponding CSS variables.
- Grunt-sprite-css-replace (https://www.npmjs.com/package/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 (https://www.npmjs.com/package/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.
- Grunt-sprite-css-replace (https://www.npmjs.com/package/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 (https://www.npmjs.com/package/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.
- Gulp-sprite (https://github.com/aslansky/gulp-sprite) - gulp task for creating an image sprite and the corresponding style sheets for Gulp.
- Gulp-svg-sprites (https://github.com/shakyShane/gulp-svg-sprites) - gulp task for creating SVG sprites.
- SvgToCSS (https://github.com/kajyr/SvgToCSS) - Optimizes and renders SVG files in CSS / Sass sprites.
@@ -260,10 +255,10 @@
- Sprite Cow (http://www.spritecow.com/) - Sprite Cow helps you get the background-position, width, and height of sprites within a spritesheet as a nice bit of copyable CSS.
- ZeroSprites (http://zerosprites.com/) - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- CSS Sprite Generator (http://css.spritegen.com/) - CSS sprites allow you to combine multiple images into a single file.
- Sprity (https://github.com/sprity/sprity) - A modular image sprite generator with a lot of features: supports retina sprites, supports different output formats, generates sprites and proper style files out of 
a directory of images, etc...
- Sprite Factory (https://github.com/jakesgordon/sprite-factory) - The sprite factory is a ruby library that can be used to generate CSS sprites. It combines individual image files from a directory into a single
unified sprite image and creates an appropriate CSS style sheet for use in your web application.
- Sprity (https://github.com/sprity/sprity) - A modular image sprite generator with a lot of features: supports retina sprites, supports different output formats, generates sprites and proper style files out of a directory of images, 
etc...
- Sprite Factory (https://github.com/jakesgordon/sprite-factory) - The sprite factory is a ruby library that can be used to generate CSS sprites. It combines individual image files from a directory into a single unified sprite image and
creates an appropriate CSS style sheet for use in your web application.
Image Optimizers
▐ How to remove all this unnecessary data and give you a file without degrading quality.
@@ -271,11 +266,10 @@
- Shortpixel (https://shortpixel.com/online-image-compression) - Compress Your Image by removing unnecessary bytes of the image and Convert it into WebP/AVIF 
- Grunt-smushit (https://github.com/heldr/grunt-smushit) - Grunt plugin to remove unnecessary bytes of PNG and JPG using Yahoo Smushit.
- Gulp-smushit (https://github.com/heldr/gulp-smushit) - Gulp plugin to optimize PNG and JPG using Yahoo Smushit. Made on top of smosh.
- Smush it (http://www.imgopt.com/) - Smush it uses optimization techniques specific to image format to remove unnecessary bytes from image files. It is a "lossless" tool, which means it optimizes the images 
without changing their look or visual quality.
- Smush it (http://www.imgopt.com/) - Smush it uses optimization techniques specific to image format to remove unnecessary bytes from image files. It is a "lossless" tool, which means it optimizes the images without changing their look 
or visual quality.
- Imagemin (https://github.com/imagemin/imagemin) - Minify images seamlessly with Node.js.
- Sharp (https://github.com/lovell/sharp) - The typical use case for this high-speed Node.js module is to convert large images of many formats to smaller, web-friendly JPEG, PNG, and WebP images of varying 
dimensions.
- Sharp (https://github.com/lovell/sharp) - The typical use case for this high-speed Node.js module is to convert large images of many formats to smaller, web-friendly JPEG, PNG, and WebP images of varying dimensions.
- Gm (https://github.com/aheckmann/gm) - GraphicsMagick and ImageMagick for Node.js.
- Exexif (https://github.com/h4cc/awesome-elixir) - Pure elixir library to extract tiff and exif metadata from JPEG files.
- ExifCleaner (https://exifcleaner.com) - GUI app to remove EXIF metadata from images and video files with drag and drop. Free and open source.
@@ -284,8 +278,7 @@
- Gulp-imagemin (https://github.com/sindresorhus/gulp-imagemin) - Minify PNG, JPEG, GIF and SVG images with imagemin for Gulp.
- Grunt-WebP (https://github.com/somerandomdude/grunt-webp) - Convert your images to WebP format.
- Gulp-WebP (https://github.com/sindresorhus/gulp-webp) - Convert images to WebP for Gulp.
- Imageoptim (https://imageoptim.com/) - Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, and removes junk metadata and 
unnecessary color profiles.
- Imageoptim (https://imageoptim.com/) - Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, and removes junk metadata and unnecessary color profiles.
- Grunt-imageoptim (https://github.com/JamieMason/grunt-imageoptim) - Make ImageOptim, ImageAlpha, and JPEGmini part of your automated build process.
- ImageOptim-CLI (https://github.com/JamieMason/ImageOptim-CLI) - Automates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimization of images part of your automated build process.
- Tapnesh-CLI (https://github.com/JafarAkhondali/Tapnesh) - Tapnesh is a CLI tool that will optimize all your images in parallel easily and efficiently! 
@@ -312,8 +305,8 @@
- HeadJS (https://github.com/headjs/headjs)- The only script in your HEAD. for Responsive Design, Feature Detections, and Resource Loading.
- RequireJS (http://requirejs.org/) - RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node.js.
- Labjs (http://labjs.com/) - is an open-source (MIT license) project supported by Getify Solutions. The core purpose of LABjs is to be an all-purpose, on-demand JavaScript loader, capable of loading any 
JavaScript resource, from any location, into any page, at any time.
- Labjs (http://labjs.com/) - is an open-source (MIT license) project supported by Getify Solutions. The core purpose of LABjs is to be an all-purpose, on-demand JavaScript loader, capable of loading any JavaScript resource, from any 
location, into any page, at any time.
- Defer.js (https://github.com/wessman/defer.js) - Async Everything: Make the meat of your pages load faster with this JS morsel.
- InstantClick (https://github.com/dieulot/instantclick) - InstantClick makes the following links in your site instant.
- JIT (https://github.com/shootaroo/jit-grunt) - A JIT (Just In Time) plugin loader for Grunt. The load time of Grunt does not slow down even if there are many plugins.
@@ -321,23 +314,21 @@
Metrics Monitor
- Phantomas (https://github.com/macbre/phantomas) - PhantomJS-based web performance metrics collector and monitoring tool.
- Showslow (http://www.showslow.com/) - open source tool that helps monitor various site performance metrics over time. It captures the results of YSlow, Page Speed Insights, WebPageTest and dynaTrace Ajax 
Edition.
- Showslow (http://www.showslow.com/) - open source tool that helps monitor various site performance metrics over time. It captures the results of YSlow, Page Speed Insights, WebPageTest and dynaTrace Ajax Edition.
- Bench (https://github.com/jmervine/bench) - Using Phantomas (a PhantomJS-backed client performance metrics scrapper). Benchmark a page, store results in MongoDB, and display results via the built-in server.
- Keepfast (https://github.com/keepfast/keepfast) - Tool to monitor indicators related to the performance of a web page.
- GTmetrix (https://gtmetrix.com/) - GTmetrix uses Google Page Speed and Yahoo! YSlow to grade your site's performance and provides actionable recommendations to fix these issues.
- Pingbreak.com (https://pingbreak.com/) - Free site and SSL Monitoring with response time alerting (on Slack, Twitter, Mattermost, Discord or custom Webhook).
- Pingdom site Speed Test (http://tools.pingdom.com/fpt/) - Test the load time of that page, analyze it, and find bottlenecks.
- Dotcom-tools (https://www.dotcom-tools.com/website-speed-test.aspx) - analyze your website's speed in real browsers from 20 locations worldwide.
- WebPageTest (http://www.webpagetest.org/) - Run a free site speed test from multiple locations around the globe using real browsers (IE and Chrome) and at real consumer connection speeds. You can run simple 
tests or perform advanced testing including multi-step transactions, video capture, content blocking and much more. Your results will provide rich diagnostic information including resource-loading waterfall 
charts, Page Speed optimization checks and suggestions for improvements.
- Sitespeed.io (https://www.sitespeed.io/documentation/) - Sitespeed.io is an open-source tool that will check your site against web performance best practice rules and use the Navigation Timing API to collect 
metrics. It will create XML & HTML output of the result.
- WebPageTest (http://www.webpagetest.org/) - Run a free site speed test from multiple locations around the globe using real browsers (IE and Chrome) and at real consumer connection speeds. You can run simple tests or perform advanced 
testing including multi-step transactions, video capture, content blocking and much more. Your results will provide rich diagnostic information including resource-loading waterfall charts, Page Speed optimization checks and suggestions 
for improvements.
- Sitespeed.io (https://www.sitespeed.io/documentation/) - Sitespeed.io is an open-source tool that will check your site against web performance best practice rules and use the Navigation Timing API to collect metrics. It will create 
XML & HTML output of the result.
- Grunt-phantomas (https://github.com/stefanjudis/grunt-phantomas) - Grunt plugin wrapping phantomas to measure frontend performance.
- Perfjankie (https://www.npmjs.com/package/perfjankie) - Runtime Browser Performance regression suite (Demo (https://github.com/asciidisco/perfjankie-test)).
- BrowserView Monitoring (https://www.dotcom-monitor.com/website-monitor/website-speed-monitoring/) - Continually checks web page load times in Internet Explorer, Chrome and Firefox from multiple points around 
the world.
- BrowserView Monitoring (https://www.dotcom-monitor.com/website-monitor/website-speed-monitoring/) - Continually checks web page load times in Internet Explorer, Chrome and Firefox from multiple points around the world.
- New Relic Browser Monitoring (http://newrelic.com/browser-monitoring) - Monitor your browser-side applications in real time, with a focus on real end users experiences.
- DareBoost (https://www.dareboost.com/) - Real Browser Monitoring. Offers complete reports about web performance and quality using YSlow, Page Speed and numerous custom tips.
- Bytes Matter Real User Monitoring (https://www.bytesmatter.io) - Full featured Real User Monitoring solution. Free tier for smaller sites. Includes monitoring for Google's Core Web Vitals.
@@ -348,42 +339,40 @@
Metrics Monitor - EMAIL
- WebPerformance Report (https://webperformancereport.com/) - Web performance report every week in your inbox. Get a Personalized Report on the Status of the E-commerce or Website that you want to monitor in 
terms of Web performance and Web optimization, Core Web Vitals are included.
- WebPerformance Report (https://webperformancereport.com/) - Web performance report every week in your inbox. Get a Personalized Report on the Status of the E-commerce or Website that you want to monitor in terms of Web performance and
Web optimization, Core Web Vitals are included.
Minifiers - HTML
- HTMLCompressor (https://code.google.com/archive/p/htmlcompressor/) - HtmlCompressor is a small, fast, and very easy to use Java library that minifies given HTML or XML source by removing extra whitespaces, 
comments, and other unneeded characters without breaking the content structure. As a result page become smaller in size and load faster. A command-line version of the compressor is also available.
- Django-htmlmin (https://github.com/cobrateam/django-htmlmin) - django-html in an HTML minifier for Python with full support for HTML 5. It supports Django, Flask and any other Python web framework. It also 
provides a command-line tool that can be used for static sites or deployment scripts.
- HTMLCompressor (https://code.google.com/archive/p/htmlcompressor/) - HtmlCompressor is a small, fast, and very easy to use Java library that minifies given HTML or XML source by removing extra whitespaces, comments, and other unneeded
characters without breaking the content structure. As a result page become smaller in size and load faster. A command-line version of the compressor is also available.
- Django-htmlmin (https://github.com/cobrateam/django-htmlmin) - django-html in an HTML minifier for Python with full support for HTML 5. It supports Django, Flask and any other Python web framework. It also provides a command-line tool
that can be used for static sites or deployment scripts.
- HTMLMinifier (https://github.com/kangax/html-minifier) - HTMLMinifier is a highly configurable, well-tested, Javascript-based HTML minifier, with lint-like capabilities.
- Grunt-contrib-htmlmin (https://github.com/gruntjs/grunt-contrib-htmlmin) - A grunt plugin to minify HTML that uses HTMLMinifier.
- Gulp-htmlmin (https://github.com/jonschlinkert/gulp-htmlmin) - A gulp plugin to minify HTML that uses HTMLMinifier.
- Grunt-htmlcompressor (https://github.com/jney/grunt-htmlcompressor) - Grunt plugin for HTML compression, using htmlcompressor.
- HTML_minifier (https://github.com/stereobooster/html_minifier) - Ruby wrapper for kangax html-minifier.
- HTML_press (https://github.com/stereobooster/html_press) - Ruby gem for compressing html, that removes all whitespace junk, and leaves only HTML.
- Koa HTML Minifier (https://github.com/koajs/html-minifier) - Middleware that minifies your HTML responses using html-minifier. It uses html-minifier's default options which are all turned off by default, so 
you have to set the options otherwise it's not going to do anything.
- Koa HTML Minifier (https://github.com/koajs/html-minifier) - Middleware that minifies your HTML responses using html-minifier. It uses html-minifier's default options which are all turned off by default, so you have to set the options
otherwise it's not going to do anything.
- HTML Minifier Online (http://kangax.github.io/html-minifier/) - A HTML min tool by kangax (HTMLMinifier Creator).
- Minimize (https://github.com/Swaagie/minimize) - Minimize is an HTML minifier based on the node-htmlparser,currently, HTML minifier is only usable server-side. Client-side minification will be added in a 
future release.
- Minimize (https://github.com/Swaagie/minimize) - Minimize is an HTML minifier based on the node-htmlparser,currently, HTML minifier is only usable server-side. Client-side minification will be added in a future release.
- Html-minifier (https://github.com/deanhume/html-minifier) - A simple Windows command-line tool to minify your HTML, Razor views & Web Forms views
Minifiers - JS & CSS
- YUI Compressor (https://github.com/yui/yuicompressor) - JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. 
This obfuscation is safe, even when using constructs such as 'eval' or 'with' (although the compression is not optimal is those cases) Compared to jsmin, the average savings is around 20%.
- YUI Compressor (https://github.com/yui/yuicompressor) - JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. This obfuscation is safe, 
even when using constructs such as 'eval' or 'with' (although the compression is not optimal is those cases) Compared to jsmin, the average savings is around 20%.
- UglifyJS2 (https://github.com/mishoo/UglifyJS2) - UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit, written in JavaScript.
- CSSO (https://github.com/css/csso) - CSS minimizer unlike others. In addition to usual minification techniques, it can perform structural optimization of CSS files, resulting in smaller file size compared to 
other minifiers.
- CSSO (https://github.com/css/csso) - CSS minimizer unlike others. In addition to usual minification techniques, it can perform structural optimization of CSS files, resulting in smaller file size compared to other minifiers.
- CSSmin.js (https://github.com/stoyan/yuicompressor/blob/master/ports/js/cssmin.js) - cssmin.js is a JavaScript port of YUICompressor's CSS minifier.
- Grunt-contrib-concat (https://github.com/gruntjs/grunt-contrib-concat) - A Grunt plugin to concatenate files.
- Grunt-contrib-uglify (https://github.com/gruntjs/grunt-contrib-uglify) - A Grunt plugin to concatenate and minify JavaScript files.
- Clean-css (https://github.com/jakubpawlowicz/clean-css) - A fast, efficient, and well-tested CSS minifier for node.js.
- Django-compressor (https://github.com/django-compressor/django-compressor) - Compresses linked and inline JavaScript or CSS into a single cached file.
- Django-pipeline (https://github.com/cyberdelia/django-pipeline) - Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript 
template support, and optional data-URI image and font embedding.
- Django-pipeline (https://github.com/cyberdelia/django-pipeline) - Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript template support, and optional 
data-URI image and font embedding.
- JShrink (https://github.com/tedious/JShrink) - JShrink is a PHP class that minifies JavaScript so that it can be delivered to the client quicker.
- JSCompress (http://jscompress.com/) - The most minimalistic online JS Compress tool.
- CSSshrink (https://github.com/stoyan/cssshrink) - Because CSS is ospon the critical path to rendering pages. It must be small! Or else!
@@ -398,12 +387,12 @@
- Socialite.js (http://socialitejs.com/) - Socialite provides a very easy way to implement and activate a plethora of social sharing buttons — any time you wish. On document load, on article hover, on any event.
- uCSS (https://github.com/oyvindeh/ucss) - uCSS is made for crawling (large) sites to find unused CSS selectors, but not remove unused CSS.
- HTTPinvoke (https://github.com/jakutis/httpinvoke)- A no-dependencies HTTP client library for browsers and Node.js with a promise-based or Node.js-style callback-based API to progress events, text, and binary 
file upload and download, partial response body, request and response headers, status code.
- HTTPinvoke (https://github.com/jakutis/httpinvoke)- A no-dependencies HTTP client library for browsers and Node.js with a promise-based or Node.js-style callback-based API to progress events, text, and binary file upload and download,
partial response body, request and response headers, status code.
- Critical (https://github.com/addyosmani/critical) - Extract & Inline Critical-path CSS in HTML pages (alpha).
- Csscolormin (https://github.com/stoyan/csscolormin) - Utility that minifies CSS colors, example: min("white"); // minifies to "#fff".
- Lazysizes (https://github.com/aFarkas/lazysizes) - High-performance lazy loader for images (responsive and normal), iframes, and scripts, that detects any visibility changes triggered through user interaction,
CSS or JavaScript without configuration.
- Lazysizes (https://github.com/aFarkas/lazysizes) - High-performance lazy loader for images (responsive and normal), iframes, and scripts, that detects any visibility changes triggered through user interaction, CSS or JavaScript 
without configuration.
- Perf-Tooling (http://perf-tooling.today/) - Perf Tooling is a shared resource to keep track of new and existing performance tools.
- TMI (https://github.com/addyosmani/tmi) - TMI (Too Many Images) - discover your image weight on the web.
@@ -414,8 +403,8 @@
- Grunt-svgmin (https://github.com/sindresorhus/grunt-svgmin) - Minify SVG using SVGO for Grunt.
- Gulp-svgmin (https://www.npmjs.com/package/gulp-svgmin) - Minify SVG with SVGO for Gulp.
- Scour (http://www.codedread.com/scour/) - Scour is an open-source Python script that aggressively cleans SVG files, removing a lot of 'cruft' that certain tools or authors embed into their documents.
- SVG Cleaner (https://github.com/RazrFalcon/SVGCleaner) - SVG Cleaner could help you to clean up your SVG files from unnecessary data. It has a lot of options for cleanup and optimization, works in batch mode, 
and provides threaded processing on multicore processors.
- SVG Cleaner (https://github.com/RazrFalcon/SVGCleaner) - SVG Cleaner could help you to clean up your SVG files from unnecessary data. It has a lot of options for cleanup and optimization, works in batch mode, and provides threaded 
processing on multicore processors.
Web Components
@@ -424,12 +413,10 @@
Web server Benchmarks
- HTTPerf (https://github.com/httperf/httperf) - httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server 
performance.
- HTTPerf (https://github.com/httperf/httperf) - httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server performance.
- Apache JMeter (http://jmeter.apache.org/download_jmeter.cgi) - Open source load testing tool: It is a Java platform application.
- Locust (http://locust.io) - An open-source load testing tool. Define user behaviour with Python code, and swarm your system with millions of simultaneous users.
- Autoperf (https://github.com/igrigorik/autoperf) - Autoperf is a ruby driver for httperf, designed to help you automate load and performance testing of any web application - for a single endpoint, or through 
log replay.
- Autoperf (https://github.com/igrigorik/autoperf) - Autoperf is a ruby driver for httperf, designed to help you automate load and performance testing of any web application - for a single endpoint, or through log replay.
- HTTPerf.rb (https://github.com/jmervine/httperfrb) - Simple Ruby interface for httperf, written in Ruby.
- PHP-httperf (https://github.com/jmervine/php-httperf) - PHP Port of HTTPerf.rb.
- HTTPerf.js (https://github.com/jmervine/httperfjs) - JS Port of HTTPerf.rb.
@@ -438,46 +425,41 @@
- wrk (https://github.com/wg/wrk) - A HTTP benchmarking tool (with optional Lua scripting for request generation, response
 processing, and custom reporting)
- beeswithmachineguns (https://github.com/newsapps/beeswithmachineguns) - A utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).
- k6 (https://k6.io/) - An open-source load testing tool built for developers. Easy to integrate into CI pipelines. Tests are written in ES6 JS and you can test APIs, microservices and sites using HTTP/1.1, 
HTTP/2 and WebSocket.
- k6 (https://k6.io/) - An open-source load testing tool built for developers. Easy to integrate into CI pipelines. Tests are written in ES6 JS and you can test APIs, microservices and sites using HTTP/1.1, HTTP/2 and WebSocket.
Web server Modules
- PageSpeed Module (https://developers.google.com/speed/pagespeed/module/download) - PageSpeed speeds up your site and reduces page load time. This open-source web server module automatically applies web 
performance best practices to pages and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow. PageSpeed is available as a module for Apache 2.x and 
Nginx 1.x.
- PageSpeed Module (https://developers.google.com/speed/pagespeed/module/download) - PageSpeed speeds up your site and reduces page load time. This open-source web server module automatically applies web performance best practices to 
pages and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow. PageSpeed is available as a module for Apache 2.x and Nginx 1.x.
- WebP-detect (https://github.com/igrigorik/webp-detect) - WebP with Accept negotiation.
 Specs
 Specs
- Web Performance Working Group (http://www.w3.org/2010/webperf/) - The mission of the Web Performance Working Group, part of the Rich Web Client Activity, is to provide methods to measure aspects of application
performance of user agent features and APIs.
- Page Visibility (http://www.w3.org/TR/page-visibility/) - This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power
and CPU-efficient web applications.
- Navigation Timing (https://w3c.github.io/navigation-timing/) - This specification defines a unified interface to store and retrieve high resolution performance metric data related to the navigation of a 
document.
- Web Performance Working Group (http://www.w3.org/2010/webperf/) - The mission of the Web Performance Working Group, part of the Rich Web Client Activity, is to provide methods to measure aspects of application performance of user 
agent features and APIs.
- Page Visibility (http://www.w3.org/TR/page-visibility/) - This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power and CPU-efficient web 
applications.
- Navigation Timing (https://w3c.github.io/navigation-timing/) - This specification defines a unified interface to store and retrieve high resolution performance metric data related to the navigation of a document.
- Resource Timing (http://www.w3.org/TR/resource-timing/) - This specification defines an interface for web applications to access the complete timing information for resources in a document.
- User Timing (http://www.w3.org/TR/user-timing/) - This specification defines an interface to help web developers measure the performance of their applications by giving them access to high-precision 
timestamps.
- Performance Timeline (http://www.w3.org/TR/performance-timeline/) - This specification defines a unified interface to store and retrieve performance metric data. This specification does not cover individual 
performance metric interfaces.
- CSS will-change (https://drafts.csswg.org/css-will-change/) - This specification defines the will-change CSS property which allows an author to declare ahead-of-time what properties are likely to change in the
future, so the UA can set up the appropriate optimizations some time before theyre needed. This way, when the actual change happens, the page updates in a snappy manner.
- Resource Hints (http://www.w3.org/TR/resource-hints/) - This specification defines the dns-prefetch, preconnect, prefetch, and prerender relationships of the HTML Link Element (<link>). These primitives 
enable the developer, and the server generating or delivering the resources, to assist the user agent in the decision process of which origins it should connect to, and which resources it should fetch and 
preprocess to improve page performance.
- User Timing (http://www.w3.org/TR/user-timing/) - This specification defines an interface to help web developers measure the performance of their applications by giving them access to high-precision timestamps.
- Performance Timeline (http://www.w3.org/TR/performance-timeline/) - This specification defines a unified interface to store and retrieve performance metric data. This specification does not cover individual performance metric 
interfaces.
- CSS will-change (https://drafts.csswg.org/css-will-change/) - This specification defines the will-change CSS property which allows an author to declare ahead-of-time what properties are likely to change in the future, so the UA can 
set up the appropriate optimizations some time before theyre needed. This way, when the actual change happens, the page updates in a snappy manner.
- Resource Hints (http://www.w3.org/TR/resource-hints/) - This specification defines the dns-prefetch, preconnect, prefetch, and prerender relationships of the HTML Link Element (<link>). These primitives enable the developer, and
the server generating or delivering the resources, to assist the user agent in the decision process of which origins it should connect to, and which resources it should fetch and preprocess to improve page performance.
 Stats
 Stats
- HTTP Archive (http://httparchive.org/index.php) - It's a permanent repository of web performance information such as size of pages, failed requests, and technologies utilized. This performance information 
allows us to see trends in how the Web is built and provides a common data set from which to conduct web performance research.
- HTTP Archive (http://httparchive.org/index.php) - It's a permanent repository of web performance information such as size of pages, failed requests, and technologies utilized. This performance information allows us to see trends in 
how the Web is built and provides a common data set from which to conduct web performance research.
 Other Awesome Lists
 Other Awesome Lists
- iamakulov/awesome-webpack-perf (https://github.com/iamakulov/awesome-webpack-perf) - A curated list of webpack tools for web performance
- bayandin/awesome-awesomeness (https://github.com/bayandin/awesome-awesomeness).
- sindresorhus/awesome (https://github.com/sindresorhus/awesome).
 Contributing
 Contributing
For contributing, open an issue (https://github.com/davidsonfellipe/awesome-wpo/issues) and/or a pull request (https://github.com/davidsonfellipe/awesome-wpo/pulls).