{"id":16857,"date":"2020-03-11T22:33:50","date_gmt":"2020-03-11T15:33:50","guid":{"rendered":"https:\/\/kiencang.net\/?p=15016"},"modified":"2023-07-23T19:44:59","modified_gmt":"2023-07-23T12:44:59","slug":"largest-contentful-paint-la-gi","status":"publish","type":"post","link":"https:\/\/kiencang.net\/largest-contentful-paint-la-gi\/","title":{"rendered":"Largest Contentful Paint (LCP) l\u00e0 g\u00ec?"},"content":{"rendered":"\n

Largest Contentful Paint (LCP) l\u00e0 m\u1ed9t ch\u1ec9 s\u1ed1 quan tr\u1ecdng, \u0111\u1eb7t ng\u01b0\u1eddi d\u00f9ng v\u00e0o trung t\u00e2m (user-centric) \u0111\u1ec3 \u0111o \u0111\u1ea1c t\u1ed1c \u0111\u1ed9 t\u1ea3i nh\u1eadn th\u1ee9c (perceived load speed)<\/a>, b\u1edfi v\u00ec n\u00f3 \u0111\u00e1nh d\u1ea5u th\u1eddi \u0111i\u1ec3m trong timeline* t\u1ea3i trang khi m\u00e0 n\u1ed9i dung ch\u00ednh (main content) c\u1ee7a trang c\u00f3 kh\u1ea3 n\u0103ng \u0111\u00e3 t\u1ea3i xong- “LCP nhanh” gi\u00fap tr\u1ea5n an ng\u01b0\u1eddi d\u00f9ng r\u1eb1ng trang l\u00e0 h\u1eefu \u00edch (v\u00ec h\u1ecd s\u1edbm bi\u1ebft n\u1ed9i dung l\u1edbn nh\u1ea5t tr\u00ean trang l\u00e0 g\u00ec).<\/p>\n\n\n\n

(*): timeline l\u00e0 ki\u1ec3u chu\u1ed7i qu\u00e1 tr\u00ecnh di\u1ec5n ra s\u1ef1 ki\u1ec7n, gi\u1ed1ng nh\u01b0 l\u1ecbch bi\u1ec3u.<\/p>\n\n\n\n

L\u01b0u \u00fd c\u1ee7a ng\u01b0\u1eddi d\u1ecbch: n\u1ed9i dung l\u1edbn nh\u1ea5t (largest content) ch\u1ec9 \u0111\u1ebfn n\u1ed9i dung (ph\u1ea7n t\u1eed) c\u00f3 k\u00edch c\u1ee1 chi\u1ec1u cao v\u00e0 chi\u1ec1u r\u1ed9ng l\u1edbn nh\u1ea5t, ch\u1ee9 kh\u00f4ng ph\u1ea3i l\u00e0 dung l\u01b0\u1ee3ng t\u00ednh theo byte c\u1ee7a n\u00f3. M\u1ed9t kh\u1ed1i v\u0103n b\u1ea3n c\u00f3 k\u00edch c\u1ee1 r\u1ed9ng d\u00e0i 300px x 500px ch\u1ec9 c\u00f3 dung l\u01b0\u1ee3ng t\u00ednh theo byte ch\u01b0a \u0111\u1ebfn 1KB s\u1ebd l\u00e0 n\u1ed9i dung l\u1edbn nh\u1ea5t, ngay c\u1ea3 khi m\u1ed9t b\u1ee9c \u1ea3nh 300px x 200px c\u00f3 dung l\u01b0\u1ee3ng t\u00ednh theo byte l\u00e0 10KB. C\u00f3 v\u1ebb nh\u01b0 gi\u1ea3 \u0111\u1ecbnh c\u1ee7a Google l\u00e0 ph\u1ea7n t\u1eed l\u1edbn nh\u1ea5t c\u00f3 kh\u1ea3 n\u0103ng cao l\u00e0 ph\u1ea7n t\u1eed quan tr\u1ecdng nh\u1ea5t, hay \u00edt ra, \u0111i\u1ec1u ch\u1eafc ch\u1eafn h\u01a1n n\u00f3 l\u00e0 ph\u1ea7n t\u1eed chi\u1ebfm kh\u00f4ng gian l\u1edbn nh\u1ea5t trong khung nh\u00ecn tr\u00ecnh duy\u1ec7t. OK, gi\u1edd ch\u00fang ta \u0111i v\u00e0o ph\u1ea7n ch\u00ednh.<\/p>\n\n\n\n

—<\/p>\n\n\n\n

Trong l\u1ecbch s\u1eed, \u0111\u00e3 c\u00f3 nh\u1eefng kh\u00f3 kh\u0103n, th\u1eed th\u00e1ch d\u00e0nh cho c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean trong nhi\u1ec7m v\u1ee5 \u0111o \u0111\u1ea1c m\u1ee9c \u0111\u1ed9 nhanh ch\u00f3ng c\u1ee7a n\u1ed9i dung ch\u00ednh trong khi trang web t\u1ea3i v\u1ec1 v\u00e0 hi\u1ec3n th\u1ecb cho ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\n\n

C\u00e1c ch\u1ec9 s\u1ed1 c\u0169 nh\u01b0 load<\/a> ho\u1eb7c DOMContentLoaded<\/a> kh\u00f4ng t\u1ed1t v\u00ec ch\u00fang kh\u00f4ng nh\u1ea5t thi\u1ebft \u0111\u1ea1i di\u1ec7n cho c\u00e1i m\u00e0 ng\u01b0\u1eddi d\u00f9ng th\u1ea5y tr\u00ean m\u00e0n h\u00ecnh c\u1ee7a h\u1ecd<\/em>. V\u00e0 c\u00e1c ch\u1ec9 s\u1ed1 m\u1edbi h\u01a1n, c\u00e1c ch\u1ec9 s\u1ed1 hi\u1ec7u su\u1ea5t l\u1ea5y ng\u01b0\u1eddi d\u00f9ng l\u00e0m trung t\u00e2m, ch\u1eb3ng h\u1ea1n nh\u01b0 First Contentful Paint (FCP)<\/a> ch\u1ec9 n\u1eafm b\u1eaft \u0111\u01b0\u1ee3c duy nh\u1ea5t th\u1eddi \u0111i\u1ec3m b\u1eaft \u0111\u1ea7u trong tr\u1ea3i nghi\u1ec7m t\u1ea3i trang (loading experience) m\u00e0 th\u00f4i. N\u1ebfu m\u1ed9t trang hi\u1ec3n th\u1ecb tr\u00ean m\u00e0n h\u00ecnh b\u1ecb gi\u1eadt (splash) ho\u1eb7c ch\u1ec9 hi\u1ec3n th\u1ecb ch\u1ec9 b\u00e1o t\u1ea3i (loading indicator), kho\u1ea3nh kh\u1eafc \u0111\u00f3 ch\u1eb3ng li\u00ean quan g\u00ec \u0111\u1ebfn ng\u01b0\u1eddi d\u00f9ng c\u1ea3.<\/p>\n\n\n\n

Trong qu\u00e1 kh\u1ee9, ch\u00fang t\u00f4i khuy\u1ebfn kh\u00edch d\u00f9ng c\u00e1c ch\u1ec9 s\u1ed1 hi\u1ec7u su\u1ea5t nh\u01b0 First Meaningful Paint (FMP) v\u00e0 Speed Index (SI \/ ch\u1ec9 s\u1ed1 t\u1ed1c \u0111\u1ed9)- c\u1ea3 hai hi\u1ec7n \u0111\u1ec1u c\u00f3 trong Lighthouse \u0111\u1ec3 gi\u00fap b\u1ea1n n\u1eafm b\u1eaft \u0111\u01b0\u1ee3c nhi\u1ec1u h\u01a1n chuy\u1ec7n g\u00ec \u0111ang di\u1ec5n ra trong tr\u1ea3i nghi\u1ec7m c\u1ee7a ng\u01b0\u1eddi d\u00f9ng sau khi FCP c\u00f3 m\u1eb7t. Tuy nhi\u00ean c\u00e1c ch\u1ec9 s\u1ed1 n\u00e0y l\u1ea1i ph\u1ee9c t\u1ea1p, kh\u00f3 gi\u1ea3i th\u00edch, v\u00e0 th\u01b0\u1eddng b\u1ecb hi\u1ec3u sai-\u00fd-ngh\u0129a (wrong-meaning). Ch\u00fang v\u1eabn kh\u00f4ng ch\u1ec9 ra \u0111\u01b0\u1ee3c<\/em> khi n\u00e0o n\u1ed9i dung ch\u00ednh c\u1ee7a trang \u0111\u01b0\u1ee3c t\u1ea3i xong.<\/p>\n\n\n\n

\u0110\u00f4i khi, \u0111\u01a1n gi\u1ea3n h\u01a1n s\u1ebd t\u1ed1t h\u01a1n. D\u1ef1a tr\u00ean c\u00e1c th\u1ea3o lu\u1eadn trong nh\u00f3m W3C Web Performance Working<\/a> v\u00e0 nghi\u00ean c\u1ee9u \u0111\u01b0\u1ee3c ti\u1ebfn h\u00e0nh b\u1edfi ch\u00ednh Google, ch\u00fang t\u00f4i ph\u00e1t hi\u1ec7n ra c\u00e1ch th\u1ee9c ch\u00ednh x\u00e1c h\u01a1n \u0111\u1ec3 \u0111o \u0111\u1ea1c khi n\u00e0o n\u1ed9i dung ch\u00ednh c\u1ee7a trang \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i l\u00e0 nh\u00ecn v\u00e0o th\u1eddi \u0111i\u1ec3m khi ph\u1ea7n t\u1eed l\u1edbn nh\u1ea5t \u0111\u01b0\u1ee3c k\u1ebft xu\u1ea5t (render).<\/p>\n\n\n\n

Ch\u00fa th\u00edch c\u1ee7a ng\u01b0\u1eddi d\u1ecbch: Nh\u01b0 v\u1eady l\u00e0 c\u00f3 m\u1ed1i t\u01b0\u01a1ng quan kh\u00e1 ch\u1eafc ch\u1eafn gi\u1eefa n\u1ed9i dung ch\u00ednh v\u00e0 n\u1ed9i dung l\u1edbn nh\u1ea5t. V\u00e0 x\u00e1c \u0111\u1ecbnh n\u1ed9i dung ch\u00ednh kh\u00f4ng d\u1ec5 d\u00e0ng g\u00ec (n\u00f3 li\u00ean quan \u0111\u1ebfn \u00fd ngh\u0129a, c\u00e1i m\u00e0 m\u00e1y m\u00f3c v\u1ed1n kh\u00f4ng m\u1ea1nh ho\u1eb7c c\u00f3 th\u1ec3 r\u1ea5t t\u1ed1n k\u00e9m \u0111\u1ec3 ph\u00e2n t\u00edch \u0111\u01b0\u1ee3c), do v\u1eady c\u00e1c nh\u00e0 l\u1eadp tr\u00ecnh d\u1ef1a v\u00e0o h\u00ecnh b\u00f3ng d\u1ec5 t\u00ednh to\u00e1n h\u01a1n- \u0111\u00f3 l\u00e0 k\u00edch c\u1ee1 c\u1ee7a n\u1ed9i dung.<\/p>\n\n\n\n


\n\n\n\n

#1. LCP l\u00e0 g\u00ec?<\/h2>\n\n\n\n

Ch\u1ec9 s\u1ed1 Largest Contentful Paint (LCP) b\u00e1o c\u00e1o th\u1eddi gian k\u1ebft xu\u1ea5t c\u1ee7a ph\u1ea7n t\u1eed n\u1ed9i dung c\u00f3 k\u00edch c\u1ee1 l\u1edbn nh\u1ea5t (largest content element) hi\u1ec3n th\u1ecb trong viewport (khung nh\u00ecn tr\u00ecnh duy\u1ec7t).<\/p>\n\n\n

\n
\"\"<\/figure><\/div>\n\n\n

Gi\u00e1 tr\u1ecb c\u1ee7a LCP l\u00e0 bao nhi\u00eau th\u00ec \u0111\u01b0\u1ee3c xem l\u00e0 t\u1ed1t?<\/h3>\n\n\n\n

\u0110\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng t\u1ed1t, c\u00e1c trang web ph\u1ea3i ph\u1ea5n \u0111\u1ea5u \u0111\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c Largest Contentful Paint xu\u1ea5t hi\u1ec7n trong 2,5 gi\u00e2y<\/strong> \u0111\u1ea7u ti\u00ean khi trang b\u1eaft \u0111\u1ea7u t\u1ea3i. \u0110\u1ec3 \u0111\u1ea3m b\u1ea3o b\u1ea1n \u0111\u1ea1t \u0111\u01b0\u1ee3c m\u1ee5c ti\u00eau n\u00e0y cho h\u1ea7u h\u1ebft ng\u01b0\u1eddi d\u00f9ng, ng\u01b0\u1ee1ng t\u1ed1t \u0111\u1ec3 \u0111o l\u00e0 ph\u00e2n v\u1ecb th\u1ee9 75 khi trang t\u1ea3i, ph\u00e2n kh\u00fac qua thi\u1ebft b\u1ecb di \u0111\u1ed9ng v\u00e0 m\u00e1y t\u00ednh \u0111\u1ec3 b\u00e0n.<\/p>\n\n\n\n

C\u00e1c ph\u1ea7n t\u1eed n\u00e0o \u0111\u01b0\u1ee3c xem x\u00e9t?<\/h3>\n\n\n\n

Theo ch\u1ec9 \u0111\u1ecbnh hi\u1ec7n t\u1ea1i trong Largest Contentful Paint API<\/a>, c\u00e1c ki\u1ec3u ph\u1ea7n t\u1eed sau \u0111\u01b0\u1ee3c xem x\u00e9t trong Largest Contentful Paint:<\/p>\n\n\n\n