I. Giảm thời gian phản hồi máy chủ:

  • host kém: cách kiểm tra như thế nào?
  • Khoảng cách xa: từ server đến máy test xa
  • mã nguồn chưa tối ưu: mỗi lần browser send 10 request => quá nhiều js & css sẽ dẫn đến browser mất thời gian send & receive request. Tuy nhiên khi dùng autoptimize để gộp lại thành 1 file js & 1 file css => kích thước lớn => tải chậm => Sử dụng kỹ thuật Above the fold để tải trước css cần thiết => mỗi page lại có một initial css khác nhau.
  • cache dữ liệu web

=> giải pháp sử dụng plugin tạo cached ở mức độ server & browser.

=> sử dụng CDN (sử dụng CDN gần số đông viewer – VD: phần lớn visitors ở VN thì cần dùng CDN có location ở VN).

a. Kiểm tra server đã bật gzip chưa: https://checkgzipcompression.com 

b. Reduce DNS lookup time: https://kinsta.com/blog/reduce-dns-lookups/

  • Giảm sử dụng external resources => giảm thời gian DNS lookup các external resources: host google font locally,
  • Sử dụng  DNS Prefetching: This allows the browser to perform DNS lookups on a page in the background

c. HSTS: 

Trên thực tế gần như 100% người dùng gõ địa chỉ trang web như thế, không mấy ai gõ đầy đủ https://yoursite.com, Điều đó sẽ làm Web Browser và Server mất thêm thời gian, tài nguyên trong quá trình khởi tạo kết nối.

HSTS là giải pháp cho vấn đề này. HSTS hoạt động giống như cache trên Web Browser. Lần đầu truy cập website Web Browser vẫn gửi HTTP Request như bình thường và cache lại truy cập này. Từ lần thứ 2, thứ 3. .. truy cập nó sẽ gửi HTTPS Request luôn, hay nói cách khác HSTS thực hiện Redirect 301 ngay tại Browser của bạn.

Khi HSTS được Enable tốc dộ truy cập Web Site sẽ tăng lên đáng kể. Cái quan trọng nhất nó sẽ ngăn chặn hacker tấn công Middle Attack tại bước trao đổi HTTP Request giữa Web Browser và Web Server . Hiện tại kiến trúc Protocol SSLv3 và TLS 1.0 đều dính lỗi này. Theo mình với các web thương mại điện tử nên dùng Protocol TLSv1.1, TLSv1.2 cho an toàn.

=> cách thức enable HSTS: link (https://www.thuysys.com/server-vps/web-server/cau-hinh-toi-uu-nginx-tang-toc-va-bao-mat-website-dung-https.html)

II. Tối ưu bằng cách disable plugin trên các trang không cần thiết:

1. Kiểm tra ảnh hưởng các các plugin đến web performance:

  • Sử dụng các dev tool của trình duyệt hoặc các web đánh giá perfomance như GTmetrix, Google pagespeed…
  • Một ví dụ về plugin load những file không cần thiết trên web là plugin Contact form 7:

Plugin contact form 7: chỉ cần đến ở page Liên hệ => tuy nhiên plugin này tự load ở tất cả các trang. Contact form 7 sẽ load 2 js sau trên tất cả các trang:

+ scripts.js

+ jquery.form.min.js

Như vậy, thời gian để web load 2 js này sẽ bị lãng phí & làm chậm web performance => Cần disable plugin này ở các page & chỉ enable ở contact page.

2. Làm thế nào để disable plugin không cần thiết: 

Một cách đơn giản là sử dụng plugin để list & disable/enable plugins đang chạy. Có 3 plugins hay được sử dụng:

Plugin Load Filter:

Plugin Organizer: hướng dẫn sử dụng.

perfmatters Plugin: plugin trả phí

3. Xử lý file zxcvbn (password strength check):

WooCommerce dùng 1 file tên zxcvbn.min.js với dung lượng ~ 400kb để bắt buộc người dùng tạo 1 password thật mạnh (WordPress yêu cầu password người dùng thật dài, thật nhiều kí tự đặc biệt, in hoa, in thường, có số, có chữ).

Để loại bỏ việc load file zxcvbn.min.js, bạn có thể chỉnh trong theme option như sau:

Tại admin board, vào Tùy biến giao diện -> Shop -> My Account và thay đổi phần the Login Style from Lightbox to Link (Lightbox version thêm form vào tất cả các page, do vậy script check strength of password được load ở tất cả các page).