Sitespeed.io is an open source tool that helps you monitor, analyze and optimize your website speed and performance, based on performance best practices advices from the coach and collecting browser metrics using the Navigation Timing API, User Timings and Visual Metrics (FirstVisualChange, SpeedIndex & LastVisualChange).
Website | Documentation | Changelog | Bluesky | Mastodon
Welcome to sitespeed.io
, the comprehensive web performance tool designed for everyone passionate about web speed. Whether you’re a developer, a site owner, or just someone curious about website performance, sitespeed.io
offers a powerful yet user-friendly way to analyze and optimize your website.
sitespeed.io
is more than just a tool; it’s a complete solution for measuring, monitoring, and improving your website’s performance. Built with simplicity and efficiency in mind, it enables you to:
Use cases on when to use sitespeed.io
.
sitespeed.io
adapts to your needs.sitespeed.io
into your development workflow, continuous integration systems, and monitoring setups.We’ve put countless hours into our documentation to help you get the most out of sitespeed.io
. From installation guides to advanced usage scenarios, our documentation is a treasure trove of information and tips.
Getting started with sitespeed.io
is straightforward. You can install it using Docker or NodeJS, depending on your preference and setup. Follow these simple steps to begin optimizing your website’s performance.
Using Docker is the easiest way to get started with sitespeed.io
, especially if you don’t want to handle dependencies manually. Run the following command to use sitespeed.io
in a Docker container:
docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
This command pulls the latest sitespeed.io Docker image and runs a test on the sitespeed.io website. The -v “$(pwd)”:/sitespeed.io part mounts the current directory into the container, allowing you to easily access test results.
If you prefer installing sitespeed.io
as an npm package, ensure you have NodeJS installed on your system. Then, install sitespeed.io
globally using npm:
npm i -g sitespeed.io
After installation, you can start using sitespeed.io by running:
sitespeed.io https://www.example.com
Replace https://www.example.com with the URL you wish to test. Note that using NodeJS might require additional dependencies like FFmpeg and Python. Detailed installation instructions for these dependencies can be found here.
Choose the method that best suits your environment and get ready to dive into web performance optimization with sitespeed.io!
sitespeed.io
is tailored to be user-friendly, making web performance testing accessible regardless of your technical expertise. Here’s a straightforward guide to help you begin your web performance optimization journey.
To start testing your website, simply run sitespeed.io
with the URL of the site you want to analyze. For example:
sitespeed.io https://www.example.com --browser chrome -n 5
This command tests https://www.example.com using Chrome and performs 5 iterations of the test. This approach helps in obtaining a more accurate median performance measurement by testing the site multiple times.
sitespeed.io offers a wide range of configuration options to tailor the tests to your specific needs. You can specify different browsers, adjust connectivity settings, and much more. For a comprehensive list of all available options, visit our configuration documentation.
Additionally, for a quick overview of all command-line options, you can run:
sitespeed.io --help
This command displays all the available flags and settings you can use with sitespeed.io, helping you fine-tune your performance testing to fit your unique requirements.
Whether you’re running a quick check or a detailed analysis, sitespeed.io provides the flexibility and power you need to deeply understand and improve your website’s performance.
In today’s mobile-first world, ensuring your website performs optimally on smartphones and tablets is crucial. With sitespeed.io
, you can simulate and analyze the performance of your website on mobile devices, helping you understand and improve the user experience for mobile audiences.
To start testing your website’s mobile performance, you need to setup your mobile phone for testing. We got documentation for setting up your Android phone and iOS.
When your setup is ready, you can run tests on your Android phone.
sitespeed.io https://www.example.com --android
sitespeed.io
provides insightful HTML reports that help you visualize and understand your website’s performance. Here are some examples to illustrate what you can achieve:
Here’s an example of a summary report in HTML, offering a comprehensive overview of your site’s performance metrics:
This report includes key performance indicators like load times, page size, and request counts, giving you a quick snapshot of your site’s overall health.
For more detailed analysis, here’s an individual page report:
This report dives deeper into a single page’s performance, providing metrics on aspects like scripting, rendering, and network activity, crucial for pinpointing specific areas of improvement.
To monitor your website’s performance over time, check out our live setup at dashboard.sitespeed.io, which integrates sitespeed.io
with Graphite and Grafana.
Collected metrics from a URL visualized in Graphite/Grafana:
This setup allows for continuous tracking of performance, helping you identify trends and potential issues.
Trends over time in Grafana provide a long-term view of your site’s performance:
With these insights, you can make informed decisions about optimizations and track the impact of changes you make.
For visual feedback, sitespeed.io
can generate videos, making it easier to see how your site loads in real-time. Here’s an sample video:
Video analysis is most easily done using Docker and offers a unique perspective on user experience, highlighting areas that need attention.
We welcome contributions from the community! Whether you’re fixing a bug, adding a feature, or improving documentation, your help is valuable. Here’s how you can contribute:
Before contributing, please read our CONTRIBUTING.md for more detailed information on how to contribute.
Found a bug or have a feature request? Please use the GitHub Issues to report them. Be sure to check existing issues to avoid duplicates.
Join our community! Whether you need help, want to share your experience, or discuss potential improvements, there are several ways to get involved:
We’re excited to have you in our community and look forward to your contributions and interactions!