Part 2/3 of my series "HTTP/3 from A to Z" is now online. In it, I discuss #HTTP3 and #QUIC's performance features in technical detail and nuance.
Learn why the new protocols certainly improve things but often don't entirely solve problems @smashingmag: https://t.co/z1u6dy7qF5
If you are going to use custom fonts with multiple weights and styles, try using a Variable Font. It will save extra HTTP requests and usually is half the file size.
Currently, Google Fonts offers ~50 Variable fonts to use today: https://t.co/NgWtLJrRwZ
Prevent hidden images from loading altogether by using both loading=lazy and hidden attributes. Otherwise hidden images will load in the background at low priority.
This works for all browsers that support native lazy loading: https://t.co/M1iAHLxRuX
If you are going to use custom fonts with multiple weights and styles, try using a Variable Font. It will save extra HTTP requests and usually is half the file size.
Currently, Google Fonts offers ~50 Variable fonts to use today: https://t.co/NgWtLJrRwZ
#webperf tip of the day. Make sure you have the correct `cache-control` headers on your `favicon.ico` so your CDN can cache it correctly.
This missing header caused 370,000 https://t.co/CcU3PLPTpj origin requests on Monday in the huge spike (now fixed).
#perfmatters
Conditionally load JavaScript depending on network connection, device RAM, device CPU, or even device battery level. Progressively enhance UX with JS.
Great tip from @umaar:
https://t.co/kjloFQUwQN
Use Quicklink.js to prefetch all links in user's current viewport during idle time.
- Tiny < 1KB drop-in JS library
- Works with static links + React Router routes
- Option to throttle number of total/simultaneous requests
https://t.co/4abOHDAjgY
Great tip from @csswizardry!
When you don't have access to the <head> to preload background hero images, add a hidden <img> within the hero module to request the asset earlier.
🖼 If you’re building hero-style content with background images—maybe even through a CMS—you can hugely improve rendering times (LCP) with one additional line of HTML.
Which host is the fastest in terms of TTFB (time to first byte)?
Is My Host Fast Yet? by @rick_viscomi identifies TTFB latencies as experienced by real-world users:
https://t.co/HUAQGYw2h8
Instead of showing gray placeholder boxes for images while they load—try using BlurHash, a tiny blurred representation of the image. https://t.co/E7Xf2MaMra uses this library.
BlurHash by @woltapp:
https://t.co/aH4Eirz05p
Customize Lighthouse audits with custom tests. E.g. Check for social meta tags, pages are listed in the sitemap, custom perf metrics, etc.
Building custom Lighthouse audits by @DebugBear: https://t.co/k0VmUR2utx
You want to run a test with WebPageTest but the waiting is long? Check https://t.co/gQfIWG6DWz to choose a free or less used resource (browser/location). #webperf#tip