The blog post discusses the importance of using real low- and mid-tier mobile devices for web performance testing in 2025, specifically recommending the Samsung Galaxy A15 5G and A54 5G as representative devices. It emphasizes the...
The blog post analyzes the web performance of bike brands participating in the 2025 Tour de France, comparing their Core Web Vitals scores to assess which brands have the fastest websites. It highlights the top-performing brands, ...
The article discusses the new Performance Extensibility API introduced in Google Chrome, which allows developers to enhance their performance profiling capabilities in DevTools. It explains how to use performance.mark() and perfor...
The article discusses the Cache-Control request header, its usage, and behavior in different browsers. It explains the difference between refresh and hard refresh, and the scenarios where developers might want to add their own Cac...
The author discusses the debate of whether HTML is a programming language, expressing his love for HTML but arguing that it is not a programming language in any useful sense. He emphasizes the importance of taking HTML seriously a...
The article discusses the importance of building for the web, on the web, and with the web. It emphasizes the need to iterate quickly on a slow-moving platform and avoid open-source vendor lock-in. The author advocates for embraci...
Harry Roberts, a web performance consultant, has decided to license all code on CSS Wizardry under the MIT License. This decision aims to maintain the free and open spirit of csswizardry.com while ensuring a small nod of recogniti...
The post discusses the Speculation Rules API and how it can be used to improve site performance. It explains the different types of speculative loading, how to use Speculation Rules on a website, and a multi-tiered approach to opt...
The blog post discusses the process of designing a new web performance score called CrRRUX. The author explains the challenges of comparing web performance across multiple sites and the need for a single, simple value that clients...
The blog post provides the official Core Web Vitals colours for slides and presentations, along with different colour formats. It is written by Harry Roberts, a web performance consultant and CSS expert.
The blog post discusses the importance of having contract templates for tech consultants, specifically addressing common challenges such as securing intellectual property, managing payment terms, and avoiding scope creep. It also ...
The text discusses the importance of optimising for high latency environments, focusing on round-trip-time (RTT) data and how it impacts web performance. It provides insights into reducing transfer size, using CDNs, fast DNS provi...
The blog post discusses the importance of caching and how it affects site performance. It delves into different types of navigation and their implications, as well as insights from data on how people visit and traverse websites. T...
The blog post discusses the blocking=render attribute for <script> and <style> elements, explaining its purpose and how it impacts web performance. It covers the blocking status of files, the impact on web fonts, and its applicati...
The blog post discusses the importance of correctly configuring preconnects to enhance site speed and reliability. It provides examples and explanations of when to use preconnect, how to identify important origins, and how to avoi...
The blog post discusses the three main processes of web performance: concatenating files on the server, compressing them over the network, and caching them at the other end. It explains the impact of HTTP/2 on concatenation strate...
The blog post discusses the maximum max-age value for caching files, explaining that the maximum value is 2147483648 seconds, or 68 years. It delves into the use of max-age and the immutable directive, and how fingerprinted files ...
The blog post discusses how to clear cache and cookies on a customer's device. It explains the challenges of guiding non-technical customers through the process and introduces the Clear-Site-Data HTTP header as a solution. The pos...
The blog post discusses the use of low-quality image placeholders to enhance user experience while waiting for images to load. It explains the relationship between low-quality image placeholders and Core Web Vitals, and provides d...
This blog post by Harry Roberts discusses the role of Core Web Vitals in SEO, emphasizing the importance of site speed for rankings. It explains that Google uses URL-level Core Web Vitals data from CrUX to determine rankings, and ...
The article discusses why HTTP/2 waterfalls often still look like HTTP/1.x, despite the promise of infinite parallel requests. It explains that making more requests doesn't necessarily make everything faster due to device and netw...
The article discusses the importance of the DOMContentLoaded event as a metric for measuring site speed and user experience. It explains how DOMContentLoaded can provide insights into the runtime behavior of a website, especially ...
The blog post is an update to the author's 2020 article on Site-Speed Topography, a technique for analyzing a website's performance using key URLs and metrics. The author explains the methodology and introduces a new spreadsheet t...
The blog post discusses the negative impact of using document.write() on web performance. It explains how document.write() hides files from the Preload Scanner, forces scripts to block DOM construction, and executes synchronously....