perf: Load fonts with font-display swap, preloads and caching#889
Open
lfrancke wants to merge 1 commit into
Open
perf: Load fonts with font-display swap, preloads and caching#889lfrancke wants to merge 1 commit into
lfrancke wants to merge 1 commit into
Conversation
✅ Deploy Preview for stackable-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Mobile Lighthouse attributes ~400 ms of first-paint delay to the fonts blocking text rendering: - font-display: swap on all six faces, so text renders in the fallback font until the webfonts arrive. - Preload the two above-the-fold fonts (body Noto Sans 400 and heading IBM Plex Mono 600), so they usually arrive before first paint anyway. - Cache the UI bundle assets for a day via netlify.toml headers (the Lighthouse cache-lifetimes finding; a day keeps a stale-css window after deploys short since the file names are not content-hashed).
ebb98f1 to
7af036a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
First slice of the performance batch from the docs overhaul plan (mobile Lighthouse baseline: Performance 79, FCP 3.1 s, LCP 4.4 s - almost entirely loading, TBT/CLS are already 0):
font-display: swapon all six @font-face rules infonts.css- text renders immediately in the fallback font instead of waiting for webfonts (Lighthouse estimates ~400 ms). Also fixes the stale gulp reference in that file's comment.head-styles.hbs, so the swap window is usually invisible in practice.Cache-Control: max-age=86400for/_/*via netlify.toml (the cache-lifetimes finding). One day, deliberately not longer: the bundle file names aren't content-hashed, so this bounds the stale-css window after a deploy.The remaining Lighthouse items (Font Awesome removal, conditional Mermaid, deferred Pagefind) are separate follow-up PRs.