Here we use Speedlify to Continuously Measure Site Performance of UNDRR websites.
- Requires Node 12+
- Each file in
_data/sites/*.js
is a category and contains a list of sites for comparison. - This is a fork from https://github.com/zachleat/speedlify
npm install
npm run dev
We do not yet build the assets as CI.
Locally you must:
npm run build-production
- Commit assets from
_data
directory - Push to the remote
- Github will then automatically dpeloy the latest changes
- The Eleventy Leaderboards are running on Speedlify
- speedlify.dev shows some sample categories
- Use the
<speedlify-score>
component to show your scores on your page. Read more at I added Lighthouse Scores to my Site’s Footer and You Can Too - The Eleventy Starter Projects list shows Lighthouse scores from Speedlify. Read more at The Lighthouse Scores Will Continue Until Morale Improves.
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.
- Run every day or week: You can set Speedlify to run at a specified interval using a Netlify Build Hook, read more on the Eleventy docs: Quick Tip #008—Trigger a Netlify Build Every Day with IFTTT.
- 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).
Speedlify is intended as a stepping stone to more robust performance monitoring solutions like: