First Contentful Paint

First Contentful Paint (FCP, tạm dịch: lần vẽ nội dung đầu tiên) 
là một chỉ số đo lường hiệu suất web do Google phát triển, đo thời 
gian từ khi người dùng bắt đầu điều hướng đến một trang cho tới khi bất 
kỳ phần nội dung nào của trang được hiển thị lên màn hình. Nội dung 
được tính bao gồm văn bản, hình ảnh (kể cả ảnh nền), các phần tử 
<svg> và các phần tử <canvas> không có màu 
trắng.

FCP là một trong các chỉ số thuộc sáng kiến Web Vitals của Google, 
nhưng không nằm trong bộ ba Core Web Vitals được sử dụng trực tiếp 
làm yếu tố xếp hạng trong kết quả tìm kiếm.

Lịch sử 
Chỉ số FCP dựa trên Paint Timing API — một đặc tả được phát triển trong 
nhóm công tác Hiệu năng Web của W3C. 
Google bắt đầu đưa FCP vào báo cáo thử nghiệm trên Google Search Console 
từ đầu năm 2019, cùng với chỉ số First Input Delay (FID), nhằm cung 
cấp cho quản trị viên web những dữ liệu ban đầu về trải nghiệm người 
dùng thực tế.

Dữ liệu FCP được thu thập ẩn danh từ người dùng thực thông qua 
Chrome User Experience Report (CrUX), từ đó được sử dụng bởi các 
công cụ như PageSpeed Insights và Search Console.

Định nghĩa và đo lường 
FCP đánh dấu thời điểm đầu tiên người dùng có thể nhìn thấy bất kỳ nội 
dung nào trên màn hình — một tín hiệu trực quan cho biết trang đang 
phản hồi và không bị đứng. Vì vậy, FCP được 
xem là chỉ số phản ánh cảm nhận tốc độ tải của người dùng, khác 
với các chỉ số mang tính kỹ thuật thuần túy như Time to First Byte 
(TTFB).

Theo Google, FCP bao gồm cả thời gian dỡ trang trước đó, thời gian 
thiết lập kết nối, thời gian chuyển hướng và thời gian tới byte đầu 
tiên (TTFB). Điều này có thể dẫn đến chênh lệch đáng kể giữa dữ liệu 
đo trong thực tế và dữ liệu mô phỏng phòng thí nghiệm.

Ngưỡng đánh giá 
Để đảm bảo trải nghiệm người dùng tốt, Google khuyến nghị FCP cần đạt 
dưới 1,8 giây ở phân vị 75 của các lần tải trang, được phân đoạn theo 
thiết bị di động và máy tính để bàn. Các 
ngưỡng cụ thể như sau:

 Tốt — dưới 1,8 giây
 Cần cải thiện — từ 1,8 đến 3 giây
 Kém — trên 3 giây

Lưu ý khi đo lường 
Paint Timing API có một số giới hạn cần được xử lý khi đo FCP chính 
xác:
 API vẫn ghi nhận sự kiện first-contentful-paint cho 
các trang được tải trong tab nền, nhưng những trường hợp này nên được 
loại bỏ khi tính FCP
 API không ghi nhận sự kiện khi trang được khôi phục từ bộ nhớ đệm 
back/forward, dù người dùng thực tế vẫn trải qua một lần tải trang
 API có thể không báo cáo thời gian vẽ của các khung iframe khác 
miền gốc (cross-origin)

Để xử lý các trường hợp này, Google cung cấp thư viện JavaScript mã 
nguồn mở web-vitals giúp các nhà phát triển đo FCP một cách nhất 
quán.

Phân biệt với các chỉ số liên quan

First Paint 
First Paint (FP) đo thời điểm trình duyệt hiển thị bất kỳ thay đổi 
pixel nào trên màn hình — bao gồm cả những thay đổi không chứa nội 
dung có nghĩa, chẳng hạn như thay đổi màu nền. Do đó, First Paint có 
thể xảy ra trước FCP, nhưng không nhất thiết phản ánh việc người dùng 
đã thấy nội dung thực sự.

Largest Contentful Paint 
Largest Contentful Paint (LCP) đo thời gian hiển thị phần tử nội 
dung lớn nhất trong khung nhìn đầu tiên, trong khi FCP chỉ đo 
thời gian hiển thị phần tử đầu tiên. Về mặt kỹ thuật, giá