Back to templates

Template details

Speedlify

Benchmark the web performance and accessibility of sites over time.

About this template

Speedlify is an open-source Eleventy-based tool that continuously tracks Lighthouse performance and accessibility scores for a list of websites, publishing the results as a static site.

What is Speedlify?

Speedlify takes a list of site URLs defined in JavaScript files under _data/sites/*.js, runs Lighthouse tests, and generates a static site that charts performance and accessibility scores over time. It requires Node 12+ and can run locally or directly on Netlify, where results are saved to the Netlify build cache. Speedlify was created by Zach Leatherman (@zachleat), the creator of the Eleventy static site generator.

Key Features

  • Category-based site lists — Each file in _data/sites/*.js defines a category containing multiple site URLs for comparison.
  • Continuous measurement — Re-run tests on a schedule via Netlify Build Hooks to track performance over time.
  • Netlify deployment — Runs directly on Netlify, including tests, and saves results to the Netlify build cache via a build plugin (plugins/keep-data-cache/).
  • Results backup — Downloads a /results.zip archive from any build for fallback backup if the cache is lost.
  • Leaderboard functionality — Powers the Eleventy Leaderboards, comparing site scores side-by-side.
  • Score widget integration — Pairs with the <speedlify-score> web component to show your Lighthouse scores on your own site footer.
  • Accessibility tracking — Measures accessibility alongside performance using Lighthouse metrics.
  • Local development — Run npm install, npm run test-pages, and npm run start to test locally before deploying.

Who is it for?

  • Web developers who want to keep their own sites fast by continuously monitoring Lighthouse scores.
  • Static site authors using Eleventy who want to display performance scores in their project listings.
  • Open-source maintainers wanting to benchmark multiple sites, like the Eleventy Starter Projects list.
  • Agencies and consultants monitoring client sites' performance over time.

What can you do with Speedlify?

  • Compare sites in a category: Define a category file with competitor or peer sites and see how your site ranks.
  • Track performance regressions: Schedule weekly builds and watch score history to catch slowdowns early.
  • Publish a public leaderboard: Use Speedlify to run something like the Eleventy Leaderboards.
  • Embed scores on your site: Use the accompanying speedlify-score component to display your Lighthouse scores in your site's footer.

How does Speedlify work?

Speedlify runs Lighthouse tests against every URL in your category files during a build, stores the JSON results, and generates a static site that charts scores over time. It is designed to run as a Netlify build, with the build plugin preserving the data cache between builds so history accumulates. You can trigger builds on a schedule using Netlify Build Hooks (e.g., via IFTTT).

Known Limitations

  • If a URL's redirect changes (adding/removing www. or moving domains), you should delete the old URL's data to avoid duplicate entries.
  • On Netlify, a single category has a maximum number of sites it can test due to the 15-minute build limit.
  • A URL cannot be listed in two different categories yet.

Alternatives

Speedlify is intended as a stepping stone to more robust performance monitoring solutions like SpeedCurve, Calibre, and DebugBear, which offer deeper analytics and alerting.

FAQ

Is Speedlify free?

Speedlify is open-source under the project's GitHub repository and free to use. The only cost is for hosting your instance, such as a Netlify account.

What does Speedlify test?

Speedlify runs Lighthouse tests that measure performance and accessibility. The results are stored over time so you can see trends and catch regressions.

Can I run Speedlify without Netlify?

Yes. You can run it locally with Node 12+ using npm install, npm run test-pages, and npm run start. The Netlify integration is optional.

How do I add my site to Speedlify?

Create or edit a JavaScript file inside _data/sites/. Each file represents a category and returns a list of site URLs to benchmark.

Does Speedlify support multiple categories?

Yes, each file in _data/sites/*.js is a separate category. Note that the same URL cannot appear in more than one category at this time.

screenshot of Speedlify on template0.com