Performance · Checked on every page
Total page requests and resourcesWhat it checks and how to fix it
What it checks
Counts the requests the page's HTML triggers: scripts, stylesheets, images, font links, iframes, and video and audio sources. Passes up to 80 requests unless there are more than 15 scripts, more than 5 stylesheets or more than 50 images (then it warns), warns between 81 and 100 requests, and fails above 100.
Why it matters
Every request costs a round trip and competes for bandwidth with the ones the page needs first. Pages that pull in a hundred or more resources load slowly on mobile networks, keep the main thread busy, and are fragile, since any one slow third party can hold up the rest.
How to fix it
Cut the number of requests the first view needs:
- Bundle scripts and stylesheets into a few files (esbuild, Vite, webpack, or the Rails asset pipeline).
- Lazy-load images and iframes below the fold so they are not requested up front.
- Use inline SVG or an SVG sprite instead of many small icon images.
- Remove third-party widgets, tags and fonts the page does not need.
<img src="/images/gallery-12.webp" alt="Gallery photo" loading="lazy" width="600" height="400">
<iframe src="https://www.youtube-nocookie.com/embed/VIDEO_ID" loading="lazy" title="Product demo"></iframe>