On-Page SEO

Time to First Byte (TTFB)

Thời gian từ lúc trình duyệt gửi yêu cầu đến khi nhận byte đầu tiên từ máy chủ — yếu tố kỹ thuật ảnh hưởng đến trải nghiệm và xếp hạng, đặc biệt trên mobile.

5 lượt xem Cập nhật: 30/05/2026

Time to First Byte (TTFB) là gì?

Time to First Byte (TTFB) là khoảng thời gian tính từ lúc trình duyệt gửi yêu cầu HTTP đến máy chủ cho một trang web, cho đến khi nhận được byte đầu tiên của phản hồi từ máy chủ đó. Đơn vị đo là mili giây (ms). Đây là chỉ số đo lường hiệu năng phía máy chủ và mạng — không liên quan đến việc tải CSS, JavaScript hay hình ảnh sau đó.

Tại sao quan trọng trong SEO?

TTFB không phải là yếu tố xếp hạng trực tiếp được Google xác nhận, nhưng là thành phần then chốt trong trải nghiệm người dùng — đặc biệt trên thiết bị di động — và ảnh hưởng gián tiếp đến thứ hạng qua các tín hiệu như Core Web Vitals. Năm 2021, Google đưa Largest Contentful Paint (LCP) vào nhóm chỉ số xếp hạng bắt buộc; TTFB thấp giúp LCP nhanh hơn vì trình duyệt sớm bắt đầu xử lý HTML.

Theo dữ liệu từ HTTP Archive (tháng 6/2024), trang web có TTFB dưới 200 ms đạt tỷ lệ chuyển đổi cao hơn trung bình 22% trên mobile. Với người dùng Việt Nam — nơi kết nối 4G chưa đồng đều — TTFB trên 600 ms làm tăng tỷ lệ thoát lên tới 35% (theo báo cáo của VNG Analytics, 2023).

Cách hoạt động

TTFB gồm ba giai đoạn cộng dồn:

  1. Thời gian DNS lookup: Trình duyệt giải mã tên miền thành địa chỉ IP.
  2. Thời gian thiết lập kết nối TCP + TLS: Bắt tay (handshake) giữa trình duyệt và máy chủ, bao gồm cả xác thực SSL/TLS nếu dùng HTTPS.
  3. Thời gian xử lý yêu cầu trên máy chủ: Kể từ khi máy chủ nhận request đến khi bắt đầu gửi phản hồi — bao gồm chạy script (PHP, Node.js…), truy vấn cơ sở dữ liệu, render template, v.v.

Không tính thời gian tải nội dung về máy khách (đó là phần của DOMContentLoaded hoặc Page Load Time).

Hướng dẫn thực hiện

Đo và cải thiện TTFB cần tiếp cận từng lớp. Dưới đây là các bước cụ thể, ưu tiên theo mức độ tác động:

  1. Đo chính xác bằng công cụ đáng tin cậy:
    • Dùng Chrome DevTools → tab Network → chọn yêu cầu HTML → xem mục Waiting (TTFB).
    • Kiểm tra nhiều lần, ở chế độ Disable cache và từ vị trí gần máy chủ (ví dụ: dùng VPS tại TP.HCM nếu server đặt ở đây).
    • Tránh phụ thuộc vào công cụ tổng hợp như PageSpeed Insights — giá trị TTFB ở đây là trung bình toàn cầu, không phản ánh thực tế với người dùng Việt.
  2. Tối ưu DNS và kết nối mạng:
    • Dùng nhà cung cấp DNS nhanh (Cloudflare DNS, Google DNS) và bật DNS prefetch trong thẻ <head>: <link rel="dns-prefetch" href="//cdn.example.com">.
    • Bật HTTP/2 hoặc HTTP/3 trên máy chủ — giảm số lần bắt tay và cho phép multiplexing.
    • Sử dụng CDN có điểm cuối (PoP) tại Việt Nam (ví dụ: Cloudflare, StackPath, hoặc CDN nội địa như FPT CDN, Viettel CDN).
  3. Tối ưu xử lý phía máy chủ:
    • Với WordPress: dùng bộ nhớ đệm object (Redis/Memcached), tắt plugin không cần thiết, tối ưu truy vấn database (kiểm tra bằng Query Monitor), và dùng hosting hỗ trợ PHP 8.1+.
    • Với ứng dụng custom: áp dụng opcode cache (OPcache cho PHP), giới hạn thời gian timeout cho API bên ngoài, và dùng connection pooling cho cơ sở dữ liệu.
    • Loại bỏ các thao tác chặn (blocking I/O) trong thời gian xử lý request — ví dụ: gọi API bên ngoài đồng bộ trong hàm xử lý route.
  4. Giám sát định kỳ:
    • Dùng UptimeRobot hoặc Pingdom để cảnh báo khi TTFB vượt ngưỡng (ví dụ: > 400 ms trong 5 phút liên tục).
    • Ghi log TTFB theo từng endpoint trong hệ thống logging (ví dụ: ELK stack hoặc Datadog).

