Skip to content

Benchmark the web performance and accessibility of sites over time.

License

Notifications You must be signed in to change notification settings

zachleat/speedlify

Repository files navigation

speedlify

After you make a fast web site, keep it fast by measuring it over time. Read Use Speedlify to Continuously Measure Site Performance. Created by @zachleat.

  • Requires Node 12+
  • Each file in _data/sites/*.js is a category and contains a list of sites for comparison.

Run locally

After cloning you’ll probably want to delete the initial _data/sites/*.js files and create your own file with a list of your own site URLs!

npm install
npm run test-pages
npm run start

Related

Deploy to Netlify

Can run directly on Netlify (including your tests) and will save the results to a Netlify build cache (via Netlify Build Plugins, see plugins/keep-data-cache/).

After cloning you’ll probably want to delete the initial _data/sites/*.js files and create your own file with a list of your own site URLs!

Speedlify will also save your data to /results.zip so that you can download later. Though this has proved to be unnecessary so far, it does serve as a fallback backup mechanism in case the Netlify cache is lost. Just look up your previous build URL and download the data to restore.

Netlify Status

Known Limitations

  • If you change a URL to remove a redirect (to remove or add a www., moved domains, etc), you probably want to delete the old URL’s data otherwise you’ll have two entries in the results list.
  • When running on Netlify, a single category has a max limit on the number of sites it can test, upper bound on how many tests it can complete in the 15 minute Netlify build limit.
  • The same URL cannot be listed in two different categories (yet).

Pay for something better

Speedlify is intended as a stepping stone to more robust performance monitoring solutions like: