Panduan Critical CSS
Critical CSS — extracting di atas--fold styles, inlining them, dan deferring rest untuk speed up pertama paint. Mengapa Google panggilan ini advanced dan opsional, nyata tradeoffs (lost caching, maintenance risk, race conditions), dan cara tell apakah CSS adalah bahkan Anda bottleneck.
Bahasa
Critical CSS adalah sebuah performa technique: extract CSS needed untuk render sebuah chosen di atas--fold view, inline ini di <head>, dan defer rest dari stylesheet asynchronously. ini berfungsi karena CSS adalah render-blocking oleh default — browser tidak akan paint until CSSOM adalah dibangun. ada Tidak universal di atas--fold height (device, orientation, zoom, dan halaman state semua perubahan ini), so treat split sebagai sebuah decision, tidak sebuah fixed pixel cutoff. single sebagian besar penting hal untuk mendapatkan right: Google frames critical CSS sebagai sebuah advanced, opsional technique, tidak default advice — -nya own docs say 'sebagian besar situs seharusnya menjadi able untuk achieve semua dari kami recommended performa targets tanpa implementing ini technique.' tradeoffs adalah nyata: inlined CSS tidak cached untuk repeat visits (kedua views dapat menjadi lebih lambat), critical/non-critical split silently breaks sebagai templates atau status perubahan, sebuah CSP style-src policy dapat block inline block outright, dan preload/onload deferral dapat race atau penyebab layout shift. Diagnose pertama — konfirmasi CSS (tidak JavaScript atau server respons time) adalah sebenarnya Anda rendering bottleneck sebelum Anda touch ini. SEO impact adalah indirect, melalui Core Web Vitals/LCP, tidak sebuah direct sinyal peringkat. ada Tidak Bing-spesifik guidance. ini halaman nests di bawah critical rendering path hub.
TL;DR — Critical CSS adalah sebuah speed trick: take hanya styles needed untuk bagian dari halaman orang see pertama, paste itu secara langsung ke HTML, dan muat rest dari Anda stylesheet kemudian. ini dapat membuat sebuah halaman muncul lebih cepat — tetapi Google itself says sebagian besar situs jangan perlu ini, dan ini memiliki nyata downsides. Diagnose sebelum Anda reach untuk ini.
Apa critical CSS adalah
Ketika sebuah browser memuat sebuah halaman, ini tidak akan draw apa pun pada screen until ini memiliki baca Anda CSS. itu’s pada purpose — jika tidak halaman akan flash up unstyled dan lalu jump sekitar. tetapi ini berarti sebuah slow atau bulky stylesheet dapat hold up seluruh pertama paint.
Critical CSS adalah satu cara sekitar itu. idea memiliki dua bagian:
- Inline penting styles. Pull out hanya CSS needed untuk
di atas—fold konten ( bagian terlihat sebelum Anda scroll) dan put ini straight
ke halaman’s
<head>. Now browser memiliki apa ini perlu untuk paint top dari halaman tanpa menunggu untuk sebuah terpisah file. - Defer rest. muat penuh stylesheet asynchronously, so ini tidak block itu pertama paint. ini arrives sebuah moment kemudian dan styles rest.
Google’s web.dev team defines ini sebagai sebuah technique itu extracts CSS untuk di atas—fold konten di order untuk render konten untuk pengguna sebagai fast sebagai mungkin.
Evidence for this claim Critical CSS extracts and inlines above-the-fold styles so the remaining CSS can load asynchronously. Scope: web.dev definition and implementation outline for critical CSS. Confidence: high · Verified: web.dev: Extract critical CSShal sebagian besar orang mendapatkan wrong
sebagian besar artikel present critical CSS sebagai sesuatu Anda seharusnya melakukan. Google’s own docs say opposite untuk sebagian besar situs: sebagian besar situs seharusnya menjadi able untuk achieve semua dari kami recommended performa targets tanpa implementing ini technique. ini adalah sebuah advanced, terakhir-resort optimization — tidak sebuah default box untuk tick.
Evidence for this claim web.dev presents critical CSS as an advanced technique that can cause bugs and says most sites can meet performance targets without it. Scope: web.dev codelab guidance; not a universal recommendation. Confidence: high · Verified: web.dev: Extract and inline critical CSSdan ini tidak free. Ketika Anda inline CSS ke HTML, browser dapat’t cache ini untuk Anda lainnya halaman cara ini caches sebuah wajar stylesheet — so sebuah pengunjung’s kedua halaman view pada Anda situs dapat sebenarnya menjadi lebih lambat. split antara “critical” (terjemahan) “critical” dan “itu rest” (terjemahan) “ rest” juga memiliki untuk menjadi maintained; perubahan Anda template dan ini dapat diam-diam break.
melakukan ini help SEO?
hanya indirectly. CSS itself tidak baca sebagai sebuah sinyal peringkat — Google’s Martin Splitt memiliki mengatakan mereka jangan care tentang Anda CSS class names. Apa critical CSS dapat help adalah bagaimana fast halaman muncul, yang feeds Core Web Vitals (secara khusus LCP), dan Core Web Vitals adalah sebuah kecil peringkat input. So path adalah: lebih cepat paint → better LCP → sebuah modest SEO benefit — tidak “critical CSS adalah a ranking factor.” (terjemahan) “critical CSS adalah sebuah peringkat factor.”
ingin nyata versi — cara implement ini, Google’s sebenarnya position, tradeoffs, dan cara tell apakah CSS adalah bahkan Anda bottleneck? Switch untuk Advanced tab.
TL;DR — Critical CSS = extract di atas—fold styles, inline them di
<head>, dan defer rest dari stylesheet asynchronously (rel="preload"+onloadtukar,<noscript>fallback, atauloadCSS). ini berfungsi karena CSS adalah render-blocking oleh default. accuracy spine: Google frames ini sebagai advanced dan opsional, tidak default advice — “Paling sites seharusnya menjadi able untuk achieve all dari our recommended performance targets tanpa implementing ini technique.” (terjemahan) “sebagian besar situs seharusnya menjadi able untuk achieve semua dari kami recommended performa targets tanpa implementing ini technique.” pertahankan pertahankan inlined payload kecil. tradeoffs adalah nyata: inlined CSS tidak cached di seluruh halaman memuat (repeat visits dapat menjadi lebih lambat), critical/non-critical split breaks sebagai templates perubahan, dan deferral dapat race atau penyebab FOUC/CLS. Diagnose pertama — konfirmasi CSS (tidak JavaScript atau server time) adalah sebenarnya bottleneck. Watch untuk landmines sebuah quick demo tidak akan tampilkan Anda: sebuah CSPstyle-srcpolicy dapat block Anda inline<style>block outright, “unused di capture” (terjemahan) “unused di capture” tidak yang sama sebagai “safe to defer” (terjemahan) “safe untuk defer” di seluruh themes/personalization/status, dan inlining tidak solve font-memuat timing. SEO impact adalah indirect melalui Core Web Vitals/LCP. Tidak Bing-spesifik guidance ada.
Apa critical CSS sebenarnya adalah
masalah ini solves adalah render-blocking CSS. Google’s web.dev adalah jelas: oleh default, CSS adalah treated sebagai sebuah render-blocking resource, yang berarti itu browser tidak akan render apa pun processed konten until CSSOM adalah constructed. itu’s seluruh alasan technique ada — browser refuses untuk paint until ini memiliki Anda styles, so apa pun itu delays CSS delays pertama paint. (untuk penuh pipeline itu sits underneath ini, see critical rendering path hub ini halaman nests di bawah, dan -nya companion, render-blocking resources.)
Critical CSS attacks itu oleh splitting Anda CSS di dua.
web.dev’s definition:
“Critical CSS adalah a technique itu extracts itu CSS untuk di atas-itu-fold konten di
order untuk render konten untuk itu user sebagai fast sebagai possible.” (terjemahan) “Critical CSS adalah sebuah technique itu extracts CSS untuk di atas—fold konten di
order untuk render konten untuk pengguna sebagai fast sebagai mungkin.” dan mechanics:
Menempatkan style yang diekstrak di <head> dokumen HTML sehingga tidak diperlukan permintaan tambahan untuk mengambil style tersebut. Sisa CSS dapat dimuat secara asinkron
Satu hal web.dev adalah upfront tentang, dan sebuah lot dari sekunder guides gloss di atas: ada Tidak single, universal di atas—fold height — device size, orientation, browser chrome, zoom tingkat, dan halaman state (sebuah open menu, dimuat personalization, sebuah error state) semua perubahan apa sebenarnya memiliki untuk menjadi di “critical” (terjemahan) “critical” set. Treat critical CSS sebagai sebuah decision tentang sebuah chosen awal viewport/state, tidak sebuah fixed pixel cutoff, dan validate terhadap Anda nyata breakpoints dan status — tidak satu desktop screenshot.
So ini adalah dua jobs, di order:
- Inline minimal di atas—fold CSS di
<head>— Tidak extra round trip sebelum pertama paint. - Defer rest dari stylesheet — muat ini asynchronously so ini tidak pernah blocks itu pertama paint.
ini adalah persis bagaimana I’ve split ini di my halaman-experience talks. di my apa Berikutnya untuk pengalaman halaman deck (SMX Berikutnya 2021) I put CSS berfungsi di dua buckets: sebuah early/critical path (hapus unused CSS → minify CSS → inline critical CSS) dan sebuah late/deferred path (defer non-critical CSS). sama shape sebagai web.dev’s, hanya ordered cara I think tentang ini.
cara implement ini
langkah 1 — inline critical CSS. Lighthouse’s own guidance adalah untuk
inline critical styles diperlukan untuk pertama paint di dalam sebuah <style> block di head dari HTML halaman.
Google’s size target untuk itu inlined payload, dari yang sama halaman:
aim untuk pertahankan di atas—fold konten di bawah 14 KB (compressed),
so ini fits di pertama network round trip. Treat itu angka sebagai historical
transport guidance alih-alih sebuah timeless spec — sumber halaman adalah dated 2019 dan
lebih lama dari hari ini’s wide HTTP/2 dan HTTP/3 deployment, keduanya dari yang perubahan pertama-
round-trip math. ini adalah masih angka Google’s own docs cite, tetapi jika Anda’re
tuning tightly, verify ini terhadap Anda saat ini protocol dan server perilaku
alih-alih treating 14 KB sebagai gospel.
langkah 2 — defer rest. pattern web.dev recommends untuk
deferring non-critical CSS adalah sebuah
preload dengan sebuah onload tukar plus sebuah <noscript> fallback:
<link rel="preload" href="styles.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="styles.css"></noscript>web.dev’s advice untuk production adalah untuk
gunakan CSS-deferring functions, such sebagai loadCSS, itu encapsulate ini perilaku dan berfungsi well di seluruh browser
alih-alih hand-rolling tukar. jika Anda defer dengan JavaScript alih-alih, web.dev
notes itu
menunggu untuk JavaScript untuk execute sebelum memuat non-critical CSS dapat penyebab delays di rendering ketika pengguna scroll —
yang adalah mengapa preload adalah digunakan untuk kick download off sooner.
Tooling. Anda rarely extract critical CSS oleh hand. Google’s reference
implementation adalah
critical npm package
(Addy Osmani) — “a tool itu extracts, minifies dan inlines di atas-itu-fold CSS.” (terjemahan) “sebuah alat itu extracts, minifies dan inlines di atas—fold CSS.”
Alternatives sertakan Penthouse dan CriticalCSS, plus sebuah pile dari SaaS/plugin
generators untuk WordPress dan Shopify. untuk temukan critical aturan yourself, Google
poin Anda di
Coverage tab di Chrome DevTools untuk identify non-critical CSS dan JS.
jika Anda’re menggunakan sebuah plugin atau generator (WP Rocket, Autoptimize, dan similar), jangan take sebuah vendor’s UI walkthrough atau sebelum/setelah score screenshot sebagai sebuah platform jaminan — itu halaman mix product versi dan spesifik-situs hasil freely, dan score deltas tidak independently reproduced. sebelum trusting satu di production: konfirmasi perilaku terhadap plugin’s saat ini docs dan versi angka, dan hold ini untuk yang sama test matrix Anda’d gunakan untuk sebuah hand-rolled implementation — cold dan repeat memuat, Anda nyata breakpoints/themes/status, dan Anda CSP policy jika Anda jalankan satu.
Note itu critical CSS adalah hanya satu dari memperbaiki untuk render-blocking CSS.
others adalah scoping stylesheets dengan media attribute (so mereka download tetapi
jangan block paint) dan hanya shipping lebih sedikit CSS di pertama place — web.dev’s
render-blocking artikel sebenarnya leans pada media-attribute approach alih-alih
inlining, so Google memiliki lebih daripada satu official prescription depending pada yang doc
Anda baca.
Google’s sebenarnya position ( accuracy spine)
ini adalah bagian hampir setiap competing artikel buries, dan ini adalah seluruh alasan I wanted untuk tulis ini satu. Google melakukan tidak present critical CSS sebagai default advice. -nya codelab adalah blunt tentang risk: ini codelab mendeskripsikan sebuah advanced performa technique itu dapat meningkatkan performa, tetapi dapat juga lead untuk bugs jika tidak implemented properly. dan, twice di seluruh -nya docs, Google says sebagian besar situs tidak seharusnya bother: sebagian besar situs seharusnya menjadi able untuk achieve semua dari kami recommended performa targets tanpa implementing ini technique.
Evidence for this claim web.dev presents critical CSS as an advanced technique that can cause bugs and says most sites can meet performance targets without it. Scope: web.dev codelab guidance; not a universal recommendation. Confidence: high · Verified: web.dev: Extract and inline critical CSSbahkan upside muncul dengan sebuah warning. web.dev flags itu inlining juga memiliki beberapa downsides di itu ini mencegah browser dari caching CSS untuk reuse pada subsequent halaman memuat, so ini adalah best untuk gunakan ini sparingly — dan, pada di atas-melakukan ini, jika semuanya adalah prioritized lalu tidak ada apa pun adalah. di atas-inline dan Anda bloat HTML Anda’re trying untuk deliver fast.
So honest framing adalah: critical CSS adalah sebuah nyata, terdokumentasi, sometimes-powerful technique — dan sebuah advanced, opsional, terakhir-resort satu itu Google says sebagian besar situs jangan perlu untuk hit mereka targets. Treat ini itu cara.
nyata tradeoffs
Independent performa engineers memiliki telah loudest voices di sini, dan mereka line up dengan Google’s own caveats.
Lost caching pada repeat visits. DebugBear’s Matt Zeunert status ini plainly: critical CSS dapat’t menjadi re-digunakan antara berbeda halaman memuat pada Anda situs web. So subsequent halaman views dapat sebenarnya menjadi lebih lambat daripada mereka akan menjadi tanpa critical CSS. sebuah wajar external stylesheet adalah cached setelah dan reused di mana-mana; inlined CSS adalah re-downloaded di dalam setiap HTML respons.
Maintenance dan regression risk. Harry Roberts’ contrarian piece adalah sebagian besar-cited take, dan his warning adalah itu retrofitting Critical CSS adalah difficult dan error prone: setelah Anda’ve identified CSS sebagai Anda bottleneck, “you need to keep it that way… One wrong decision can undo everything.” (terjemahan) “Anda perlu pertahankan ini itu cara… Satu wrong decision dapat undo semuanya.” ada Tidak automatic re-validation — sebuah template atau design perubahan dapat silently break Anda critical/non-critical split.
Race conditions di deferral. Roberts juga poin out preload/onload
tukar dapat backfire pada timing:
jika ini takes 1s untuk parse Anda <head> dan 0,5s untuk asynchronously fetch Anda non-Critical CSS, lalu CSS akan menjadi turned back ke sebuah synchronous file 0,5s sebelum Anda adalah ready untuk go anyway.
dan ketika non-critical CSS lands late, Anda risk sebuah flash dari unstyled konten dan
layout shift.
ini adalah sering tidak bottleneck di semua. Roberts’ core thesis: Critical CSS hanya helps jika CSS adalah Anda biggest render-blocking bottleneck, dan quite sering, ini tidak. DebugBear agrees — sebelum inlining, periksa apakah CSS adalah sebenarnya masalah, karena jika Anda masih memiliki render-blocking JavaScript code, inlining CSS adalah unlikely untuk help, dan “often it’s not the most impactful optimization.” (terjemahan) “sering ini adalah tidak paling impactful optimization.”
Production landmines: CSP, state, dan fonts
Three lebih failure modes itu jangan tampilkan up di sebuah quick demo tetapi bite setelah ini adalah langsung:
sebuah CSP policy dapat block Anda inline <style> block outright. sebuah
Content-Security-Policy style-src policy dapat block sebuah inline critical
<style> block unless policy explicitly permits ini — biasanya melalui sebuah nonce atau sebuah
matching hash. MDN documents violation cases dan nonce/hash mechanisms.
Reaching untuk unsafe-inline untuk membuat console error go away weakens policy
situs-wide dan tidak sebuah default perbaiki — mendapatkan nonce/hash generation wired ke whatever
alat extracts critical CSS, dan periksa browser console untuk violations setelah
Anda ship.
“Unused at capture” (terjemahan) “Unused di capture” tidak yang sama sebagai “safe to defer.” (terjemahan) “safe untuk defer.” Coverage tab tells Anda apa CSS executed selama satu recorded jalankan. sebuah safe split memiliki untuk pertahankan cascade order dan aturan needed untuk Anda responsive breakpoints, theme variants, personalized konten, focus status, open menus/modals, dan error status — tidak hanya whatever happened untuk render di itu satu lulus. Roberts raises sama pertanyaan dari sebuah berbeda angle: yang viewport, dan yang off-screen atau un-interacted elements (dropdowns, flyouts), melakukan Anda extraction sebenarnya perlu untuk cover?
ini tidak solve Anda font masalah, dan ini dapat tambahkan rendering berfungsi. Inlining
element styles tidak itself membuat sebuah web font discoverable sebelumnya atau jaminan
text renders pada time — font penemuan, preload, font-display, dan fallback
metrics adalah terpisah dependencies itu critical CSS tidak touch. dan applying sebuah
inline subset diikuti oleh sebuah lebih besar stylesheet dapat berarti extra style recalculation,
layout, dan paint; cutting fetch delay tidak secara otomatis berarti lebih sedikit total
rendering berfungsi. mengukur keduanya, tidak hanya network waterfall.
cara diagnose apakah Anda bahkan perlu ini
Diberikan semua itu, jangan mulai dengan “add critical CSS” (terjemahan) “tambahkan critical CSS” — mulai dengan “confirm CSS is my rendering bottleneck,” (terjemahan) “konfirmasi CSS adalah my rendering bottleneck,” dan jangan berhenti di sana. Four gates, dan semua dari them memiliki untuk hold sebelum ini adalah worth melakukan:
1. CSS adalah sebuah proven blocker, tidak sebuah guess.
- Open PageSpeed Insights / Lighthouse report. sebagai dari Lighthouse 13, old “Eliminate render-blocking resources” (terjemahan) “Eliminate render-blocking resources” audit memiliki moved ke Render-blocking permintaan insight — so older artikel referencing old audit name adalah stale.
- gunakan Coverage tab di Chrome DevTools untuk see bagaimana banyak dari Anda CSS (dan JS) adalah sebenarnya unused pada pertama paint.
- Terpisah penyebab. jika Anda bottleneck adalah render-blocking JavaScript, atau sebuah slow server respons (TTFB), inlining CSS tidak akan perbaiki ini — Anda’d menjadi optimizing wrong hal.
2. Anda dapat bangun extraction coverage itu’s sebenarnya stable — di seluruh Anda nyata breakpoints, themes, personalization, dan interactive status, tidak satu desktop screenshot (see landmines di atas).
3. repeat-view dan CSP cost adalah acceptable. Inlined CSS tidak cached, so
weigh itu terhadap bagaimana deep Anda typical session goes. jika Anda jalankan sebuah CSP
style-src policy, nonce/hash generation perlu untuk menjadi wired ke pipeline
sebelum ini ships, tidak ditemukan setelah.
4. Anda’ll sebenarnya maintain ini. Regenerate pada setiap template atau design perubahan dan re-jalankan penuh test matrix — cold dan repeat memuat, setiap route/viewport/ state Anda mendukung — tidak sebuah single eyeball periksa setelah deploy.
jika semua four gates hold, critical CSS adalah worth maintenance cost. jika apa pun satu
tidak, cheaper memperbaiki — hapus unused CSS, minify, cakupan non-critical
stylesheets dengan media — adalah better move.
sebuah saat ini 2026 gotcha
Satu langsung wrinkle worth flagging: ada sebuah open, unresolved report itu tepat
<link rel="preload" as="style"> pattern Google’s docs merekomendasikan untuk deferring CSS
dimulai getting flagged sebagai render-blocking again setelah sebuah Lighthouse/PSI poin
perbarui.
GitHub issue #17031
documents preloaded CSS menunjukkan sebagai green di Lighthouse 13.0.1 dan lalu flagged sebagai
render-blocking di 13.3.0. sebagai dari ini writing ada Tidak publik Google resolution,
so treat ini sebagai developing — tetapi practical lesson stands: jika PSI flags Anda
correctly-deferred CSS, audit itself dapat menjadi wrong, so baca report
critically alih-alih assuming Anda implementation adalah rusak.
melakukan critical CSS help SEO?
Indirectly, dan modestly. Dua hal untuk terpisah:
- CSS adalah tidak sebuah direct sinyal peringkat. Google’s Martin Splitt memiliki mengatakan dari CSS class names: “I jangan think we care karena itu CSS class names adalah sekadar itu.” (terjemahan) “I jangan think kami care karena CSS class names adalah hanya itu.” itu’s tentang class names secara khusus, tetapi ini rebuts lebih luas myth itu Anda CSS choices adalah baca sebagai sebuah peringkat input.
- Speed adalah sebuah (kecil) sinyal, melalui Core Web Vitals. Critical CSS dapat meningkatkan pertama paint, yang dapat meningkatkan LCP, yang adalah sebuah Core Web Vitals metric itu feeds Google’s halaman-experience sinyal. itu’s entire SEO connection — sebuah lebih cepat paint, tidak sebuah bonus untuk technique itself.
So SEO case untuk critical CSS adalah persis sebagai strong sebagai -nya LCP impact pada Anda situs — yang, per Google dan perf community, adalah frequently lebih kecil daripada vendor alat selling ini akan suggest.
Apa tentang Bing?
Tidak ada apa pun Bing-spesifik. Unlike Google — yang memiliki multiple web.dev halaman dan sebuah codelab pada technique — I tidak dapat temukan apa pun dedicated Bing/Microsoft document addressing critical CSS. Bing’s umum halaman-experience guidance applies (pertahankan hal fast, pertahankan critical konten reachable), tetapi ada Tidak Bing equivalent dari web.dev’s critical CSS codelab. Anyone telling Anda Bing memiliki sebuah spesifik critical-CSS recommendation adalah inventing ini.
Di mana ini sits
ini halaman nests di bawah critical rendering path hub — critical CSS adalah satu tactic untuk shortening itu path — dan ini adalah practical sibling dari render-blocking resources. payoff, ketika ada satu, menampilkan up di Largest Contentful Paint (LCP), pertama Contentful Paint (FCP), dan lebih luas Core Web Vitals set. untuk wider performa picture, see web performa cluster.
AI summary
sebuah condensed take pada Advanced versi:
- Critical CSS = extract + inline + defer. Pull di atas—fold CSS, inline
ini di
<head>, dan muat rest dari stylesheet asynchronously. ini berfungsi karena CSS adalah render-blocking oleh default (“itu browser tidak akan render any processed konten until itu CSSOM adalah constructed” (terjemahan) “ browser tidak akan render apa pun processed konten until CSSOM adalah constructed”). ada Tidak universal di atas—fold height — device, orientation, zoom, dan halaman state semua perubahan apa “critical.” (terjemahan) “critical.” - Implementation: inline critical styles di sebuah
<style>block; defer rest denganrel="preload"+onloadtukar dan sebuah<noscript>fallback (atauloadCSS). pertahankan inlined payload di bawah ~14 KB compressed — Google’s 2019-dated guidance, masih commonly cited tetapi worth verifying terhadap saat ini protocol perilaku. alat:critical(Addy Osmani), Penthouse, plugin generators (verify sebuah plugin’s versi-spesifik claims independently). temukan critical aturan dengan DevTools Coverage tab. - Google’s position (accuracy spine): ini adalah sebuah advanced, opsional technique, tidak default advice. Google: “Paling sites seharusnya menjadi able untuk achieve all dari our recommended performance targets tanpa implementing ini technique,” (terjemahan) “sebagian besar situs seharusnya menjadi able untuk achieve semua dari kami recommended performa targets tanpa implementing ini technique,” dan codelab warns ini “dapat juga lead untuk bugs jika tidak implemented properly.” (terjemahan) “dapat juga lead untuk bugs jika tidak implemented properly.”
- Tradeoffs: inlined CSS tidak cached di seluruh halaman memuat (repeat visits dapat
menjadi lebih lambat — DebugBear); critical/non-critical split breaks sebagai templates,
themes, atau status perubahan (Harry Roberts: “Satu wrong decision dapat undo
semuanya” (terjemahan) “Satu wrong decision dapat undo
semuanya”); sebuah CSP
style-srcpolicy dapat block inline block tanpa sebuah nonce/hash; preload/onload tukar dapat race atau penyebab FOUC/CLS; dan ini tidak perbaiki font-memuat timing pada -nya own. - Diagnose pertama, four gates: konfirmasi CSS — tidak JavaScript atau server respons time — adalah nyata render-blocking bottleneck (Roberts, DebugBear); konfirmasi extraction coverage adalah stable di seluruh breakpoints/themes/status; konfirmasi repeat-view dan CSP cost adalah acceptable; konfirmasi Anda’ll sebenarnya maintain dan re-test ini. jika JS adalah blocking, inlining CSS tidak akan help.
- SEO impact adalah indirect: CSS tidak sebuah direct sinyal peringkat (Martin Splitt pada class names); satu-satunya lever adalah lebih cepat paint → LCP → Core Web Vitals.
- Tidak Bing-spesifik guidance ada. dan note sebuah langsung 2026 Lighthouse 13.3.0 regression (issue #17031) flagging correctly-deferred CSS sebagai render-blocking.
Dokumentasi resmi
Utama-sumber documentation pada critical CSS dan render-blocking resources.
Google / web.dev
- Extract critical CSS — core definition, inline-dan-defer mechanics, ~14 KB target, dan “use it sparingly” (terjemahan) “gunakan ini sparingly” caching caveat.
- Extract dan inline critical CSS dengan Critical (codelab) — hands-pada dengan
criticalalat; “advanced technique… can also lead to bugs” (terjemahan) “advanced technique… dapat juga lead untuk bugs” dan “most sites… without implementing this technique” (terjemahan) “sebagian besar situs… tanpa implementing ini technique” warnings. - Defer non-critical CSS —
rel="preload"+onloaddeferral pattern danloadCSSrecommendation. - Preload critical assets — mengapa preload deferred CSS, dan JS-deferral scroll-delay caveat.
- Render-blocking CSS — mengapa CSS blocks rendering; frames perbaiki sekitar
mediaattribute alih-alih inlining. - memahami critical path — di mana critical CSS sits di lebih luas critical-rendering-path picture.
Google / Chrome untuk Developers (Lighthouse)
- Eliminate render-blocking resources — audit behind ini berfungsi: inline critical styles, defer non-critical, gunakan Coverage tab. (Note: moved ke “Render-blocking requests” (terjemahan) “Render-blocking permintaan” insight sebagai dari Lighthouse 13.)
- mengoptimalkan CSS Pengiriman (legacy/deprecated) — original PageSpeed Insights doc itu popularized “critical CSS” (terjemahan) “critical CSS” advice; berguna untuk history, tidak saat ini guidance.
MDN
- konten-Security-Policy: style-src — documents bagaimana sebuah CSP
style-srcpolicy blocks inline<style>blocks tanpa sebuah matching nonce atau hash, dan mengapaunsafe-inlinetidak perbaiki. production landmine sebagian besar critical-CSS guides skip.
Bing / Microsoft
- Tidak Bing-spesifik “critical CSS” (terjemahan) “critical CSS” documentation ada. Bing’s umum performa/UX guidance applies (see Bing Webmaster alat situs Scan), tetapi ada Tidak Bing equivalent dari web.dev’s critical CSS codelab.
Quotes dari sumber
pada—record statements dari Google/web.dev, Google’s Martin Splitt, dan named industry performa experts. setiap web.dev/Chrome tautan itu mendukung sebuah text fragment adalah sebuah deep tautan untuk quoted passage.
Google / web.dev — apa ini adalah dan bagaimana ini berfungsi
- “Critical CSS is a technique that extracts the CSS for above-the-fold content in order to render content to the user as fast as possible.” (terjemahan) “Critical CSS adalah sebuah technique itu extracts CSS untuk di atas—fold konten di order untuk render konten untuk pengguna sebagai fast sebagai mungkin.” Jump untuk quote
- “Inlining extracted styles in the
<head>of the HTML document eliminates the need to make an additional request to fetch these styles. The remainder of the CSS can be loaded asynchronously.” (terjemahan) “Menempatkan style yang diekstrak di<head>dokumen HTML menghilangkan kebutuhan akan permintaan tambahan untuk mengambil style tersebut. Sisa CSS dapat dimuat secara asinkron.” Jump untuk quote - “By default, CSS is treated as a render-blocking resource, which means that the browser won’t render any processed content until the CSSOM is constructed.” (terjemahan) “oleh default, CSS adalah treated sebagai sebuah render-blocking resource, yang berarti itu browser tidak akan render apa pun processed konten until CSSOM adalah constructed.” Jump untuk quote
Google / web.dev — ini adalah advanced dan opsional ( accuracy spine)
- “Most sites should be able to achieve all of our recommended performance targets without implementing this technique.” (terjemahan) “sebagian besar situs seharusnya menjadi able untuk achieve semua dari kami recommended performa targets tanpa implementing ini technique.” — web.dev, Extract dan inline critical CSS codelab. Baca codelab
- “This codelab describes an advanced performance technique that can improve performance, but can also lead to bugs if not implemented properly.” (terjemahan) “ini codelab mendeskripsikan sebuah advanced performa technique itu dapat meningkatkan performa, tetapi dapat juga lead untuk bugs jika tidak implemented properly.” Baca codelab
- pada di atas-inlining: “If everything is prioritized then nothing is.” (terjemahan) “jika semuanya adalah prioritized lalu tidak ada apa pun adalah.” — web.dev, Extract critical CSS. Baca artikel
Google / Chrome (Lighthouse) — audit’s own prescription
- “Inline critical styles required for the first paint inside a
<style>block at theheadof the HTML page.” (terjemahan) “Style kritis inline diperlukan untuk paint pertama di dalam blok<style>padaheadhalaman HTML.” Baca audit
Martin Splitt, Google Search Relations (melalui mesin pencari Journal)
- pada apakah CSS class names adalah sebuah sinyal peringkat: “I don’t think it does. I don’t think we care because the CSS class names are just that.” (terjemahan) “I jangan think ini melakukan. I jangan think kami care karena CSS class names adalah hanya itu.” Baca coverage
Harry Roberts, independent web-performa consultant (csswizardry.com)
- “Critical CSS only helps if CSS is your biggest render-blocking bottleneck, and quite often, it isn’t.” (terjemahan) “Critical CSS hanya helps jika CSS adalah Anda biggest render-blocking bottleneck, dan quite sering, ini tidak.” Baca artikel
- “Retrofitting Critical CSS is difficult and error prone.” (terjemahan) “Retrofitting Critical CSS adalah difficult dan error prone.” — dan, pada maintenance, “One wrong decision can undo everything.” (terjemahan) “Satu wrong decision dapat undo semuanya.” Baca artikel
Matt Zeunert, founder dari DebugBear
- “critical CSS can’t be re-used between different page loads on your website. So subsequent page views can actually be slower than they would be without critical CSS.” (terjemahan) “critical CSS dapat’t menjadi re-digunakan antara berbeda halaman memuat pada Anda situs web. So subsequent halaman views dapat sebenarnya menjadi lebih lambat daripada mereka akan menjadi tanpa critical CSS.” Baca artikel
- “Sebelum deciding untuk inline critical CSS, periksa jika ini sebenarnya itu bottleneck untuk rendering konten pada Anda website. Misalnya, jika Anda masih memiliki render-blocking JavaScript code, inlining CSS adalah unlikely untuk help.” (terjemahan) “sebelum deciding untuk inline critical CSS, periksa jika ini adalah sebenarnya bottleneck untuk rendering konten pada Anda situs web. misalnya, jika Anda masih memiliki render-blocking JavaScript code, inlining CSS adalah unlikely untuk help.” Baca artikel
#:~:text=
jump. Martin Splitt line adalah relayed melalui mesin pencari Journal’s coverage,
tidak sebuah utama Google transcript, dan adalah secara khusus tentang CSS class names. Konfirmasi
apa pun quote terhadap -nya langsung sumber sebelum treating ini sebagai akhir. seharusnya Anda implement critical CSS?
Karena Google, Harry Roberts, dan DebugBear semua say “most sites don’t need this,” (terjemahan) “sebagian besar situs jangan perlu ini,” berguna artifact di sini adalah sebuah seharusnya-I decision tree — tidak sebuah bagaimana-untuk. Walk ini top untuk bottom.
1. melakukan PageSpeed Insights / Lighthouse flag render-blocking resources di semua?
- Tidak → jangan. Anda’re solving sebuah masalah Anda tidak memiliki.
- Ya → Continue.
2. adalah render-blocking resource CSS, atau adalah ini JavaScript / sebuah slow server (TTFB)?
- JavaScript atau TTFB → Perbaiki itu pertama. Inlining CSS tidak akan help jika JS adalah blocking atau Anda server adalah slow (DebugBear). Come back hanya jika CSS tetap bottleneck afterward.
- CSS → Continue.
3. dapat Anda hit Anda performa targets dengan cheaper CSS memperbaiki pertama? Try ini sebelum inlining, di order:
- hapus unused CSS (Coverage tab).
- Minify dan compress stylesheet.
- Cakupan non-critical stylesheets dengan
mediaattribute so mereka download tetapi jangan block paint (web.dev’s own preferred perbaiki di -nya render-blocking-CSS doc). - masih failing targets? → Continue.
4. dapat Anda commit untuk maintaining critical/non-critical split — di seluruh
themes, status, dan CSP?
Critical CSS breaks silently ketika templates perubahan (“one wrong decision can undo
everything” (terjemahan) “satu wrong decision dapat undo
semuanya”), dan “unused at capture” (terjemahan) “unused di capture” selama satu test jalankan tidak yang sama sebagai
“safe to defer” (terjemahan) “safe untuk defer” di seluruh Anda theme variants, personalized konten, dan open/focus/
error status. jika Anda jalankan sebuah CSP style-src policy, nonce/hash generation memiliki untuk menjadi
bagian dari pipeline, tidak sebuah afterthought.
- Tidak / ini adalah sebuah fast-moving template, atau Anda dapat’t cover state matrix → maintenance cost mungkin outweighs gain. Prefer cheaper memperbaiki di atas.
- Ya, ini adalah sebuah stable template, Anda dapat cover nyata status, dan Anda’ll re-generate pada perubahan → Continue.
5. melakukan Anda memiliki banyak repeat pengunjung per session? Inlined CSS tidak cached, so kedua/ketiga halaman views lose cache benefit dan dapat menjadi lebih lambat (DebugBear).
- Ya, deep multi-halaman sessions → Weigh repeat-visit penalty; pertimbangkan inlining hanya pada landing/entry templates.
- Mostly single-halaman entrances (e.g. konten/landing halaman) → Continue.
jika Anda’re masih di sini: Anda’ve confirmed CSS adalah bottleneck, exhausted
cheaper memperbaiki, memiliki sebuah stable template, dan single-entry traffic. Now critical CSS
adalah worth ini. Generate ini dengan sebuah alat (critical, Penthouse, sebuah plugin), pertahankan
inlined payload di bawah ~14 KB compressed, dan re-validate setelah setiap template perubahan.
Critical CSS — implementation checklist
hanya mulai ini setelah Anda’ve confirmed (Coverage tab / PageSpeed) itu CSS adalah sebenarnya Anda render-blocking bottleneck.
- Confirmed bottleneck adalah CSS, tidak render-blocking JavaScript atau sebuah slow server respons (TTFB).
- Tried cheaper memperbaiki pertama — dihapus unused CSS, minified/compressed,
dan scoped non-critical stylesheets dengan
media— dan masih miss targets. - Extracted di atas—fold critical CSS (melalui
critical, Penthouse, atau sebuah generator), tidak seluruh stylesheet — terhadap Anda nyata breakpoints, themes, dan status, tidak satu desktop screenshot. - Inlined critical CSS di sebuah
<style>block di<head>. - jika Anda jalankan sebuah CSP
style-srcpolicy, wired nonce/hash generation ke pipeline dan confirmed Tidak console violations di bawah nyata production policy. - dipertahankan inlined payload di bawah ~14 KB compressed — Google’s 2019-dated guidance, masih cited tetapi worth verifying terhadap Anda saat ini protocol (fits pertama round trip).
- Deferred penuh stylesheet asynchronously (
rel="preload"+onloadtukar, atauloadCSS). - ditambahkan
<noscript>fallback stylesheet untuk JS-off pengguna. - diperiksa untuk FOUC / layout shift sebagai deferred CSS lands (watch CLS).
- Re-ran PageSpeed/Lighthouse — dan baca render-blocking hasil critically (sebuah correctly-deferred CSS file dapat menjadi mis-flagged; see issue #17031).
- Set sebuah re-validation reminder: re-generate critical CSS setelah apa pun template atau design perubahan, since split breaks silently.
- Sanity-diperiksa repeat-visit performa — inlined CSS tidak cached, so konfirmasi kedua halaman views tidak regress.
Critical CSS anti-patterns
recurring mistakes — sebagian besar dari them come dari treating sebuah advanced, opsional technique sebagai sebuah default satu.
Reaching untuk ini sebelum diagnosing. paling umum error. jika Anda render-blocker adalah JavaScript atau sebuah slow server, inlining CSS melakukan tidak ada apa pun — jika Anda masih memiliki render-blocking JavaScript code, inlining CSS adalah unlikely untuk help. Konfirmasi CSS adalah bottleneck pertama.
Inlining semuanya. Dumping Anda seluruh stylesheet inline bloats HTML Anda’re trying untuk deliver fast. web.dev: jika semuanya adalah prioritized lalu tidak ada apa pun adalah. Critical CSS adalah minimal di atas—fold CSS, tidak “all of it, inline.” (terjemahan) “semua dari ini, inline.”
Ignoring repeat-visit cost. Inlined CSS tidak cached, so subsequent halaman views dapat sebenarnya menjadi lebih lambat daripada mereka akan menjadi tanpa critical CSS. Applying ini situs-wide untuk sebuah deep, multi-halaman journey dapat membuat overall session lebih lambat, tidak lebih cepat.
Set-dan-forget. ada Tidak auto-revalidation. sebagai Harry Roberts warns, satu wrong decision dapat undo semuanya — sebuah template perubahan diam-diam breaks split dan Anda’re now shipping wrong atau incomplete di atas—fold CSS.
Treating sebuah PSI flag sebagai proof CSS adalah masalah. audit flags render-blocking resources; ini tidak prove CSS adalah Anda bottleneck, dan ini dapat bahkan mis-flag correctly-deferred CSS (see langsung Lighthouse 13.3.0 regression, issue #17031). Baca report, jangan hanya react untuk score.
Expecting sebuah direct SEO boost. Critical CSS tidak sebuah peringkat factor. CSS tidak baca sebagai sebuah sinyal peringkat (Martin Splitt); satu-satunya lever adalah lebih cepat paint → LCP → Core Web Vitals, dan hanya jika technique sebenarnya improves Anda LCP.
Shipping ini tanpa memeriksa CSP. jika Anda situs berjalan sebuah Content-Security-Policy
style-src header, sebuah inline <style> block tanpa sebuah matching nonce atau hash
mendapatkan blocked outright —
dan reaching untuk unsafe-inline untuk silence error weakens policy untuk
seluruh situs alih-alih memperbaiki pipeline.
Extracting dari satu theme, state, atau route dan calling ini selesai. “Unused” (terjemahan) “Unused” di satu Coverage-tab recording tidak yang sama sebagai “safe to defer” (terjemahan) “safe untuk defer” di seluruh Anda dark theme, personalized konten, atau sebuah open modal — sebuah split itu hanya accounts untuk default state akan ship rusak di atas—fold styles untuk everyone else.
alat untuk critical CSS
Extracting / generating
critical(Addy Osmani) — Google’s reference npm package; “extracts, minifies dan inlines di atas-itu-fold CSS.” (terjemahan) “extracts, minifies dan inlines di atas—fold CSS.” satu Google’s own codelab menggunakan.- Penthouse — sebuah widely digunakan critical-path CSS generator, sering wired ke bangun pipelines.
- CriticalCSS dan various SaaS / plugin generators — untuk non-teknis implementers pada WordPress, Shopify, dan similar (WP Rocket, corewebvitals.io, dan others). Convenient, tetapi yang sama tradeoffs dan maintenance risk masih apply.
Diagnosing (melakukan ini pertama)
- Chrome DevTools — Coverage tab — Google’s own recommendation untuk identify non-critical CSS dan JS; menampilkan bagaimana banyak dari setiap file adalah unused pada pertama paint.
- PageSpeed Insights / Lighthouse — render-blocking audit (now “Render-blocking requests” (terjemahan) “Render-blocking permintaan” insight di Lighthouse 13). Tells Anda apakah Anda memiliki sebuah render-blocking masalah — tidak secara otomatis itu CSS adalah penyebab.
- WebPageTest — baca waterfall dan “Mulai Render” (terjemahan) “Mulai Render” line untuk see persis yang resources delay pertama paint.
- DebugBear — monitoring plus sebuah jelas tulis-up dari caching/bottleneck tradeoffs.
Diagnose critical-CSS masalah oleh symptom
halaman flashes unstyled konten
mungkin penyebab: extracted critical set adalah incomplete atau deferred stylesheet arrives too late. Perbaiki: restore layout dan typography aturan needed untuk pertama viewport, lalu regenerate terhadap nyata template state. Konfirmasi: sebuah cold throttled filmstrip adalah styled dari pertama paint.
awal viewport looks right tetapi lebih rendah konten breaks
mungkin penyebab: non-critical bundle failed untuk muat atau -nya memuat pattern races dengan halaman initialization. Perbaiki: verify stylesheet permintaan dan fallback perilaku tanpa relying hanya pada onload path. Konfirmasi: scrolling dan navigation reveal fully styled konten dengan JavaScript delayed.
Critical CSS helps satu template dan hurts lainnya
mungkin penyebab: satu generated set adalah reused di seluruh layouts dengan berbeda pertama-view konten. Perbaiki: cakupan extraction oleh template atau hapus optimization di mana maintenance cost exceeds gain. Konfirmasi: setiap didukung template melewati yang sama cold-muat visual test.
Repeat views mendapatkan lebih lambat
mungkin penyebab: too banyak CSS adalah inlined ke setiap HTML respons dan lost wajar stylesheet caching. Perbaiki: shrink critical set dan bandingkan pertama-view gains dengan repeat-view transfer dan parsing cost. Konfirmasi: keduanya cold dan warm journeys meningkatkan atau tradeoff adalah explicitly accepted.
inline style block adalah missing atau console menampilkan sebuah CSP violation
mungkin penyebab: sebuah Content-Security-Policy style-src policy adalah blocking inline <style> block karena ini lacks sebuah matching nonce atau hash. Perbaiki: wire nonce/hash generation ke extraction pipeline alih-alih relaxing policy dengan unsafe-inline. Konfirmasi: browser console menampilkan Tidak CSP violations dan inline block renders di bawah nyata production policy, tidak sebuah relaxed local satu.
sebuah theme, personalized variant, atau interactive state renders unstyled
mungkin penyebab: extraction hanya captured satu theme, satu logged-out/default state, atau satu route, dan cascade aturan needed untuk lainnya status adalah dropped sebagai “unused.” (terjemahan) “unused.” Perbaiki: re-extract terhadap representative status — dark/light theme, personalized konten, focus/open/error status — dan pertahankan mereka cascade order. Konfirmasi: setiap didukung state melewati yang sama cold-muat visual test, tidak hanya default satu.
gunakan diagnose, extract, deliver, maintain kerangka kerja
- Diagnose: prove CSS adalah pada critical path dengan sebuah waterfall, coverage recording, dan trace. Berhenti jika server time atau JavaScript adalah lebih besar constraint.
- Extract: sertakan hanya aturan diperlukan untuk render sebenarnya pertama viewport. Test responsive status dan dynamic konten alih-alih assuming satu screenshot covers template.
- Deliver: inline kecil critical set dan muat penuh stylesheet dengan sebuah failure-safe pattern. pertahankan CSP, sumber order, dan cache perilaku.
- Maintain: regenerate ketika templates atau design tokens perubahan, lalu jalankan visual dan performa memeriksa. Stale critical CSS adalah sebuah production defect, tidak sebuah satu-time setup cost.
kerangka kerja membuat critical CSS sebuah evidence-based sistem. Skipping maintenance langkah adalah bagaimana sebuah awal speed win becomes sebuah visual regression kemudian.
Critical CSS decision cheat sheet
| pertanyaan | Sinyal | tindakan |
|---|---|---|
| adalah CSS delaying pertama paint? | Stylesheets sit pada diukur critical path | Continue diagnosis |
| adalah lainnya phase lebih besar? | TTFB atau JavaScript dominates | Perbaiki itu pertama |
| adalah critical set kecil dan stable? | Sedikit pertama-view aturan shared oleh template | pertimbangkan extraction |
| melakukan pertama paint flash atau shift? | Filmstrip atau Layout Shifts track menampilkan regression | Restore missing layout-critical aturan |
| melakukan deferred bundle fail safely? | halaman tetap usable selama delayed memuat | Validate di seluruh didukung journeys |
| dapat team regenerate ini? | Extraction adalah bagian dari template atau CSS releases | pertahankan optimization |
| adalah maintenance manual dan fragile? | Stale output ships setelah design perubahan | Prefer simpler CSS reduction atau splitting |
Prove sebuah critical-CSS perubahan worked
pertama-paint visual test
Test untuk jalankan: capture sebuah cold, throttled filmstrip sebelum dan setelah perubahan di didukung breakpoints. Yang diharapkan hasil: berguna di atas—fold konten paints sebelumnya dan adalah styled correctly dari -nya pertama frame. Failure interpretation: critical set adalah incomplete atau CSS adalah tidak sebenarnya bottleneck. Monitoring window: immediate di seluruh repeated berjalan. Rollback trigger: flashes, missing konten, atau baru layout shifts.
Deferred-stylesheet test
Test untuk jalankan: inspect Network dan performa panels sementara penuh stylesheet memuat. Yang diharapkan hasil: non-critical bundle Tidak lebih lama gates pertama paint dan masih applies reliably afterward. Failure interpretation: memuat pattern adalah masih blocking atau races dengan initialization. Monitoring window: immediate, including sebuah dengan sengaja slow permintaan. Rollback trigger: penuh styles fail untuk apply atau halaman controls become unusable.
Template-regression test
Test untuk jalankan: jalankan visual comparisons untuk setiap template dan breakpoint itu menggunakan generated critical set. Yang diharapkan hasil: Tidak missing atau stale pertama-view aturan. Failure interpretation: extraction coverage melakukan tidak match production template variants. Monitoring window: pada setiap relevant CSS atau template rilis. Rollback trigger: apa pun production template renders incorrectly.
Resources worth Anda time
My speaking
- apa Berikutnya untuk pengalaman halaman — SMX Berikutnya 2021 (SlideShare) — di mana I split CSS berfungsi ke sebuah early/critical bucket (hapus unused → minify → inline critical CSS) dan sebuah late/deferred bucket, dengan preload/onload defer pattern. core “bagaimana it fits together” (terjemahan) “bagaimana ini fits together” untuk ini halaman.
- pengalaman halaman Perbarui — TMC June 2021 (SlideShare) — lebih luas halaman-experience/Core Web Vitals deck covering prioritize-critical-resources, lazy-memuat, dan inlining critical CSS.
- Google’s Penelusuran Sinyal untuk pengalaman halaman — SMX Advanced 2021 (SlideShare) — halaman-experience/Core Web Vitals context sekitar ini era dari guidance.
My related writing
- Apa adalah Core Web Vitals & cara meningkatkan Them — my broad CWV guide (LCP/CLS/INP). ini tidak cover critical CSS oleh name, yang adalah persis kesenjangan ini halaman fills — baca them together untuk render-blocking side dari LCP.
- Beginner’s Guide untuk SEO teknis — di mana performa dan rendering fit di bigger picture.
Official
- web.dev — Extract critical CSS, Critical codelab, Defer non-critical CSS, dan Render-blocking CSS.
- Chrome untuk Developers — Eliminate render-blocking resources (Lighthouse).
dari sekitar industry
- Critical CSS? Tidak So Fast! (Harry Roberts, csswizardry.com) — essential contrarian baca: ketika critical CSS helps, ketika ini tidak, dan maintenance/race-condition traps.
- Inlining Critical CSS: melakukan ini membuat Anda situs web Lebih cepat? (Matt Zeunert, DebugBear) — caching tradeoff dan “diagnose itu bottleneck pertama” (terjemahan) “diagnose bottleneck pertama” argument, dengan measurements.
- cara Identify & Reduce Render-Blocking Resources (Abby Hamilton / Dentsu, melalui mesin pencari Journal) — operational workflow untuk reading render-blocking audit.
- Google Mengonfirmasi CSS Class Names jangan Influence SEO (Matt G. Southern, mesin pencari Journal) — Martin Splitt pada mengapa CSS tidak sebuah direct sinyal peringkat.
- Lighthouse issue #17031 (GitHub) — langsung 2026 report dari preloaded CSS menjadi flagged sebagai render-blocking setelah sebuah PSI poin perbarui; berguna ketika Anda correctly-deferred CSS mendapatkan flagged.
- Understanding Critical CSS (Smashing Magazine, 2015) — classic explainer; dated, tetapi berguna historical context untuk bagaimana technique adalah pertama dibingkai.
Uji pemahaman Anda: Critical CSS
Five quick pertanyaan pada apa critical CSS adalah, ketika untuk gunakan ini, dan -nya tradeoffs. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 22 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 8 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 17 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.