Đăng Ký Học SEO

Core Web Vitals On-Page: Kỹ thuật tối ưu LCP và CLS

Core Web Vitals On-Page là cách tối ưu LCP và CLS ngay trong layout và tài nguyên, giúp trang tải nhanh, không nhảy bố cục. Ngưỡng tốt là LCP từ 2.5 giây trở xuống, CLS từ 0.1 trở xuống. Với ảnh đầu trang, bạn thêm fetchpriority=high và bỏ lazy load. Hãy khai báo width, height cho ảnh và dùng font-display swap.

Core Web Vitals là bộ chỉ số thực tế mà Google dùng để đo lường trải nghiệm người dùng về tốc độ tải, khả năng tương tác và sự ổn định của thị giác. Tối ưu hóa CWV không chỉ là cài Plugin nén ảnh; nó bắt đầu từ tư duy xây dựng layout (dàn trang) và quản lý tài nguyên Multimedia.


1. Tối ưu LCP (Largest Contentful Paint) - Tốc độ hiển thị phần tử lớn nhất

LCP đo thời gian cần thiết để phần tử lớn nhất (thường là ảnh Hero, tiêu đề H1 hoặc video) hiển thị trên màn hình.

1.1. Xử lý ảnh Hero & Multimedia

Hai việc với ảnh đầu trang đi ngược nhau nhưng phải làm cả hai. Thêm thuộc tính ưu tiên tải cao cho ảnh LCP để trình duyệt kéo nó về trước các script chưa cần, và tuyệt đối không đặt lazy load cho ảnh đó. Lazy load đặt nhầm chỗ là tự làm chậm chính phần đo điểm.

  • Ưu tiên tải (Fetch Priority): Thêm thuộc tính fetchpriority="high" cho ảnh LCP để trình duyệt bắt đầu tải nó ngay lập tức, trước cả các script chưa cần thiết.
  • Loại bỏ Lazy Load cho ảnh đầu trang: Tuyệt đối không dùng loading="lazy" cho ảnh LCP. Điều này sẽ làm chậm quá trình hiển thị vì trình duyệt phải chờ tính toán vị trí cuộn.
  • Preload tài nguyên: Sử dụng <link rel="preload"> trong thẻ <head> cho các tệp ảnh hoặc font chữ quan trọng nhất.

1.2. Phản hồi máy chủ & TTFB

Kết xuất phía máy chủ đưa HTML về sẵn thay vì bắt trình duyệt chờ JavaScript nặng chạy xong. Khác biệt nằm ở chỗ ai làm việc: máy chủ của bạn hay thiết bị của người đọc. Với máy yếu và mạng chậm, phần chờ đó chính là toàn bộ khoảng cách giữa tốt và kém.

  • Server-Side Rendering (SSR): Đảm bảo HTML được render sẵn từ máy chủ thay vì bắt trình duyệt chờ Javascript nặng nề thực thi (Client-Side Rendering).

2. Tối ưu CLS (Cumulative Layout Shift) - Chống nhảy trang

CLS đo lường mức độ thay đổi vị trí đột ngột của các phần tử trên trang trong quá trình tải.

Tối ưu không có điểm dừng tự nhiên, nên thứ quyết định hiệu quả là biết dừng đúng chỗ và chuyển sang việc khác. Khóa Học SEO Master đi vào cách chọn.

2.1. Xác định kích thước cho hình ảnh và Video

Hai cách giữ chỗ cho ảnh trước khi nó tải xong. Khai báo chiều rộng và chiều cao ngay trong thẻ HTML, hoặc dùng thuộc tính aspect-ratio trong CSS để trình duyệt tự chừa khoảng trống. Không giữ chỗ thì nội dung bên dưới bị đẩy xuống đúng lúc người ta đang đọc.

  • Set Width & Height: Luôn khai báo thuộc tính rộng và cao trong HTML: <img src="..." width="800" height="600">.
  • Aspect Ratio: Sử dụng thuộc tính CSS aspect-ratio để trình duyệt giữ chỗ (placeholder) cho hình ảnh ngay cả khi ảnh chưa tải xong.

2.2. Kiểm soát Fonts & Quảng cáo (Ads)