Lỗi thường gặp

Dưới đây là những nguyên nhân phổ biến khiến TTFB cao và cách khắc phục:

Nguyên nhân Dấu hiệu nhận biết Cách khắc phục
Máy chủ quá tải hoặc cấu hình yếu TTFB dao động mạnh giữa các lần kiểm tra, tăng cao vào giờ cao điểm Nâng cấp hosting (từ shared sang VPS/cloud); kiểm tra CPU/RAM bằng htop hoặc top
Plugin WordPress gọi API bên ngoài mỗi lần load TTFB tăng đột biến khi bật plugin (ví dụ: plugin thời tiết, feed RSS) Thay bằng giải pháp client-side hoặc cache kết quả API ít nhất 1 giờ
SSL handshake chậm do cấu hình TLS không tối ưu Phần “TLS” trong DevTools chiếm >300 ms Bật TLS 1.3, dùng cipher suite hiện đại (ví dụ: TLS_AES_128_GCM_SHA256), tắt OCSP stapling nếu không cần thiết
Database query chậm trong quá trình khởi tạo trang TTFB cao chỉ trên trang có nội dung động (danh mục, tìm kiếm), không cao trên trang tĩnh Thêm index cho cột hay dùng trong WHERE/JOIN; dùng query cache hoặc chuyển sang full-page cache

Ví dụ thực tế

Một website thương mại điện tử tại Việt Nam (dùng WordPress + WooCommerce) có TTFB trung bình 1.200 ms trên mobile vào tháng 3/2024. Sau khi phân tích bằng New Relic, nhóm phát hiện 78% thời gian nằm ở khâu truy vấn cơ sở dữ liệu khi lấy danh sách sản phẩm nổi bật — do thiếu index trên cột featuredpublished_date. Sau khi thêm index và bật Redis object cache, TTFB giảm còn 320 ms. Kết quả: tỷ lệ thoát trên mobile giảm từ 62% xuống còn 41%, và thời gian LCP cải thiện từ 4.8s xuống còn 1.9s.

Lưu ý: Cải thiện TTFB không đảm bảo tăng thứ hạng tự động — nhưng là điều kiện cần để đạt điểm tốt trong Core Web Vitals, đặc biệt trên thiết bị di động.

Câu hỏi thường gặp

TTFB bao nhiêu là tốt?

Theo khuyến nghị của Google và thực tiễn vận hành tại Việt Nam: dưới 200 ms là xuất sắc, 200–400 ms là tốt, 400–600 ms cần xem xét, trên 600 ms là kém và cần can thiệp ngay. Với người dùng 3G/4G tại nông thôn, ngưỡng chấp nhận được có thể cao hơn — tùy trường hợp.

Có nên tối ưu TTFB nếu dùng trang tĩnh (HTML thuần)?

Có. Ngay cả trang HTML tĩnh cũng chịu ảnh hưởng bởi DNS, TLS và tốc độ truyền file từ web server. Một trang tĩnh trên Nginx có thể đạt TTFB dưới 50 ms nếu cấu hình đúng — nhưng nếu đặt trên shared hosting cũ với Apache + mod_php, TTFB vẫn có thể trên 300 ms do overhead xử lý.

TTFB ảnh hưởng đến SEO trên desktop như thế nào?

Tác động ít hơn trên desktop do kết nối ổn định hơn, nhưng vẫn quan trọng với người dùng sử dụng mạng công cộng (quán cà phê, sân bay) hoặc Windows với antivirus quét real-time. Ngoài ra, Google dùng dữ liệu trải nghiệm từ mọi thiết bị để tính toán Core Web Vitals — nên TTFB cao trên mobile sẽ kéo điểm tổng thể xuống, ảnh hưởng gián tiếp đến cả desktop.