Đầu tiên Contentful Paint (FCP)
Điều gì Đầu tiên Contentful Paint measures, điều gì là một good FCP score, vì sao điều này không một Cốt lõi Web Vital, cách điều này differs từ Đầu tiên Paint và LCP, và cách sửa một chậm một.
Ngôn ngữ
Đầu tiên Contentful Paint (FCP) là đó time từ khi một trang bắt đầu loading để khi bất kỳ part of của nó nội dung — text, image, SVG, hoặc non-white canvas — đầu tiên renders. Good là ≤1,8 s tại đó 75th percentile of real người dùng. Điều này không phải một Cốt lõi Web Vital: đó các tín hiệu xếp hạng là LCP, INP, và CLS. FCP là một diagnostic chỉ số (lab và trường) đó là một building block of LCP — điều này happens tại hoặc trước LCP — so đây là mainly hữu ích cho catching render-blocking các tài nguyên và chậm TTFB. Trong Lighthouse 10 đây là 10% of đó Performance score. Cách sửa điều này by eliminating render-blocking CSS/JS, cutting TTFB, inlining cốt yếu CSS, dùng font-display: đổi, và preconnecting để bắt buộc origins.
Tóm tắt — đầu tiên Contentful Paint (FCP) là moment khách truy cập sees đầu tiên bit của bạn trang — bất kỳ text, image, hoặc graphic — thay vì blank white screen. Nhanh hơn là tốt hơn; dưới 1,8 seconds là “good” mark. nó hữu ích speed kiểm tra, nhưng nó là không một của các chỉ số Google dùng cho xếp hạng.
Điều gì FCP thực ra là
Khi ai đó clicks link để của bạn trang, có ngắn stretch nơi họ’re staring tại không có gì — blank screen — trong khi trình duyệt fetches và xử lý của bạn trang. đầu tiên Contentful Paint là instant đó blank screen turns vào điều gì đó thực: headline, logo, photo, bất cứ điều gì khách truy cập có thể thực ra see.
đó là đó toàn bộ ý tưởng. FCP các câu trả lời một đơn giản câu hỏi: “How long until the user sees the page is alive and doing something?” (bản dịch) «Cách dài until người dùng sees đó trang là alive và đang làm điều gì đó?» MỘT trang đó paints nội dung trong half một second feels fast. MỘT trang đó sits blank cho three seconds feels hỏng — và mọi người leave.
Evidence for this claim FCP measures from navigation until the first text, image, SVG, or non-white canvas content is rendered. Scope: Current web.dev FCP definition and qualifying content types. Confidence: high · Verified: web.dev: First Contentful PaintĐiều gì được tính as “nội dung”
FCP fires Khi trình duyệt draws bất kỳ của những điều này onto screen:
- Text ( heading, paragraph, nav link)
- Images, including background images
<svg>graphics- non-white
<canvas>element
đơn giản background color by itself làm không count — đó khác, trước đó điều được gọi là đầu tiên Paint. FCP chỉ được tính Khi thực nội dung hiển thị lên.
Điều gì good score?
Google bands, measured across thực khách truy cập:
| FCP time | Rating |
|---|---|
| 1,8 seconds hoặc ít hơn | Good |
| 1,8 – 3,0 seconds | Cần improvement |
| Over 3,0 seconds | Poor |
bạn’ll see của bạn FCP trong tools như PageSpeed Insights và Lighthouse — giống nhau các báo cáo đó hiển thị của bạn Core Web Vitals.
Làm FCP ảnh hưởng my Google thứ hạng?
Không — không trực tiếp. Đây là part phần lớn mọi người nhận sai. các chỉ số Google thực ra dùng cho xếp hạng là three Core Web Vitals: LCP, INP, và CLS. FCP không phải một của them.
nhưng ở đây Vì sao nó vẫn worth watching: điều đó làm FCP chậm — sluggish máy chủ, big stylesheets và scripts đó block trang từ drawing — là thường giống nhau điều đó hurt Largest Contentful Paint (LCP), mà là xếp hạng tín hiệu. So sửa FCP root gây ra frequently helps LCP cũng — nhưng nó không bảo đảm, since LCP có gây ra của nó own ( size và load priority của nó cụ thể largest element). Think của FCP as smoke alarm: worth kiểm tra, nhưng không proof fire out.
nhanh các cách sửa
nếu của bạn FCP là chậm, thông thường suspects (và Điều gì để làm):
- Render-blocking files. CSS và JavaScript trong của bạn trang
<head>có thể dừng trình duyệt từ drawing bất cứ điều gì cho đến khi họ finish loading. Đây là #1 nguyên nhân. - ** chậm máy chủ.** nếu của bạn máy chủ takes dài time để respond (cao Time để đầu tiên Byte), trình duyệt có thể’t paint cho đến khi bytes arrive.
- Fonts đó hide của bạn text. Some font setups leave text invisible cho lên để three
seconds trong khi web font loads. Switching rule để
font-display: swaphiển thị fallback text immediately.
Muốn kỹ thuật version — lab-so với-trường khoảng trống, FCP/LCP diagnostic chain, và đầy đủ khắc phục list? Switch để Nâng cao tab.
Tóm tắt — FCP là time từ navigation bắt đầu để Khi bất kỳ nội dung trang (text, image,
<svg>, hoặc non-white<canvas>) đầu tiên renders. nó là không Cốt lõi Web Vital — nó supplementary, lab-và-trường diagnostic chỉ số, và building block của LCP (FCP happens tại hoặc trước khi LCP). Trường thresholds (p75): Good ≤ 1,8 s, cần-improvement ≤ 3,0 s, poor > 3,0 s. Trong Lighthouse 10 nó 10% của Performance score. vì FCP clock bắt đầu tại navigation — nó bao gồm chuyển hướng time, connection setup, và TTFB — lab (Lighthouse) và trường (CrUX) numbers thường diverge. khắc phục nó nơi nó lives: render-blocking CSS/JS đầu tiên, sau đó TTFB, sau đó fonts.
Điều gì FCP measures (precisely)
Google definition, từ Philip Walton web.dev bài viết, là đó độ chính xác spine ở đây:
“First Contentful Paint (FCP) measures the time from when the user first navigated to
the page to when any part of the page’s content is rendered on the screen.” (bản dịch) «Đầu tiên Contentful Paint (FCP) measures đó time từ khi người dùng đầu tiên navigated để đó trang để khi bất kỳ part of đó trang nội dung là được kết xuất on đó screen.» “Nội dung,”
theo đó giống nhau doc, có nghĩa là “text, images (including background images), <svg> elements,
or non-white <canvas> elements.” (bản dịch) «text, images (including background images), <svg> elements, hoặc non-white <canvas> elements.»
Đó word đó làm all đó hoạt động là bất kỳ. FCP không care điều gì renders — một 40-pixel logo được tính đó giống nhau as một đầy đủ hero image. đây là đó “is anything on screen yet?” (bản dịch) «là bất cứ điều gì on screen tuy vậy?» tín hiệu, mà là chính xác vì sao đây là an sớm indicator thay vì một completion chỉ số.
Evidence for this claim FCP measures from navigation until the first text, image, SVG, or non-white canvas content is rendered. Scope: Current web.dev FCP definition and qualifying content types. Confidence: high · Verified: web.dev: First Contentful PaintMột detail đó là easy để miss và thay đổi cách bạn đọc đó number: FCP clock bắt đầu tại navigation, so điều này bundles trong mọi thứ đó happens trước của bạn HTML là even parsed. Google own Key Point: “FCP includes any unload time from the previous page, connection set up time, redirect time, and Time To First Byte (TTFB) which can be significant when measured in the field.” (bản dịch) «FCP bao gồm bất kỳ unload time từ đó trước đó trang, connection set lên time, chuyển hướng time, và Time Để Đầu tiên Byte (TTFB) mà có thể là significant khi measured trong đó trường.» MỘT máy chủ đó takes 1,5 s để respond có đã burned hầu hết of của bạn 1,8 s budget trước đó trình duyệt có processed một single byte.
FCP không phải Cốt lõi Web Vital
Let me là blunt về điều này vì phần lớn các trang hedge nó: FCP không phải Cốt lõi Web Vital và không phải part của Google các tín hiệu xếp hạng. Core Web Vitals là LCP, INP, và CLS — và FCP không phải mentioned anywhere on Google Tìm kiếm xếp hạng Core Web Vitals trang.
Điều gì FCP là, trong Google taxonomy, là an “Other Web Vital” (bản dịch) «Other Web Vital» — một supplementary chỉ số đó là hữu ích cho diagnosis. web.dev puts điều này way: “the metrics Time to First Byte (TTFB) and First Contentful Paint (FCP) are both vital aspects of the loading experience, and are both useful in diagnosing issues with LCP (slow server response times or render-blocking resources, respectively).” (bản dịch) «đó các chỉ số Time để Đầu tiên Byte (TTFB) và Đầu tiên Contentful Paint (FCP) là cả hai vital aspects of đó loading experience, và là cả hai hữu ích trong diagnosing các vấn đề với LCP (chậm máy chủ phản hồi times hoặc render-blocking các tài nguyên, respectively).»
So honest framing cho stakeholders là hai-sided, và bạn nên state cả hai halves không có flinching:
- FCP không ảnh hưởng thứ hạng trực tiếp. không optimize FCP “cho SEO.”
- FCP là great diagnostic cho LCP, mà làm ảnh hưởng thứ hạng. Render-blocking các tài nguyên hiển thị lên trong FCP đầu tiên.
FCP so với đầu tiên Paint (FP)
những điều này nhận conflated constantly:
- Đầu tiên Paint (FP) fires khi đó trình duyệt paints bất cứ điều gì tại all — including một bare background color với không thực tế nội dung.
- FCP fires chỉ khi eligible nội dung renders: text, images (including
background images),
<svg>elements, hoặc non-white<canvas>elements. đó là một cụ thể, spec-được định nghĩa list — không một lỏng “any DOM content” (bản dịch) «bất kỳ DOM nội dung» rule — và đây là worth giữ precise, since một background image được tính mặc dù điều này không text trong đó DOM.
So FP ≤ FCP, luôn. On phần lớn các trang họ’re nearly giống hệt, vì việc vẽ
background color với Không có nội dung on top là rare. Khi ở đó là có ý nghĩa khoảng trống, nó
thường có nghĩ là cosmetic background painted trước khi bất kỳ nội dung thực đã làm. Paint
Timing API trả về cả hai first-paint và first-contentful-paint entries — nhưng FCP là
một worth analyzing; FP rarely tells bạn bất cứ điều gì actionable.
FCP so với LCP
khác pair mọi người hợp nhất:
- FCP = Khi bất kỳ nội dung paints. Fires sớm. Có thể là tiny logo hoặc nav link.
- LCP = Khi largest element trong viewport renders. Fires tại hoặc sau khi FCP.
Google wording: FCP measures khi bất kỳ nội dung là painted và LCP khi đó main nội dung là painted, so LCP là dự kiến để là hơn selective. Đọc đó as “more selective,” (bản dịch) «hơn selective,» không “certified correct” (bản dịch) «certified correct» — neither chỉ số proves đó trang thực tế main nội dung là hoàn tất hoặc hữu ích để đó khách truy cập. FCP chỉ xác nhận điều gì đó eligible painted; LCP xác nhận đó largest eligible candidate đã làm. MỘT trang có thể có một fast FCP (logo tại 0,5 s) và một chậm LCP (hero image tại 4 s) — đó khoảng trống là itself một hữu ích diagnostic. Và nếu của bạn FCP là close để của bạn LCP, đó là thường một good sign: điều này có nghĩa là đó đầu tiên điều painted là cũng đó largest một, với không wasted sớm-paint on chrome đó không quan trọng để người dùng.
Evidence for this claim FCP answers when any eligible content first appears, while LCP tracks the largest eligible viewport candidate; neither metric proves the page's main content is complete or useful. Scope: field and lab Confidence: high · Verified: First Contentful Paint (FCP)Một việc đo lường oddity worth knowing: vì của security restrictions on cross-origin image timing, trình duyệt API có thể trong rare cases báo cáo LCP trước đó hơn FCP. đó việc đo lường artifact, không điều gì đó physically happened.
Thresholds — và Vì sao lab và trường disagree
Trường thresholds (CrUX, p75): Good ≤ 1,8 s · cần improvement ≤ 3,0 s · poor > 3,0 s. Google hướng dẫn là để đo lường tại 75th percentile của trang loads, split across mobile và desktop.
Evidence for this claim A good FCP is 1.8 seconds or less at the 75th percentile; above 3 seconds is poor. Scope: Current web.dev FCP field thresholds. Confidence: high · Verified: web.dev: First Contentful PaintNhưng Lighthouse desktop dùng khác nhau, stricter cutoffs — green là roughly 0–0,9 s, orange 0,9–1,6 s, red over 1,6 s — vì đó lab chạy một sạch, throttled Chrome on một simulated device, không thực tế conditions. (Những bands, như đó score weights dưới, là Lighthouse-version-cụ thể — này reflects đó hiện tại audit doc as of này writing.) Đó Lighthouse FCP score là “a comparison of your page’s FCP time and FCP times for real websites, based on data from the HTTP Archive.” (bản dịch) «một so sánh of trang của bạn FCP time và FCP times cho real websites, dựa trên dữ liệu từ đó HTTP Archive.»
Đây là single phần lớn phổ biến nguồn của FCP confusion, so internalize nó:
** 1,8 s “good” line là trường (CrUX p75) ngưỡng. Lighthouse desktop “green” line là ~0,9 s. họ là khác scales cho khác jobs.**
Trường và lab numbers diverge mainly vì họ sample khác populations, không vì một là universally “hơn đúng.” Lighthouse chạy single sạch session on fixed device/network conditions. Trường/CrUX aggregates thực devices, thực networks, bộ nhớ đệm trạng thái, và navigation types — including back/forward-bộ nhớ đệm restores và prerendered các trang, mà không tự động nhận fresh FCP way thông thường navigation làm; họ cần của họ own lifecycle xử lý ( web-chỉ số quan trọng library làm điều này cho bạn). On phần lớn các trang trường number làm đọc cao hơn — thực người dùng carry chuyển hướng chains, trước đó- trang unload time, và cold connections lab chạy skips — nhưng đó tendency, không rule. trước khi reading lab/trường khoảng trống as vấn đề, kiểm tra bạn’re comparing như-cho-như (giống nhau device class, giống nhau network conditions). sử dụng trường dữ liệu cho của bạn thực-world number và Lighthouse cho diagnosis.
nơi FCP sits trong Lighthouse score
Trong Lighthouse 10 — hiện tại version as của điều này writing, không vĩnh viễn hình — FCP là 10% của Performance score. đầy đủ weighting:
| Chỉ số | Weight |
|---|---|
| Total Blocking Time (TBT) | 30% |
| Largest Contentful Paint (LCP) | 25% |
| Cumulative Layout Shift (CLS) | 25% |
| đầu tiên Contentful Paint (FCP) | 10% |
| Speed chỉ mục | 10% |
Performance score là weighted average của individual chỉ số scores, và Google notes weightings thay đổi theo thời gian as của họ research evolves — FCP có held tại 10% từ Lighthouse 8 qua 10, nhưng xác nhận so với whatever version bạn’re đang chạy trước khi treating “10%” as timeless. practical đọc: perfect FCP có thể chỉ move của bạn Lighthouse number so far — và bad FCP thường points tại bad LCP cũng (họ share root gây ra), though đó overlap worth kiểm tra, không điều gì đó score bảo đảm.
Điều gì gây ra chậm FCP
Trong rough priority order:
- Render-blocking các tài nguyên — #1 killer. CSS và synchronous JS trong
<head>force trình duyệt để chờ: nó có thể’t xây dựng CSSOM và render tree, so nó có thể’t paint bất cứ điều gì, cho đến khi những điều đó files là downloaded và parsed. - Cao TTFB — FCP có thể’t fire trước khi bytes arrive. chậm máy chủ là đầu tiên domino, và nó bên trong FCP việc đo lường.
- chuyển hướng chains — mỗi chuyển hướng là đầy đủ round-trip đã thêm trước khi đầu tiên byte.
- Webfont loading strategy —
font-display: block(hoặc không rule) có thể leave text invisible cho lên để ~3 seconds. Even nếu paint technically fires on background, người dùng sees không có gì hữu ích.
Cách khắc phục nó
đầy đủ list, nhưng với priority order tài liệu không cho bạn. những điều này là phổ biến levers, không universal ones — kiểm tra của bạn own trace hoặc filmstrip đầu tiên để see mà tài nguyên hoặc phase là thực ra delaying của bạn FCP candidate trước khi reaching cho các cách sửa (preconnect, preload, font-display thay đổi) đó có thể không apply để của bạn trang:
Làm những điều này đầu tiên (biggest wins):
- Eliminate render-blocking CSS và JavaScript. Inline cốt yếu, trên—fold
CSS trực tiếp trong
<head>; load rest asynchronously; thêmasync/deferđể non-cốt yếu scripts. Repositioning<link>tag làm không help — trình duyệt sẽ không paint cho đến khi all CSS là loaded và parsed regardless của nơi tag sits. - Reduce TTFB (máy chủ phản hồi time). bộ nhớ đệm, CDN, nhanh hơn origin — bất cứ điều gì đó nhận đầu tiên byte out sooner trực tiếp shaves FCP.
- khắc phục font loading. sử dụng
font-display: swap(hiển thị fallback text immediately, swaps trong web font Khi ready) hoặcfont-display: optional(skips web font nếu nó không phải đã được lưu đệm). tránhfont-display: blockcho cốt yếu text — nó worst cho FCP.
sau đó tidy lên rest:
- Preconnect để bắt buộc origins với
<link rel="preconnect">— establishing sớm connections để quan trọng thứ ba-party origins có thể save 100–500 ms. - Preload mấu chốt các yêu cầu (
<link rel="preload">) cho cốt yếu font hoặc LCP image. - Minify CSS, xóa unused CSS, xóa unused JavaScript — nhỏ hơn files parse và unblock paint nhanh hơn.
- tránh multiple các chuyển hướng, tránh enormous network payloads, phục vụ static assets với efficient bộ nhớ đệm policy, tránh excessive DOM size, và minimize cốt yếu yêu cầu depth. Chung payload hygiene đó all feeds đầu tiên paint.
FCP → TTFB → LCP diagnostic chain
Đây là Cách I’d thực ra sử dụng FCP, và nó framing tài liệu gesture tại nhưng không develop. Treat three loading các chỉ số as một workflow:
- FCP là cao → kiểm tra cho render-blocking các tài nguyên (CSS/JS trong
<head>). đó phần lớn phổ biến nguyên nhân và fastest win. - cũng kiểm tra TTFB — vì FCP bao gồm nó, chậm máy chủ inflates FCP trước khi bất kỳ render-blocking even enters picture. web.dev hướng dẫn: vì TTFB precedes cả hai FCP và LCP, của bạn máy chủ nên respond fast đủ đó 75th percentile của người dùng hit “good” FCP.
- những điều này giống nhau các vấn đề thường cascade vào LCP — chỉ số đó thực ra xếp hạng tín hiệu — vì FCP và LCP frequently share root gây ra. đó overlap worth kiểm tra, không bảo đảm: LCP có factors của nó own ( size, priority, và load path của nó cụ thể largest element), so sửa FCP gây ra không promise fixed LCP. nó right đầu tiên place để look, không cuối cùng step.
đó giá trị của FCP cho SEO: nó cheap, sớm đọc on liệu loading path là healthy, trước khi nhiều hơn selective LCP việc đo lường even completes.
AI summary
condensed take on Nâng cao version:
- FCP = time từ navigation bắt đầu để khi bất kỳ nội dung đầu tiên renders — text,
images (incl. background),
<svg>, hoặc non-white<canvas>. đây là đó “is anything on screen yet?” (bản dịch) «là bất cứ điều gì on screen tuy vậy?» tín hiệu. - FCP không phải một Cốt lõi Web Vital. Đó các tín hiệu xếp hạng là LCP, INP, CLS. FCP là một supplementary, lab-và-trường diagnostic chỉ số — không một trực tiếp xếp hạng factor.
- đây là một building block of LCP (FCP happens tại hoặc trước LCP), so điều này thường catches đó giống nhau render-blocking các tài nguyên và chậm TTFB đó hurt LCP — mà làm ảnh hưởng thứ hạng — nhưng sửa FCP gây ra không bảo đảm LCP là fixed; LCP có factors of của nó own.
- Trường thresholds (CrUX p75): Good ≤ 1,8 s · cần improvement ≤ 3,0 s · poor > 3,0 s.
- Lab ≠ trường, và “field is always higher” (bản dịch) «trường là luôn cao hơn» là một tendency, không một rule. Lighthouse desktop ~0,9 s “green” line là stricter hơn đó 1,8 s trường ngưỡng vì đây là một sạch chạy on fixed conditions; trường/CrUX aggregates real devices, networks, bộ nhớ đệm trạng thái, và navigation types (including bfcache restores và prerendered các trang). Match populations trước reading một khoảng trống as một vấn đề — dùng trường cho của bạn thực tế number, lab cho diagnosis.
- FCP so với FP: Đầu tiên Paint fires on bất kỳ paint (even một background color); FCP cần eligible nội dung (text, images incl. background images, SVG, non-white canvas). FP ≤ FCP luôn.
- FCP so với LCP: FCP = bất kỳ eligible nội dung; LCP = largest eligible candidate. Neither proves đó trang real main nội dung là hoàn tất hoặc hữu ích — họ là proxies. Fast FCP + chậm LCP là một real, phổ biến khoảng trống.
- Lighthouse 10 (hiện tại as of này writing) weight: 10% — TBT 30%, LCP 25%, CLS 25%, FCP 10%, Speed Chỉ mục 10%; weights shift giữa Lighthouse versions.
- Top các cách sửa, trong order: eliminate render-blocking CSS/JS → reduce TTFB → cách sửa fonts
(
font-display: swap/optional) → preconnect/preload → minify/bộ nhớ đệm/DOM hygiene.
Tài liệu chính thức
Chính-nguồn tài liệu on FCP từ Google.
web.dev (Google)
- Đầu tiên Contentful Paint (FCP) — Philip Walton canonical definition, đó “what counts as content” (bản dịch) «điều gì được tính as nội dung» list, đó 1,8 s ngưỡng, đó Key Point về TTFB/các chuyển hướng, và cách đo lường FCP với đó Paint Timing API và đó web-chỉ số quan trọng library.
- Web Chỉ số quan trọng — nơi FCP sits: an “Other Web Vital,” (bản dịch) «Other Web Vital,» supplementary để đó Core Web Vitals (LCP, INP, CLS), hữu ích cho diagnosing LCP.
- Largest Contentful Paint (LCP) — đó FCP-so với-LCP phân biệt và cách đó hai relate.
- Time để Đầu tiên Byte (TTFB) — vì sao TTFB precedes (và là được bao gồm trong) FCP.
- Người dùng-centric performance các chỉ số — FCP classification as cả hai một lab và một trường chỉ số.
Lighthouse / Chrome Nhà phát triển
- đầu tiên Contentful Paint audit — Lighthouse desktop rating bands (green ≤ 0,9 s) và Cách FCP score là computed so với HTTP Archive dữ liệu.
- Lighthouse performance scoring — chỉ số weights, including FCP tại 10% của Performance score trong Lighthouse 10.
Google Search Central
- Core Web Vitals & Google Search — xếp hạng trang; lists LCP, INP, và CLS. FCP không phải on nó, mà là point.
Quotes từ nguồn
On—record statements từ tài liệu củ Google. mỗi link là deep link đó jumps để quoted passage on nguồn trang.
web.dev — definition
- “First Contentful Paint (FCP) measures the time from when the user first navigated to the page to when any part of the page’s content is rendered on the screen.” (bản dịch) «Đầu tiên Contentful Paint (FCP) measures đó time từ khi người dùng đầu tiên navigated để đó trang để khi bất kỳ part of đó trang nội dung là được kết xuất on đó screen.» — Philip Walton, Đầu tiên Contentful Paint (FCP), web.dev (đã cập nhật Dec 6 2023). Nhảy đến trích dẫn
web.dev — ngưỡng
- “sites should strive to have a First Contentful Paint of 1.8 seconds or less.” (bản dịch) «các trang nên strive để có một Đầu tiên Contentful Paint of 1,8 seconds hoặc ít hơn.» — giống nhau nguồn. Nhảy đến trích dẫn
web.dev — Điều gì FCP bao gồm (Điểm mấu chốt Point)
- “FCP includes any unload time from the previous page, connection set up time, redirect time, and Time To First Byte (TTFB) which can be significant when measured in the field.” (bản dịch) «FCP bao gồm bất kỳ unload time từ đó trước đó trang, connection set lên time, chuyển hướng time, và Time Để Đầu tiên Byte (TTFB) mà có thể là significant khi measured trong đó trường.» — giống nhau nguồn.
web.dev — FCP role relative để Core Web Vitals
- “the metrics Time to First Byte (TTFB) and First Contentful Paint (FCP) are both vital aspects of the loading experience, and are both useful in diagnosing issues with LCP (slow server response times or render-blocking resources, respectively).” (bản dịch) «đó các chỉ số Time để Đầu tiên Byte (TTFB) và Đầu tiên Contentful Paint (FCP) là cả hai vital aspects of đó loading experience, và là cả hai hữu ích trong diagnosing các vấn đề với LCP (chậm máy chủ phản hồi times hoặc render-blocking các tài nguyên, respectively).» — Web Chỉ số quan trọng, web.dev. Nhảy đến trích dẫn
Lighthouse — Cách FCP score là computed
- “Your FCP score is a comparison of your page’s FCP time and FCP times for real websites, based on data from the HTTP Archive.” (bản dịch) «Của bạn FCP score là một so sánh of trang của bạn FCP time và FCP times cho real websites, dựa trên dữ liệu từ đó HTTP Archive.» — Đầu tiên Contentful Paint audit, nhà phát triển.chrome.com.
Lighthouse — Cách Performance score hoạt động
- “The Performance score is a weighted average of the metric scores.” (bản dịch) «Đó Performance score là một weighted average of đó chỉ số scores.»
- “The weightings have changed over time because the Lighthouse team is regularly doing research and gathering feedback to understand what has the biggest impact on user-perceived performance.” (bản dịch) «Đó weightings có changed theo thời gian vì đó Lighthouse team là regularly đang làm research và gathering feedback để understand điều gì có đó biggest impact on người dùng-perceived performance.» — Lighthouse performance scoring, nhà phát triển.chrome.com.
#:~:text= deep link; xác nhận them so với trực tiếp các trang trước khi treating bất kỳ quote as cuối. Lighthouse weights là quoted cho Lighthouse 10 — re-verify nếu newer Lighthouse version có shipped. Chậm-FCP triage checklist
Khi FCP là cao, hoạt động xuống điều này list trong order — nó roughly biggest-win-đầu tiên:
- Kiểm tra đó trường number, không chỉ Lighthouse. Đọc CrUX/PageSpeed Insights p75 cho đó real FCP; dùng Lighthouse chỉ để diagnose.
- Hunt render-blocking các tài nguyên. CSS và synchronous JS trong
<head>là đó #1 nguyên nhân — Lighthouse “Eliminate render-blocking resources” (bản dịch) «Eliminate render-blocking các tài nguyên» audit lists them. - Inline cốt yếu trên-đó-fold CSS; load đó rest asynchronously.
- Thêm
async/deferđể non-cốt yếu scripts; move bên thứ ba tags sau đầu tiên paint. - Đo lường TTFB. đây là bên trong FCP — một chậm máy chủ inflates FCP trước bất cứ điều gì khác. Thêm bộ nhớ đệm / một CDN / một nhanh hơn origin.
- Kill chuyển hướng chains — mỗi hop là một đầy đủ round-trip trước đó đầu tiên byte.
- Cách sửa fonts: dùng
font-display: swaphoặcoptional; không bao giờblockcho cốt yếu text. Preload đó cốt yếu font file. - Preconnect để bắt buộc bên thứ ba origins; preload đó LCP image / key các yêu cầu.
- Trim payload: minify CSS, xóa unused CSS/JS, efficient bộ nhớ đệm policy, nhỏ hơn DOM, ngắn hơn cốt yếu yêu cầu depth.
- Re-kiểm tra LCP afterward — đó giống nhau các cách sửa nên có moved điều này, và LCP là đó một đó ảnh hưởng thứ hạng.
FCP bảng tra nhanh
Trường thresholds (CrUX, 75th percentile)
| FCP time | Rating |
|---|---|
| ≤ 1,8 s | Good |
| 1,8 – 3,0 s | Cần improvement |
| > 3,0 s | Poor |
Lighthouse desktop rating (lab — note: stricter hơn trường)
| FCP time | Color |
|---|---|
| 0 – 0,9 s | Green (fast) |
| 0,9 – 1,6 s | Orange (moderate) |
| Over 1,6 s | Red (chậm) |
Lighthouse 10 Performance-score weights (hiện tại as của điều này writing — weights shift giữa Lighthouse versions)
| Chỉ số | Weight |
|---|---|
| Total Blocking Time | 30% |
| Largest Contentful Paint | 25% |
| Cumulative Layout Shift | 25% |
| đầu tiên Contentful Paint | 10% |
| Speed chỉ mục | 10% |
** three loading các chỉ số, untangled**
| Chỉ số | Fires Khi… | Cốt lõi Web Vital? |
|---|---|---|
| đầu tiên Paint (FP) | trình duyệt paints bất cứ điều gì, even background color | Không |
| đầu tiên Contentful Paint (FCP) | bất kỳ nội dung thực paints (text/image/SVG/canvas) | Không (diagnostic) |
| Largest Contentful Paint (LCP) | largest viewport element renders | Có |
Order của events: FP ≤ FCP ≤ LCP.
Điều gì được tính as “nội dung” cho FCP
text · images (incl. background images) · <svg> elements · non-white <canvas> elements
Fast facts
- FCP clock bắt đầu tại navigation — nó bao gồm chuyển hướng time, connection setup, và TTFB.
- FCP là measurable trong cả hai lab và trường.
font-display: sử dụngswap/optional; tránhblock(invisible text lên để ~3 s).- Preconnect để thứ ba-party origins có thể save 100–500 ms.
Tools cho measuring FCP
Trường (thực-người dùng) dữ liệu
- PageSpeed Insights — hiển thị của bạn URL’s CrUX p75 FCP (trường) alongside Lighthouse (lab) chạy.
- Chrome Người dùng Experience Báo cáo (CrUX) — thực-người dùng dataset behind trường numbers, qua API hoặc BigQuery.
- web-chỉ số quan trọng JavaScript library — drop
onFCP(console.log)(hoặc gửi nó để của bạn phân tích) để capture FCP từ của bạn own khách truy cập; nó xử lý bfcache và background-tab các trường hợp biên.
Lab (simulated) dữ liệu
- Lighthouse — trong Chrome DevTools, PageSpeed Insights, hoặc đó CLI. Dùng điều này để diagnose FCP (đó “Eliminate render-blocking resources” (bản dịch) «Eliminate render-blocking các tài nguyên» audit là đó key một).
- Chrome DevTools Performance panel — see chính xác khi đầu tiên paint và đầu tiên contentful paint fire on một recorded load.
Đo lường nó yourself với Paint Timing API
new PerformanceObserver((entryList) => {
for (const entry of entryList.getEntriesByName('first-contentful-paint')) {
console.log('FCP candidate:', entry.startTime, entry);
}
}).observe({type: 'paint', buffered: true});Hoặc dùng đó web-chỉ số quan trọng library (được khuyến nghị)
import {onFCP} from 'web-vitals';
onFCP(console.log);một vài caveats thô API không xử lý đó web-chỉ số quan trọng library làm: nó bỏ qua
FCP fired cho background tabs, vẫn các báo cáo FCP Khi trang là restored từ
back/forward bộ nhớ đệm ( fresh navigation event không tự động fire cho
bfcache restore, so nó cần rõ ràng xử lý), và dùng activationStart thay vì
navigation bắt đầu as clock origin cho prerendered các trang. Cross-origin iframe
paint timing vẫn known khoảng trống — trang whose main nội dung renders bên trong một có thể hiển thị
misleadingly fast FCP.
FCP mistakes đó hide thực bottleneck
- Treating FCP as Cốt lõi Web Vital. FCP là hữu ích diagnostic, nhưng LCP, INP, và CLS là Core Web Vitals được sử dụng trong Google xếp hạng các hệ thống. sử dụng FCP để investigate blank-screen phase, không as substitute cho trường CWV dữ liệu.
- Optimizing tiny logo vì nó becomes đầu tiên paint. trước đó nhưng meaningless paint có thể improve FCP trong khi hữu ích nội dung trang vẫn arrives muộn. kiểm tra LCP và filmstrip alongside FCP so thay đổi improves Điều gì khách truy cập thực ra sees.
- Starting với image compression Khi trang là blank. nếu không có gì có thể paint, thông thường blockers là máy chủ phản hồi time, render-blocking CSS, synchronous JavaScript, hoặc fonts. Follow yêu cầu waterfall trước khi thay đổi unrelated assets.
- Comparing unrelated Lighthouse chạy. Device emulation, network conditions, bộ nhớ đệm state, và chạy-để-chạy biến động all move lab FCP. So sánh repeated chạy dưới giống nhau settings và xác nhận kết quả với trường dữ liệu nơi khả dụng.
blank-screen budget
Break FCP vào three consecutive các câu hỏi thay vì treating cuối number as một vấn đề:
- Cách dài trước khi HTML arrives? Inspect TTFB. chậm phản hồi có nghĩ là trình duyệt không thể begin hữu ích hoạt động, so bắt đầu với máy chủ, bộ nhớ đệm, các chuyển hướng, hoặc connection setup.
- Cách dài trước khi trình duyệt có thể render? Inspect render-blocking stylesheets, synchronous scripts, và font behavior. HTML có thể là present trong khi main chuỗi trao đổi hoặc render path là vẫn blocked.
- Điều gì thực ra becomes đầu tiên nội dung? sử dụng filmstrip hoặc trace để xác nhận đó đầu tiên paint là có ý nghĩa text hoặc imagery, không token element đó làm chỉ số look tốt hơn không có improving experience.
framework giữ các cách sửa trong order: phân phối đầu tiên, kết xuất thứ hai, usefulness thứ ba. Re-chạy giống nhau lab profile sau khi mỗi thay đổi so bạn know mà phase moved.
Tự kiểm tra: đầu tiên Contentful Paint
Five nhanh các câu hỏi on Điều gì FCP measures và Cách chẩn đoán nó. Pick câu trả lời cho mỗi, sau đó kiểm tra.
các tài nguyên worth của bạn time
Google / web.dev
- đầu tiên Contentful Paint (FCP) — canonical reference: definition, thresholds, việc đo lường code, và đầy đủ optimization list.
- Web Chỉ số quan trọng — Cách FCP relates để Core Web Vitals và Vì sao nó diagnostic chỉ số.
- Largest Contentful Paint (LCP) — chỉ số FCP helps bạn diagnose, và Cốt lõi Web Vital.
- Time để đầu tiên Byte (TTFB) — máy chủ-phản hồi chỉ số đó lives bên trong FCP.
Lighthouse
- đầu tiên Contentful Paint audit — desktop rating bands và Cách score là computed.
- Lighthouse performance scoring — chỉ số weights, FCP tại 10%.
My related writing
- Người mới bắt đầu Hướng dẫn để kỹ thuật SEO — nơi trang speed fits trong bigger picture.
- Core Web Vitals: Điều gì họ là & Cách Improve Them — xếp hạng-tín hiệu các chỉ số FCP feeds vào.
Từ khoảng đó ngành
- Đầu tiên Contentful Paint (FCP) — Philip Walton canonical Google bài viết: definition, thresholds, Paint Timing API code, và đó đầy đủ optimization list.
- Web Chỉ số quan trọng — Google framework explaining nơi FCP sits (an “Other Web Vital,” (bản dịch) «Other Web Vital,» supplementary để đó Core Web Vitals) và của nó role trong diagnosing LCP.
- Đầu tiên Contentful Paint audit — Chrome Nhà phát triển doc covering Lighthouse desktop rating bands và cách đó FCP score là computed so với HTTP Archive dữ liệu.
- Time để Đầu tiên Byte (TTFB) — Google hướng dẫn on vì sao TTFB precedes và là được bao gồm trong FCP, và cách một chậm máy chủ eats của bạn FCP budget trước đó trình duyệt paints một single pixel.
- Eliminate render-blocking các tài nguyên — Chrome Nhà phát triển hướng dẫn on đó #1 FCP killer: CSS và synchronous JS trong <head> đó block đó trình duyệt từ việc vẽ.
- Bảo đảm text vẫn visible during webfont load — Chrome Nhà phát triển audit explaining font-display các giá trị và vì sao
blockdelays FCP trong khiswaphoặcoptionalgiữ text visible. - Đầu tiên Contentful Paint — NitroPack practical FCP hướng dẫn với CMS-cụ thể optimization tips và một clear trường-so với-lab lời giải thích.
Số liệu worth citing
- Good FCP = ≤ 1,8 s tại 75th percentile của thực người dùng; cần-improvement lên để 3,0 s; poor beyond đó (trường/CrUX thresholds). Nguồn
- Lighthouse desktop là stricter: ~0–0,9 s là “green,” vì lab chạy throttled, simulated environment thay vì thực-world conditions. Nguồn
- FCP là 10% của Lighthouse 10 Performance score (hiện tại as của điều này writing — weights shift giữa Lighthouse versions) — alongside TBT 30%, LCP 25%, CLS 25%, và Speed chỉ mục 10%. Nguồn
- Preconnecting để thứ ba-party origins có thể save 100–500 ms của load time by establishing sớm connections. Nguồn
Nhật ký thay đổi
Đã cập nhật 22 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 22 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 17 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.