
904 articles from web.dev.


Learn what impact website performance has on different parts of the ecommerce funnel

Steps to follow if you think that your site may be hacked.

Learn more about who is involved in the Web Payments ecosystem, how they interact with each other, and how you can participate.

Learn how the Payment Request API works at a high level.

Search engines are the digital version of a librarian. They use a comprehensive index to help find the right information for a query. Understanding the basics of search prepares you to make your content discoverable for users.

Learn what Baseline targets are, how to choose one, and how it can help your development experience.

How to get and serve SXG files using nginx, and the challenges of subresource prefetching.

Telling browser vendors about issues you find in their browser, on a specific device or platform is an integral part of making the web platform better!

Real-world performance is highly variable due to differences in users' devices, network connections, and other factors. In this post we explore tools that can help you collect lab or field data to assess page performance.

How to review your site for accessibility issues.

How to generate a TLS certificate with SXG extensions, install tools for generating SXG files, and configure nginx to serve SXG files.

Brands that optimize speed will often find they regress quickly. In this post we explore how to make sure your fast experience stays fast.


In this first post from the web.dev engineering team, learn about how we build the site—including our use of Eleventy and Web Components.

A peek into the process and tools used to build the holiday-calendar-style experience of Designcember.


The browser's HTTP Cache is your first line of defense against unnecessary network requests.

Forgetting or misusing the Cache-Control header might negatively impact the security of your website and your users' privacy. Get recommendations for high-value websites.

Modern browsers make it easy to customize certain components, like icons, the address bar color, and even add things like custom tiles. These simple tweaks can increase engagement and bring users back to your site.

Coming up with the right caching strategies for your web application requires getting a handle on what exactly you're loading. When building a reliable web application, the network can be subject to all kinds of dark forces. You need to understand the network's vulnerabilities if you hope to cope with them in your app.

Learn how to use Lighthouse and Chrome DevTools to identify slow third-party resources.

How to search for vulnerabilities on your site.

This post covers the loading attribute and how to use it to control the loading of iframes.

Consider using an image CDN to optimize your site's images and reduce its data cost for your users.

Comments from survey respondents about various image optimization techniques.

Images take up a significant amount of visual space and make up the majority of the downloaded bytes on a website. Use the new feature policies to identify oversized images.

Check out the state of image tooling.

How to communicate window and service worker to perform tasks related to performance, caching and offline.


Online stores can see a 270% increase in conversions by displaying product reviews. Support better reviews with client-side AI.

The best way to keep an eye on your performance budget is to automate it. Find out how to choose a tool that best fits your needs and current setup.

A guide to the basics of IndexedDB.

Learn best practices for syncing application state between IndexedDB and popular state management libraries.


The inert property is a global HTML attribute that simplifies how to remove and restore user input events for an element, including focus events and events from assistive technologies.

This post introduces the Interaction to Next Paint (INP) metric and explains how it works, how to measure it, and offers suggestions on how to improve it.

Progressive Web App installability criteria.

IntersectionObservers let you know when an observed element enters or exits the browser's viewport.

Intersection Observer v2 can detect if an element was visible at the time of intersection.

Two of the hurdles developers face when migrating to HTTPS are concepts and terminology. This guide provides a brief overview of both.

The `fetch()` API is landing in the window object and can replace XHRs.

This handy CSS pseudo-selector gives you a way to select elements that are modal.

Figuring out the value of `this` can be tricky in JavaScript, here's how to do it…

Understand the differences between frameworks and libraries in the context of a client-side JavaScript environment.

Many users rely on the keyboard to navigate applications. Design a keyboard navigation strategy for your application to create a better experience for everyone.

Learn why tools that monitor Core Web Vitals metrics may report different numbers, and how to interpret those differences.

For a screen reader to present a spoken UI to the user, meaningful elements must have proper labels or text alternatives.

This post explains lazy loading and the options available to you to lazy loading video.

This post introduces the Largest Contentful Paint (LCP) metric and explains how to measure it

Eagerly loading images within the initial viewport—while liberally lazy loading the rest—can improve Web Vitals while loading fewer bytes.


Learn how merchants integrate payment apps, how payment transactions work with the Payment Request API, and what's possible in Web Payments.

description: Define colors that react to the used color-scheme with the light-dark() function.

Learn how to setup Lighthouse CI and integrate it into developer workflows.

Try out a new Lighthouse API to measure performance and best practices throughout a user flow.

Learn about rel=prefetch resource hint and how to use it.

A summary of the major news and updates that were announced during our 3-day online community event, and a reminder about upcoming regional events.

Take a look at a few real-world LLMs and the practical implications of different model sizes.

Feature phones are making a resurgence and are popular, especially in emerging markets where 2G is the norm. Here are our learnings from making PROXX, a mobile Minesweeper clone, load fast on feature phones on 2G.