Hai nguồn gây nhảy bố cục hay bị bỏ sót là font và quảng cáo. Thuộc tính font-display swap cho trình duyệt dùng font hệ thống trong lúc chờ, còn banner thì phải đặt trong thẻ div có chiều cao cố định. Quảng cáo tải chậm mà không có chỗ chờ sẵn sẽ đẩy cả trang xuống.

  • Font-display: swap: Sử dụng thuộc tính này để trình duyệt dùng font hệ thống thay thế trong khi chờ tải font tùy chỉnh, tránh hiện tượng chữ hiện ra đột ngột làm nhảy layout.
  • Dành chỗ cho quảng cáo: Nếu bạn chèn banner/quảng cáo, hãy đặt chúng trong một thẻ <div> có chiều cao cố định để khi quảng cáo hiện ra, nó không đẩy nội dung phía dưới xuống.

3. Multimedia Engineering: Video và Animation

Multimedia Engineering cho video và animation là xử lý đúng để multimedia không thành kẻ thù số 1 của CWV. Video hero background nên dùng .webm nhẹ hơn .mp4, kèm muted playsinline. Luôn có poster image để LCP không trống. Animation nên dùng transform thay vì đổi top, left, width, height để tránh reflow.

Multimedia là "kẻ thù" số 1 của CWV nếu không được xử lý đúng cách.

  • Video Autoplay: Nếu dùng video làm Hero background, hãy dùng định dạng .webm (nhẹ hơn .mp4) và chèn thuộc tính muted playsinline.
  • Poster Image: Luôn có một tấm ảnh tĩnh (Poster) hiển thị trước khi video được tải để đảm bảo LCP không bị trống.
  • Sử dụng CSS thay vì JS cho Animation: Các hiệu ứng chuyển động nên dùng thuộc tính transform thay vì thay đổi top, left, width, height để tránh kích hoạt lại quá trình Reflow (tính toán lại bố cục).

4. Bảng quy chuẩn chỉ số Core Web Vitals (2025)

Ba chỉ số có ba ngưỡng đạt riêng. LCP phải từ 2.5 giây trở xuống, CLS từ 0.1 trở xuống, INP từ 200 mili giây trở xuống; vượt qua là vùng cần cải thiện rồi tới vùng kém. Đạt hai chỉ số mà hỏng một thì trang vẫn không qua, nên phải nhìn cả ba cùng lúc.

Chỉ sốTốt (Vượt qua)Cần cải thiệnKém
LCP (Tải phần tử lớn nhất)$\le 2.5s$$2.5s - 4.0s$$> 4.0s$
CLS (Thay đổi bố cục)$\le 0.1$$0.1 - 0.25$$> 0.25$
INP (Tương tác tiếp theo)$\le 200ms$$200ms - 500ms$$> 500ms$

5. Checklist thực hành Core Web Vitals On-Page

Checklist thực hành Core Web Vitals On-Page gồm năm điểm kiểm tra trong code. Ảnh LCP đầu trang có fetchpriority high và bỏ loading lazy, 100% hình ảnh khai báo width và height, web font dùng font-display swap và preload, vùng quảng cáo hoặc iframe cố định chiều cao, và Critical CSS được tách để tải trước.

Đọc hiểu “Checklist thực hành Core Web Vitals On-Page” và làm được nó là hai việc khác nhau. Khóa Học SEO tập trung vào phần thực hành, mỗi kỹ năng gắn với một việc cụ thể trên website.

  • [ ] 1. Ảnh LCP: Đã thêm fetchpriority="high" và xóa loading="lazy" cho ảnh đầu trang chưa?
  • [ ] 2. Kích thước ảnh: 100% hình ảnh đã được khai báo width và height trong code chưa?
  • [ ] 3. Web Fonts: Đã sử dụng font-display: swap và preload các tệp font quan trọng chưa?
  • [ ] 4. Placeholder: Các vùng dành cho quảng cáo hoặc iframe đã được cố định chiều cao chưa?
  • [ ] 5. Critical CSS: Đã tách CSS quan trọng để tải trước, giúp trang hiển thị khung xương nhanh nhất chưa?

Core Web Vitals nằm trong buổi Technical SEO Foundation của khóa học SEO cơ bản, cạnh robots.txt, sitemap, canonical và redirect, rồi được kiểm lại ở Technical Workshop trên website học viên. Học xong, bạn đọc được chỉ số trong Google Search Console và biết trang nào cần sửa trước.


6. Kết luận & Kinh nghiệm thực chiến

Hai kinh nghiệm cuối bổ sung cho nhau. Dùng Lighthouse để kiểm giả lập và Search Console để xem trải nghiệm thật của người dùng, vì hai nguồn này hay lệch nhau. Và hạn chế nhúng script bên thứ ba, vì chatbot cùng mã theo dõi là nguyên nhân gây chậm hàng đầu.

  1. Dùng công cụ Lab & Field Data: Sử dụng Lighthouse để kiểm tra giả lập (Lab) và Google Search Console để theo dõi trải nghiệm thực tế của người dùng (Field Data).
  2. Tránh nhúng bên thứ ba bừa bãi: Các đoạn script từ bên thứ ba (Chatbot, Tracking pixel) là nguyên nhân hàng đầu gây lag. Hãy sử dụng kỹ thuật Delay JS để chỉ tải chúng sau khi người dùng bắt đầu tương tác.
  3. Ưu tiên UX: CWV không chỉ là để chiều lòng Google, mà là để đảm bảo khách hàng không bỏ đi vì trang web của bạn quá giật lag.

Lời kết:Tối ưu Core Web Vitals là sự kết hợp tinh tế giữa lập trình và mỹ thuật dàn trang. Khi bạn làm chủ được LCP và CLS, bạn không chỉ giúp website leo Top mà còn mang lại một trải nghiệm mượt mà, chuyên nghiệp cho mọi độc giả.

Bước tiếp theo

Muốn tự làm được việc này trên website của bạn?

SEO Master hướng dẫn làm SEO trong 24 buổi, từ tư duy nền tảng tới triển khai và đo lường trên website thật.

Cách tối ưu LCP và CLS ngay trong layout và tài nguyên

Các bước giúp bạn đưa LCP về 2.5 giây trở xuống và CLS về 0.1 trở xuống bằng việc chỉnh ảnh đầu trang, kích thước ảnh, font, quảng cáo và CSS quan trọng.

  1. Ưu tiên tải ảnh đầu trangThêm fetchpriority=high cho ảnh LCP đầu trang để trình duyệt tải ảnh ngay, trước các script chưa cần, và bỏ lazy load khỏi ảnh đó.
  2. Preload tài nguyên và render HTML sẵnPreload các tệp ảnh hoặc font chữ quan trọng nhất, và dùng Server-Side Rendering để máy chủ trả HTML render sẵn, trình duyệt không phải chờ JavaScript nặng chạy xong.
  3. Khai báo kích thước ảnh và videoKhai báo width và height ngay trong thẻ HTML cho 100% hình ảnh, hoặc dùng aspect-ratio trong CSS để trình duyệt giữ chỗ trước khi ảnh tải xong.
  4. Xử lý font và quảng cáoDùng font-display swap và preload các tệp font quan trọng, rồi đặt banner hoặc iframe trong thẻ div có chiều cao cố định để nội dung bên dưới không bị đẩy xuống.
  5. Tối ưu video và animationVideo hero background dùng .webm kèm muted playsinline và luôn có poster image, còn animation dùng transform để tránh đổi top, left, width, height gây reflow.
  6. Tách Critical CSS và trì hoãn scriptTách CSS quan trọng để tải trước cho trang hiện khung xương nhanh, rồi dùng Delay JS để script bên thứ ba như chatbot chỉ tải khi người dùng bắt đầu tương tác.
  7. Kiểm tra bằng Lighthouse và Search ConsoleDùng Lighthouse để kiểm giả lập và Google Search Console để xem trải nghiệm thật, rồi nhìn cả LCP, CLS và INP cùng lúc vì hỏng một chỉ số là trang không qua.

Câu hỏi thường gặp về Core Web Vitals On-Page

Giải đáp trực tiếp các câu hỏi thường gặp về Core Web Vitals On-Page dựa trên dữ liệu triển khai thực tế, quy trình kiểm thử kỹ thuật và kinh nghiệm thực chiến trên website thật để tối ưu hiệu quả tìm kiếm.

Vì sao đã nén ảnh bằng plugin mà điểm Core Web Vitals vẫn không lên?

Tối ưu Core Web Vitals không dừng ở việc cài plugin nén ảnh. Điểm phụ thuộc vào cách dựng layout và quản lý tài nguyên: ảnh đầu trang có được ưu tiên tải không, ảnh đã khai báo kích thước chưa, font và quảng cáo có giữ chỗ chưa.

Font tùy chỉnh gây nhảy bố cục như thế nào và sửa ra sao?

Font tùy chỉnh tải chậm khiến chữ hiện ra đột ngột và làm nhảy layout. Bạn dùng font-display swap để trình duyệt hiện font hệ thống trong lúc chờ, rồi preload các tệp font quan trọng để font tùy chỉnh về sớm hơn.

Animation làm bằng cách đổi top, left, width, height sai ở chỗ nào?

Đổi top, left, width hoặc height khi chạy hiệu ứng sẽ kích hoạt lại reflow, tức trình duyệt phải tính toán lại bố cục. Hiệu ứng chuyển động nên dùng thuộc tính transform trong CSS để tránh reflow và giữ trang mượt.

Tối ưu Core Web Vitals mãi không thấy hết việc thì nên dừng ở đâu?

Tối ưu không có điểm dừng tự nhiên, nên thứ quyết định hiệu quả là biết dừng đúng chỗ rồi chuyển sang việc khác. Một mốc để đối chiếu là ngưỡng tốt của ba chỉ số: LCP từ 2.5 giây trở xuống, CLS từ 0.1 trở xuống, INP từ 200 mili giây trở xuống.

Vùng cần cải thiện và vùng kém của LCP, CLS, INP nằm ở mức nào?

LCP từ 2.5s tới 4.0s là cần cải thiện, trên 4.0s là kém. CLS từ 0.1 tới 0.25 là cần cải thiện, trên 0.25 là kém. INP từ 200ms tới 500ms là cần cải thiện, trên 500ms là kém.

Có mấy cách giữ chỗ cho ảnh trước khi ảnh tải xong?

Có hai cách giữ chỗ cho ảnh. Cách thứ nhất là khai báo width và height ngay trong thẻ HTML. Cách thứ hai là dùng thuộc tính aspect-ratio trong CSS để trình duyệt tự chừa khoảng trống, kể cả khi ảnh chưa tải xong.

Checklist Core Web Vitals On-Page gồm những điểm kiểm tra nào?

Checklist gồm năm điểm kiểm tra trong code: ảnh LCP đầu trang có fetchpriority high và bỏ loading lazy, 100% hình ảnh khai báo width và height, web font dùng font-display swap và preload, vùng quảng cáo hoặc iframe cố định chiều cao, Critical CSS được tách để tải trước.

Core Web Vitals được học ở buổi nào trong khóa học SEO cơ bản?

Core Web Vitals nằm trong buổi Technical SEO Foundation của khóa học SEO cơ bản, cạnh robots.txt, sitemap, canonical và redirect. Sau đó nội dung được kiểm lại ở Technical Workshop trên website học viên, để bạn đọc được chỉ số trong Google Search Console và biết trang nào cần sửa trước.

CLS là gì và vì sao CLS quan trọng với trải nghiệm đọc?

CLS, viết đủ là Cumulative Layout Shift, đo mức độ thay đổi vị trí đột ngột của các phần tử trên trang trong quá trình tải. CLS từ 0.1 trở xuống là tốt. CLS cao nghĩa là nội dung bị đẩy xuống đúng lúc người đọc đang đọc, khiến khách dễ bỏ đi vì trang giật lag.

Có cần plugin để tối ưu Core Web Vitals không?

Cài plugin nén ảnh chưa đủ để tối ưu Core Web Vitals. Core Web Vitals On-Page bắt đầu từ tư duy dựng layout và quản lý tài nguyên multimedia: ưu tiên tải ảnh đầu trang, khai báo kích thước ảnh, dùng font-display swap, giữ chỗ cho quảng cáo và tách Critical CSS.

Lab Data khác Field Data thế nào khi đo Core Web Vitals?

Lab Data là số liệu kiểm tra giả lập, thường lấy từ Lighthouse. Field Data là trải nghiệm thực tế của người dùng, theo dõi trong Google Search Console. Khi đo Core Web Vitals, bạn dùng cả hai nguồn vì Lab Data và Field Data hay lệch nhau, và Field Data phản ánh người đọc thật.

Critical CSS là gì và có giúp Core Web Vitals không?

Critical CSS là phần CSS quan trọng được tách ra để tải trước, giúp trang hiển thị khung xương nhanh hơn. Critical CSS là một trong năm điểm kiểm tra của checklist Core Web Vitals On-Page, cùng ảnh LCP, kích thước ảnh, web font và vùng quảng cáo hoặc iframe cố định chiều cao.

Menu

Thêm vào màn hình chính

  1. 1 Bấm nút Chia sẻ ở thanh công cụ Safari
  2. 2 Kéo xuống, chọn Thêm vào MH chính
  3. 3 Bấm Thêm ở góc trên bên phải

Ba bước này là của Safari. Nếu đang xem trong ứng dụng khác thì bấm mở bằng Safari trước đã.