Interactive · Website Performance

Bản đồ tối ưu tốc độ website

Hover xem gợi ý; bấm node để mở panel chi tiết — map luôn sạch, chiều sâu nằm sau cú click. Bên phải là vòng đời 24 bước một trang tải, cùng dữ liệu với Page Load Simulator.

Tối ưu tốc độ website

Chọn một nhánh bên trái để xem chi tiết — map luôn sạch, chiều sâu nằm sau cú click.

Vòng đời tải trang — 24 bước

Cùng dữ liệu với Page Load Simulator, nhóm theo giai đoạn để tra cứu nhanh.

Kết nối mạng

  • DNS LookupTrình duyệt hỏi DNS resolver: domain này trỏ về IP nào.
  • TCP ConnectBắt tay 3 bước (SYN/SYN-ACK/ACK) để mở kết nối tới server.
  • TLS HandshakeThoả thuận mã hoá HTTPS trước khi truyền bất kỳ byte nội dung nào.
  • CDN Edge CacheCDN kiểm tra xem đã có bản sao trang này ở edge gần người dùng chưa.

Server xử lý

  • Nginx nhận requestWeb server nhận HTTP request và quyết định forward đi đâu.
  • PHP-FPM khởi động workerPHP-FPM cấp một worker process để chạy code PHP của WordPress.
  • WordPress bootstrapWordPress nạp wp-settings.php và chạy hàng chục hook init.
  • Plugins loadTừng plugin active được nạp và chạy code khởi tạo của nó.
  • DB QueriesTheme và plugin truy vấn MySQL để lấy post, meta, options.
  • Redis Object CacheLớp cache ở giữa PHP và MySQL, tránh lặp lại truy vấn giống nhau.
  • Page cacheHTML cuối cùng có được lưu lại để lần sau khỏi render lại từ đầu không.
  • HTML Response (TTFB)Byte đầu tiên của HTML được gửi về trình duyệt — Time To First Byte.

Trình duyệt tải

  • Preload key requestsTrình duyệt có được "mách nước" trước về CSS/font quan trọng không.
  • Trình duyệt parse HTMLTrình duyệt đọc HTML và dựng cây DOM trong bộ nhớ.
  • Render-blocking CSSTrình duyệt phải tải xong CSS trong <head> trước khi vẽ bất kỳ pixel nào.
  • Render-blocking JS<script> không có defer/async chặn parser HTML cho tới khi chạy xong.
  • Third-party scriptsGA4, Facebook Pixel, live-chat widget… mỗi cái là một request chặn thêm.
  • Font swapWeb font tải xong thì chữ mới đổi từ font hệ thống sang font thật (FOUT/FOIT).

Render & tương tác

  • First PaintPixel đầu tiên (thường là màu nền) xuất hiện trên màn hình.
  • LCP PaintPhần tử lớn nhất trong viewport (thường là ảnh hero) vẽ xong — Core Web Vital quan trọng nhất.
  • Image decodeCPU giải mã ảnh đã tải để có thể vẽ lên màn hình.
  • JS HydrationFramework JS "gắn" lại sự kiện tương tác vào HTML đã render sẵn.
  • CLS ShiftNội dung nhảy vị trí sau khi đã hiển thị — gây khó chịu và click nhầm.
  • TTITime To Interactive — thời điểm trang thực sự phản hồi click/tap của người dùng.

Vì sao lại là một "playbook", không phải một checklist?

Tối ưu tốc độ website không phải một danh sách việc-cần-làm cố định — nó là một hệ thống các đòn bẩy liên quan tới nhau: network, server, database, frontend, và cách chúng cộng dồn thành Core Web Vitals mà Google đo thật. Playbook này gom toàn bộ hệ thống đó vào một bản đồ tương tác duy nhất, thay vì rải rác trong nhiều bài viết riêng lẻ.

Mỗi nhánh bên trái là một lever cụ thể. Bấm vào một mục để xem chi tiết: nguyên nhân, cách sửa, và (nếu liên quan) một liên kết trực tiếp tới đúng bước tương ứng trong Page Load Simulator — nơi bạn thấy con số thời gian thực tế của bước đó thay đổi thế nào giữa "chưa tối ưu" và "đã tối ưu".

Dùng playbook này thế nào?

  • Mới bắt đầu: đọc nhánh "Cái gì & vì sao" rồi "Đo lường" — đo tốc độ thật của bạn bằng PageSpeed Checker trước khi tối ưu bất cứ gì.
  • Đang debug một vấn đề cụ thể: mở nhánh Core Web Vitals, tìm đúng chỉ số (LCP/CLS/INP) đang có vấn đề, đọc nguyên nhân + cách sửa.
  • Cần bằng chứng cho sếp/khách hàng: bấm Tải .md để lấy toàn bộ nội dung dạng văn bản, hoặc In / PDF để có bản in gọn gàng.

Muốn D-Solutions tối ưu tốc độ giúp bạn?

Cache, database, CDN, Core Web Vitals — đo được, chứng minh được bằng số liệu thật, không phải lời hứa suông.