Trong bộ chỉ số Core Web Vitals của Google, total blocking time là gì không còn là câu hỏi xa lạ với những ai làm SEO kỹ thuật. TBT (Total Blocking Time) đo lường tổng thời gian mà trang web bị “chặn” do các tác vụ dài trên luồng chính, ảnh hưởng trực tiếp đến khả năng tương tác của người dùng. Một TBT cao đồng nghĩa với việc người dùng phải chờ đợi lâu hơn trước khi có thể click, nhấn phím hoặc cuộn trang. Hiểu rõ TBT giúp bạn chẩn đoán và tối ưu hiệu suất trang, từ đó cải thiện thứ hạng tìm kiếm. Bài viết này sẽ giải thích chi tiết về TBT, cách nó được tính, tác động đến UX, và các phương pháp tối ưu hiệu quả.
Total Blocking Time Là Gì? Định Nghĩa Và Cách Hoạt Động

Total Blocking Time (TBT) là một chỉ số hiệu suất tập trung vào giai đoạn từ lúc First Contentful Paint (FCP) đến lúc Time to Interactive (TTI). Cụ thể, TBT tính tổng thời gian mà luồng chính (main thread) của trình duyệt bị “chặn” bởi các tác vụ dài (long tasks) – những tác vụ thực thi quá 50 mili-giây (ms). Khi một long task diễn ra, trình duyệt không thể phản hồi các tương tác của người dùng như click, nhập liệu hoặc cuộn trang. TBT chính là tổng phần thời gian vượt quá 50ms của mỗi long task trong khoảng thời gian đó.
Ví dụ: Một long task chạy trong 100ms sẽ đóng góp 50ms vào TBT (100 – 50 = 50). Nếu có ba long task lần lượt là 70ms, 120ms và 60ms, TBT sẽ là (70-50) + (120-50) + (60-50) = 20 + 70 + 10 = 100ms. TBT càng thấp càng tốt, vì nó cho thấy trang web phản hồi nhanh hơn với người dùng. Google khuyến nghị TBT dưới 200ms là tốt, từ 200ms đến 600ms là cần cải thiện, và trên 600ms là kém.
Vì Sao Total Blocking Time Quan Trọng Với SEO?
Total Blocking Time là chỉ số thành phần trong Core Web Vitals, ảnh hưởng trực tiếp đến trải nghiệm người dùng và thứ hạng tìm kiếm của Google. Khi TBT cao, trang web có vẻ “chậm chạp” hoặc “bị treo” dù nội dung đã hiển thị. Điều này khiến tỷ lệ thoát (bounce rate) tăng và thời gian phiên giảm. Google sử dụng TBT như một tín hiệu để đánh giá tính tương tác (interactivity) của trang. Một TBT thấp đồng nghĩa với khả năng tương tác nhanh, giúp người dùng hài lòng hơn và cải thiện thứ hạng trong kết quả tìm kiếm.
Cách Tính Total Blocking Time Chi Tiết

Để hiểu total blocking time là gì một cách chính xác, bạn cần nắm rõ công thức và quy trình tính toán. TBT được tính bằng tổng thời gian chặn của tất cả long tasks xảy ra giữa FCP và TTI. Mỗi long task là một tác vụ trên main thread kéo dài hơn 50ms. Thời gian chặn của mỗi task = (thời gian thực thi – 50). Những tác vụ ngắn hơn 50ms không được tính vì chúng không gây ra sự chậm trễ đáng kể.
Các công cụ như Lighthouse, PageSpeed Insights, Chrome DevTools (Performance panel) và Web Vitals extension đều hiển thị TBT dưới dạng tổng số mili-giây. Điều quan trọng cần lưu ý: TBT không phải là tổng thời gian chạy của tất cả long tasks, mà chỉ là phần vượt quá 50ms.
Phân Biệt TBT Với FID (First Input Delay) Và INP (Interaction to Next Paint)
Nhiều người nhầm lẫn TBT với FID hoặc INP. Cả ba đều liên quan đến khả năng tương tác, nhưng có sự khác biệt quan trọng:
| Chỉ số | Đo lường | Thời điểm | Đặc điểm |
|---|---|---|---|
| TBT | Tổng thời gian chặn từ long tasks | Giữa FCP và TTI | Đo lường trong phòng thí nghiệm (lab), không dựa trên tương tác thực tế |
| FID | Độ trễ từ lần tương tác đầu tiên đến khi trình duyệt xử lý | Khi người dùng tương tác lần đầu | Đo lường thực tế (field), yêu cầu dữ liệu người dùng |
| INP | Độ trễ của tất cả tương tác trong suốt vòng đời trang | Toàn bộ thời gian trang hoạt động | Thay thế FID từ tháng 3/2024, đo lường field tốt hơn |
TBT là chỉ số lab dễ đo lường và tối ưu hơn vì không cần dữ liệu người dùng thực. Nó thường được dùng để dự đoán FID/INP và là mục tiêu tối ưu chính khi cải thiện Core Web Vitals.
Các Yếu Tố Gây Tăng Total Blocking Time

