Vì sao trang wordpress của tôi bị chậm

Để trả lời cho câu hỏi mà rất nhiều người sử dụng WordPress hỏi mình xin gói gọn cơ bản trong 2 vấn đề, hy vọng bài viết này sẽ giúp được bạn phần nào.

Đừng đụng đến nó

Vâng, nghe thì có vẻ vô lý, nhưng có một sự thật là chúng ta càng làm, càng “tối ưu” nó sẽ càng phát sinh vấn đề và đương nhiên, càng chậm.

Tuỳ vào nhu cầu của bạn khi sử dụng WordPress là gì, nhưng nếu được, phải hạn chế hết mức có thể việc cài đặt các plugin, nên cân nhắc 2 lần và backup trước khi cài đặt, vì cài thì dễ, mà để gỡ sạch sẽ một plugin của wordpress có thể tốn rất nhiều thời gian. Và nên tránh các plugin “tối ưu” ra.

Không phải cái gì cũng cần “tối ưu:

  • Nén js/css/html: Cái này thiệt sự là không cần, trừ khi bạn muốn có thêm vài điểm ở các công cụ test, thực ra với tốc độ mạng hiện tại, không cần thiết phải mất một mớ sức lực của máy chủ để warm-up website như vậy.
  • Gộp js/css: Về lí thuyết, càng ít files asset được load càng tốt, nhưng đó là khi bạn sử dụng ít plugin và theme được code tốt, chứ không phải là sử dụng nhiều rồi gộp các file đó lại, như đã nói ở trên, máy chủ sẽ tốn tài nguyên để warm-up và chưa kể sẽ phát sinh lỗi ở các “layer cache” khác nhau, và hiện tại với HTTP/2 thì việc tải file là song song chứ không tuần tự nữa, nên việc này hoàn toàn không cần thiết.
  • Lazy load hình ảnh: Nghịch lý ở chỗ này, trong khi ta muốn tải nhanh website thì đây là tính năng giúp “tải chậm” hình ảnh, để web render được nhanh hơn, hầu hết mọi trường hợp, bạn nên tắt nó đi, vì nó sẽ làm tăng LCP (Largest Contentful Paint) của web bạn lên, để tìm hiểu thêm việc 1 trang web được render như thế nào trên trình duyệt, bạn có thể tìm hiểu ở đây.
  • Defer js: Tính năng này hay có ở các plugin “tối ưu“, một số thì dùng defer (tải chậm) và một số phương thức dùng async (như cloudflare rocket), mình thường không sử dụng phương thức này, vì nó gây ra nhiều rắc rối hơn là lợi ích.

Phương châm của mình, càng ít càng tốt, nên giảm số lượng request mỗi trang thay vì nén, gộp, tải chậm… bạn phải thực sự hiểu rằng mình đang làm gì trước khi đơn thuần “đánh dấu” vào những ô trong các plugin kiểu này, tốt nhất là nên thử từng cái và loại suy trước khi sử dụng, đặc biệt là các plugin “page builder” và “seo

Bạn phải luôn nhớ điều này: “bản thân WordPress không chậm, chính chúng ta làm nó trở nên chậm“, mỗi plugin chúng ta cài vào wordpress là một sự đánh đổi ít hay nhiều đến tốc độ và sức chịu tải của máy chủ.

Chọn một ngôi nhà tốt

Đây là một yếu tố mà hầu hết các bạn thường bỏ qua, hosting là một vấn đề tối quan trọng để đạt được tốc độ cao nhất. Không có điều gì chắc chắn rằng delicated server sẽ giúp website bạn load nhanh hơn 1 shared hosting cả. Điều quan trọng nhất là hosting stack có tốt hay không, có được cập nhật bản mới nhất hay không, và có được config “đúng” hay không?

Nếu được bạn nên trải nghiệm thử qua vài hosting tốt với mức giá vừa phải như: Kinsta, Wpengine, Pressidium… tuỳ theo nhu cầu mà chọn bên cung cấp, chẳng hạn như Kinsta giới hạn “PHP-worker” rất thấp, nếu bạn sử dụng với Woocommerce chẳng hạn, thì không được ổn cho lắm, còn pressidium thì giới hạn “php-memory” ở 384mb, một số web lớn cũng khó sử dụng, tuy nhiên các dịch vụ cơ bản mình nêu vừa rồi sẽ đáp ứng được độ ổn định, bảo mật cũng như đơn giản để sử dụng.

Không nên sử dụng các image có sẵn của các nhà cung cấp cloud để cài wordpress, vì mình thấy hầu hết những “web stack” đó đều đơn giản quá mức đến nỗi không được tinh chỉnh và tối ưu sẵn cho WordPress. Bạn nên dùng “web panel” để sử dụng với cloud server, vừa đơn giản, lại vừa có chi phí hợp lý, nhưng nhớ là cài đặt firewall cũng như waf cho an toàn nhé.

Phải sử dụng cache để giảm tải cho server và giảm TTFB cho website, nhưng chỉ nên sử dụng một lớp cache, nhiều lớp chưa hẳn là hiệu quả, và nên ưu tiên theo thứ tự: proxy cache > server level cache > cache plugin. Ở thời điểm hiện tại, rất ít lí do để bạn sử dụng cache plugin, vừa chậm lại vừa hao tài nguyên, với mình thì bạn nên cân nhắc giữa nginx cache (fast-cgi) và Varnish cache.

Bài học rút ra của mình sau vài năm trải nghiệm các dịch vụ kiểu này, thì “tiền nào của đó“, và đừng tin vào quảng cáo, hầu hết họ đều cho trải nghiệm 30 ngày và refund nếu muốn, bạn hãy thử qua trước khi quyết định.


Có rất nhiều yếu tố ảnh hưởng đến website của bạn tải nhanh hay chậm, nhưng chỉ cần bạn tuân thủ những qui định khắt khe về việc cài cái gì, và đặt web ở đâu, mình tin bạn sẽ không phải đau đầu nữa.

1 comment

  1. Haha vì em chỉ dùng mỗi để viết nên xài cái gì cũng free hết, mỗi tội nghèo nên chỉ dám mua mỗi cái domain và tự code mọi thứ để không tốn tiền

Leave a comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *