10 mẹo giúp cải thiện TTFB trong WordPress

TTFB là cụm từ viết tắt của Time to First Byte là một trong những thứ khó tối ưu hóa nhất trong WordPress. Hướng dẫn này sẽ giúp bạn triển khai một số bước dễ dàng hơn để cải thiện TTFB.

TTFB là gì?

Time to First Byte, như cái tên mà nó gợi ý – đây là thời gian phải bỏ ra để nhận được byte đầu tiên từ máy chủ web.

TTFB và Thời gian tải (Loading time)

Đôi khi TTFB bị nhầm lẫn với thời gian tải của một trang web. Tuy nhiên, điều này không đồng nhất. Thời gian tải liên quan đến tổng thời gian, bao gồm cả thời gian gửi, TTFB, tải về, phân tích, vân vân.

Làm thế nào để đo được TTFB?

Có một số công cụ được dùng để đo TTFB. Công cụ ưa thích của tôi là:

https://tools.keycdn.com/performance

Ưu điểm của nó là có khả năng kiểm tra từ 14 vị trí địa lý khác nhau.

công cụ kiểm tra TTFB của KeyCDN

TTFB tốt là như thế nào?

Google khuyến nghị TTFB tối đa nên rơi vào khoảng 200ms. Thậm chí từ 200 đến 400 cũng OK. Vượt quá 500ms bị xem là chậm. Nó rõ ràng sẽ ảnh hưởng đến tốc độ tổng thể của trang web và trải nghiệm người dùng.

Làm thế nào để giảm TTFB trong WordPress?

1. Sử dụng DNS của CloudFlare

DNS đóng vai trò sống còn trong tăng tốc độ web và TTFB. Hệ thống này trợ giúp trình duyệt tìm máy chủ của bạn và kết nối với nó. Trình duyệt càng kết nối nhanh với máy chủ, bạn càng có TTFB nhanh hơn!

Dưới đây là một bảng so sánh thời gian phản hồi DNS của CloudFlare với các dịch vụ phổ biến khác (càng thấp càng tốt):

Nhà cung cấpThời gian phản hồi (thấp hơn thì tốt hơn)
Cloudflare12 ms
GoDaddy48 ms
Route 53 (AWS)49 ms
Google Cloud59 ms

2. Sử dụng plugin cache

Với mỗi yêu cầu mới đến trang, WordPress phải thực thi PHP và truy vấn MySQL. Nhưng 90% thời gian bạn không cần đến nhiệm vụ này, bạn có thể tạo file HTML và phục vụ trang trực tiếp cho người dùng. Điều này nhanh hơn nhiều khi so sánh với việc phải tạo trang từ PHP.

Có một số plugin có thể giúp bạn bật cache trong WordPress.

Plugin ưa thích của tôi là WP Rocket.

3. Sử dụng máy chủ VPS hoặc Hosting được quản trị có hiệu suất cao

Không giống share host, máy chủ VPS và một số nhà cung cấp hosting được quản trị (managed hosting) không chia sẻ tải nguyên cho các trang web khác. Điều đó có nghĩa là cài website trên VPS hoặc managed hosting sẽ giúp trang của bạn nhanh hơn.

Dưới đây là một số dịch vụ mà tôi đề xuất:

Ngoài ra một số dịch vụ người dịch khuyến nghị là:

4. Sử dụng PHP v7.3

Phiên bản PHP bạn đang sử dụng là phiên bản nào? Nó là 7.0 hay 7.1 hay 7.2? Nếu thế bạn chắc chắn nên nâng cấp lên PHP v7.3

Nếu caching hoặc website tĩnh không phải là giải pháp tốt (đặc biệt đối với các trang thương mại điện tử, diễn đàn) thì tăng tốc độ xử lý là cách duy  nhất. Và câu chuyện này không chỉ là về việc tăng CPU và RAM mà thôi.

Thậm chí chỉ với cập nhật nhỏ về mặt con số, hiệu suất có sự khác biệt đáng chú ý!

chuyển sang phiên bản PHP 7.3
Nguồn: Kinsta

Nói cách khác bạn nên sử dụng PHP phiên bản cập nhật nhất.

5. Sử dụng TLS 1.3

TLS là sự kế thừa của SSL. Nó là một giao thức cung cấp mã hóa end-to-end (HTTPS). TLS 1.3 là phiên bản mới nhất. Phiên bản 1.3 giúp giảm số lượng vòng lặp (round trips) và cung cấp cải thiện đáng kể về TTFB.

Nó chỉ yêu cầu một vài thay đổi trong máy chủ của bạn, nhưng bạn có thể giảm được đến 250ms chỉ nhờ việc cập nhật lên phiên bản TLS 1.3

6. Chọn vị trí máy chủ một cách khôn ngoan

Nếu khách truy cập trang web của bạn ở Việt Nam, và máy chủ của bạn ở Hoa Kỳ, điều đó sẽ làm gia tăng thêm độ trễ mạng khoảng 200 – 300ms.

Bạn cần lựa chọn máy chủ một cách khôn ngoan. Nói cách khác hãy lựa chọn máy chủ gần nhất với người dùng của bạn. Hầu hết các nhà cung cấp dịch vụ cloud như Cloudways, Kinsta, Vultr có vị trí ở khắp mọi nơi trên thế giới. Nếu khách hàng của bạn ở Việt Nam hãy cân nhắc lựa chọn máy chủ ở Singapore, Nhật hoặc HongKong.

máy chủ của Digital Ocean
Vị trí máy chủ của Digital Ocenan – Cloudways

7. Sử dụng OpenLiteSpeed hoặc LiteSpeed Server

LiteSpeed là một máy chủ web tương tự như Nginx và Apache, nhưng có hiệu suất tốt hơn nhiều, đặc biệt khi nói đến lĩnh vực TTFB. Còn OpenLiteSpeed, nó là phiên bản mã nguồn mở của LiteSpeed trả phí. Bạn có thể cài đặt OpenLiteSpeed dễ dàng trên Digital Ocean, các VPS khác cũng cài đặt được nhưng đòi hỏi bạn phải am hiểu dòng lệnh nhiều hơn.

8. Cache trang HTML trên CDN

Trang HTML là thành phần đầu tiên mà trình duyệt của bạn yêu cầu khi người dùng ghé thăm website. Do một số yếu tố, mặc định thì CloudFlare không tiến hành cache HTML/JSON. Dù vậy, bạn có thể viết rule tùy chỉnh để cache trang HTML trên dịch vụ CDN của họ. Điều này sẽ giúp cải thiện TTFB đến 10 lần, thậm chí còn hơn!

9. Sử dụng CloudFlare Argo

Argo phát hiện tắc nghẽn theo thời gian thực và định tuyến lưu lượng web theo tuyến mạng nhanh nhất và đáng tin cậy nhất – CloudFlare

CloudFlare phục vụ 10% lưu lượng internet! Họ biết đâu là tuyến phân phối nhanh nhất. Với CloudFlare Argo, bạn có thể tăng tốc TTFB lên 35%.

Argo không phải là dịch vụ miễn phí, nó có phí 5$ / tháng + 0,1$ cho mỗi gigabyte.

10. Chuyển sang website dạng tĩnh và Sử dụng static hosting

Trang web tĩnh là gì?

Nếu trang WordPress của bạn không cần yếu tố động để duy trì, bạn có thể tạo phiên bản tĩnh cho nó. Phiên bản tĩnh là một trang chỉ bao gồm HTML, CSS, JS, ảnh, vân vân. Không cần PHP hay MySQL. Một trang landing page cho công ty/sản phẩm, hay một blog, vân vân là các ví dụ tốt về website tĩnh.

Hosting tĩnh (static) là gì?

Netlify là một ví dụ về dịch vụ hosting tĩnh, được thiết kế chuyên cho việc phân phối các file tĩnh hiệu suất cao. Nó tích hợp kèm CDN, bao gồm HTML.

Tạo phiên bản tĩnh của WordPress và triển khai

Cài đặt plugin WP2Static sẽ giúp bạn tạo ra phiên bản tĩnh của website. Sau đó kết nối với Netlify với vai trò nhà cung cấp dịch vụ hosting.

Và giờ bạn sẽ tận hưởng website tĩnh có tốc độ cực nhanh!

Kết luận

Ấn tượng đầu tiên là ấn tượng quan trọng nhất. TTFB quan trọng hơn nhiều tổng thời gian tải cả trang web của bạn. Tôi hy vọng các bước ở trên sẽ giúp bạn giảm thời gian TTFB của website.

(Dịch từ bài viết: 10 Tips to Reduce TTFB in WordPress, tác giả: Gijo Varghese, website: WP Speed Matters)

Leave a Comment