Nguyên nhân chính của TBT cao đến từ các long tasks trên main thread.
- CSS không hiệu quả: Các bộ chọn phức tạp, reflow/layout quá nhiều lần có thể kéo dài thời gian render.
- Third-party scripts: Các widget, pixel quảng cáo, chat box, hoặc analytics thường chạy trên main thread và tạo ra long tasks.
- Xử lý hình ảnh và video không đúng cách: Resize, decode ảnh hoặc xử lý video trên main thread mà không dùng Web Workers.
- Lazy loading sai cách: Kích hoạt lazy loading vào thời điểm không phù hợp gây ra burst tasks.
- Không sử dụng code splitting hoặc tree shaking: Tải toàn bộ bundle JavaScript ngay từ đầu thay vì chia nhỏ theo từng route.
Ví Dụ Thực Tế Về Tác Động Của Long Tasks
Giả sử một trang tin tức có một widget bình luận từ bên thứ ba. Widget này tải một script 200KB và thực hiện nhiều thao tác DOM khi người dùng cuộn đến phần bình luận. Script này chạy mất 300ms, tạo ra một long task với thời gian chặn là 250ms (300-50). Ngoài ra, có thêm một task từ việc xử lý carousel ảnh mất 180ms (chặn 130ms). Tổng TBT lúc này là 380ms, vượt ngưỡng tối ưu. Người dùng sẽ cảm thấy trang bị “giật” hoặc không phản hồi khi cố gắng nhấp vào bài viết khác.
Cách Kiểm Tra Và Đo Lường Total Blocking Time

Có nhiều công cụ giúp bạn kiểm tra TBT của trang web:
- Lighthouse (Lab Data): Chạy trong Chrome DevTools hoặc PageSpeed Insights. Lighthouse mô phỏng tải trang và đưa ra TBT kèm các đề xuất tối ưu.
- PageSpeed Insights (Field + Lab): Hiển thị TBT từ dữ liệu phòng thí nghiệm (Lighthouse) và CrUX (Chrome User Experience Report).
FID (First Input Delay) là độ trễ từ lúc người dùng tương tác lần đầu tiên đến khi trình duyệt xử lý. FID chỉ xảy ra khi có tương tác thực, trong khi TBT đo tổng thời gian chặn do long tasks bất kể có tương tác hay không. TBT là chỉ số lab dự đoán FID.
Total Blocking Time có thể bằng 0 không?
Có thể, nếu không có long task nào trên 50ms trong khoảng giữa FCP và TTI. Tuy nhiên rất khó đạt được trên các trang phức tạp. Mục tiêu thực tế là dưới 200ms.
TBT có ảnh hưởng đến điểm SEO không?
Có. TBT là một phần của Core Web Vitals, Google coi trọng trải nghiệm người dùng. Một TBT cao làm giảm cơ hội xếp hạng tốt trong organic search.
Làm sao để xem TBT trực tiếp trên Chrome?
Mở DevTools, tab Performance, ghi lại quá trình tải, sau đó tìm mục “Total Blocking Time” trong summary. Hoặc cài Web Vitals extension để xem real-time.
Third-party scripts có phải nguyên nhân chính gây TBT cao?
Rất phổ biến. Các script quảng cáo, phân tích, chat thường có kích thước lớn và chạy đồng bộ. Hãy xem xét loại bỏ hoặc thay thế bằng các giải pháp nhẹ hơn.
Nên ưu tiên tối ưu TBT hay LCP?
Tùy trang. Nếu LCP ở mức ổn (dưới 2.5s) nhưng TBT > 300ms, hãy tập trung vào TBT. Nếu LCP kém, cần xử lý LCP trước vì nó ảnh hưởng đến nhận thức tốc độ tải ban đầu.
Kết Luận Về Total Blocking Time

Hiểu rõ total blocking time là gì và cách tối ưu nó là một phần quan trọng trong việc xây dựng website hiệu suất cao, thân thiện với SEO. TBT không chỉ là con số kỹ thuật; nó phản ánh chất lượng trải nghiệm của người dùng khi họ bắt đầu tương tác với trang. Bằng cách giảm thiểu long tasks, chia nhỏ các tác vụ nặng và quản lý third-party scripts hiệu quả, bạn có thể đưa TBT xuống dưới 200ms, đáp ứng tiêu chuẩn của Google và tăng sự hài lòng của khách truy cập.
Đừng quên đo lường và theo dõi TBT thường xuyên, kết hợp với các chỉ số khác như LCP, CLS và INP để có bức tranh toàn diện. Tối ưu TBT là một quá trình liên tục, đòi hỏi kiểm tra thường xuyên và cập nhật công nghệ. Bắt đầu ngay hôm nay bằng cách kiểm tra PageSpeed Insights của trang và xác định những long tasks đang kìm hãm hiệu suất.
- Khắc Phục Lỗi WordPress Htaccess Permission Error: Hướng Dẫn Chi Tiết Từ A-Z
- Content Cluster Là Gì? Chiến Lược Xây Dựng Nội Dung Trụ Cột Đỉnh Cao Cho SEO Hiện Đại
- Hướng Dẫn Chi Tiết Khắc Phục WordPress Brevo SMTP Lỗi: Nguyên Nhân & Cách Sửa Dứt Điểm
- Cách Khắc Phục Lỗi WordPress Lazy Load Gallery Nguyên Nhân Và Giải Pháp Chi Tiết
- Organic Keyword Là Gì? Hướng Dẫn Chi Tiết Cách Tìm Và Tối Ưu Từ Khóa Tự Nhiên Cho SEO Bền Vững















