Choosing the right audit tool for the job

Building a performant, resilient site with low data cost means auditing against each of your core objectives. The available tooling spans system utilities, built-in browser tools, browser extensions, online test applications, emulation tools, analytics, server-side metrics, screen and video recording, and manual tests. Different audits call for different approaches.

Auditing network activity and resource delivery

Start with your browser’s network tools to inspect the number, size, type and timing of resource requests. Chrome DevTools offers a network panel with a get-started guide; equivalents exist for Firefox, Safari, and Microsoft browsers.

Before measuring, disable the browser cache to get accurate first-load statistics. If you serve a service worker, clear Cache API storage as well. An Incognito or Private window sidesteps both concerns without manual resets. Record baseline results before any changes—a screenshot may suffice, or you can save network profile data as JSON for later comparison.

While inspecting the network, check for:

  • Load performance: Lighthouse summarizes load metrics; refer to key user moments guides for context.
  • Timeline events for loading, parsing and memory usage via the performance panel, with deeper JavaScript and memory profiling as needed.
  • Total page weight and file count.
  • JavaScript: number, weight, and any individual file over roughly 100KB. Use the Chrome coverage tool to spot unused code.
  • Images: total count and weight; flag very large files; verify that PNGs aren’t better served as JPEGs or SVGs; confirm WebP usage includes fallbacks; check whether srcset and responsive techniques are in place.
  • HTML: raw file size.
  • CSS: total weight and unused rules—use the Chrome coverage panel.
  • Other assets: web fonts and icon fonts for problematic usage.
  • Blockers: anything that holds up page load in the DevTools timeline.

If you normally develop on fast connections, re-run tests with low bandwidth and high latency emulation. Also remember that some sites serve different assets via UA sniffing, so verify on real mobile hardware using remote debugging rather than relying only on device simulation.

Assessing memory and CPU usage

Chrome’s Task Manager (Window menu) gives a quick look at what a page consumes in memory and CPU. Capture this baseline before you start optimizing.

Chrome Task Manager showing memory and CPU usage for
  the four open browser tabs
Chrome's Task Manager — watch out for memory and CPU hogs!

Measuring first and repeat loads

Lighthouse, WebPagetest and PageSpeed Insights take different angles on speed, data cost and resource usage. WebPagetest additionally checks static-content caching, time to first byte, and whether you’re effectively using CDNs.

Storing and sharing test results

Chrome Lighthouse button for downloading reports

Validating Progressive Web App requirements

Lighthouse also checks security, functionality, accessibility and SEO. For PWAs specifically, it verifies service worker registration, Web App manifest presence, and whether your site provides an acceptable offline experience.

Download the report as JSON, or if you use the Lighthouse Chrome Extension, share it as a GitHub Gist: click share, choose Open in Viewer, then share again in the new window and save as Gist.

Screenshot showing how to export a Chrome Lighthouse
  report as a gist
Export a report to a gist from the Lighthouse Chrome Extension — click the share button

Tying performance to real-world business metrics

If you can, capture analytics before making changes: bounce rates, time on page, exit pages—whatever matters for your business. Record any technical or business metrics that might be affected, such as orders per minute, back-end storage costs, CPU requirements or serving costs, since lighter pages should improve several of these.

If analytics aren’t implemented yet, put them in place now; business metrics ultimately decide whether your site works. Add event tracking for user actions and consider goal flow analysis to trace paths toward conversions. Google AnalyticsSite Speed reports help correlate technical performance with business outcomes, like whether a fast homepage leads to a sale.

Screenshot showing Google Analytics Site Speed

Google Analytics pulls from the Navigation Timing API. For custom metrics, you can use the JavaScript performance APIs:

    const subscribeBtn = document.querySelector('#subscribe');

    subscribeBtn.addEventListener('click', (event) => {
     // Event listener logic goes here...

     const lag = performance.now() - event.timeStamp;
     if (lag > 100) {
      ga('send', 'event', {
       eventCategory: 'Performance Metric'
       eventAction: 'input-latency',
       eventLabel: '#subscribe:click',
       eventValue: Math.round(lag),
       nonInteraction: true,
      });
     }
    });

The ReportingObserver API surfaces browser deprecation and intervention warnings; see the list of related live measurement APIs for more options.

Documenting experiences: screen and video recordings

A high-frame-rate video of page load on mobile and desktop, ideally with a visible timer, gives you an immediate feel for what’s quick and what lags. This mirrors the filmstrip view in WebPagetest or Capture Screenshots in DevTools, but in a real browser context.

Screencast tools exist for Android, iOS and desktop platforms. Keep both recordings and screencasts for before-and-after comparisons—a side-by-side result is often the most compelling demonstration of improvement.

Supplemental checks

Two lightweight tools add perspective: the Web Bloat Score measures page weight versus useful text content, and What Does My Site Cost? estimates the monetary cost of loading your site across regions.

Screenshot from whatdoesmysitecost.com

For a broader set of options, browse the tools directory at perf.rocks/tools.