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.
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
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.
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: