Giảm tải cho host yếu sử dụng WordPress thông qua CDN miễn phí

Host yếu (*) chỉ có một nguyên nhân: bạn không đủ tiền đầu tư để mua host mạnh hơn. Chuyện bình thường thôi, ai cũng có lúc khó khăn cả, hoặc đơn giản là bạn muốn tiết kiệm nhất có thể. Nếu vậy có cách nào duy trì ổn định website và giảm tải cho hosting không?

Câu trả lời là CÓ. Bạn có nhiều cách để giảm tải cho host, để nó chỉ phải sử dụng ít tài nguyên nhất có thể.

(*): Host yếu ở đây có ý nghĩa tương đối. Host có giá tầm 20$/tháng cho website 200 ngàn view/tháng có thể không yếu, nhưng cũng host đấy cho trang 500 ngàn view thì lại chậm đáng kể. Giá host không phải điểm chính ở đây, nếu host không có khả năng đảm bảo cho website chạy mượt mà thì nó bị coi là yếu.

Lưu ý bài viết này dành cho những ai sử dụng WordPress. Còn những ai sử dụng CMS khác vẫn có thể thấy thông tin hữu ích tuy nhiên nó áp dụng tốt nhất cho WordPress.

Nguyên tắc chung: tránh tải bất cứ thứ gì từ hosting của bạn. Bạn có thể thử một trong các cách sau:

Cách 1. Sử dụng CloudFlare

Công cụ này có lẽ nhiều người biết.

Ưu điểm:

  • Dùng được với bất cứ website nào chứ không riêng gì WordPress
  • Tăng cường bảo mật
  • Gói miễn phí có chất lượng khá
  • Cài đặt cơ bản rất đơn giản, chỉ cần thay đổi DNS sang của CloudFlare và bật đám mây màu vàng lên là xong (tất nhiên các cài đặt chuyên sâu sẽ đòi hỏi bạn phải tìm hiểu nhiều hơn. Ai dùng gói CloudFlare bản pro có thể xem hướng dẫn dùng ở đây)
  • Không mâu thuẫn với các biện pháp gộp nén JS, CSS (chẳng hạn dùng plugin Autoptimize), và async hoặc defer JS

Nhược điểm:

  • Đôi khi bị lỗi kết nối với máy chủ gốc
  • Không phải lúc nào cũng có tốc độ cao (nhất là khi đứt cáp)

Cách 2: Sử dụng plugin commonWP + Flying Images

Về bản chất 2 plugin này giúp bạn có được CDN miễn phí cho các kiểu file tĩnh khác nhau:

  • Plugin CommonWP sử dụng CDN của jsDelivr cho JS và CSS. Nó áp dụng được cho bất cứ mã nào nằm trong plugin và theme thuộc WordPress.org. Để sử dụng plugin này bạn không được gộp và nén mã JS và CSS bằng plugin như Autoptimize, nếu bạn gộp nó sẽ không đẩy lên CDN được. Cài đặt plugin rất đơn giản, bạn chỉ cần kích hoạt CommonWP lên là xong
  • Plugin Flying Images sử dụng CDN của statically.io để CDN cho ảnh. Không chỉ CDN, ưu điểm của nó là giúp bạn nén ảnh, phân phối ảnh dưới định dạng WebP nếu cần, ngoài ra là lazy load ảnh – cái cũng có rất nhiều tác dụng trong việc giảm tải cho hosting. Plugin này cài đặt cũng đơn giản, chỉ mất vài phút để thiết lập hoàn chỉnh

Bằng 2 plugin này bạn đã CDN được cho hầu hết các file tĩnh trên website.

Ưu điểm:

  • Cả hai plugin đều miễn phí
  • Dựa trên các nền tảng CDN có chất lượng cao, miễn phí và duy trì ổn định trong thời gian dài
  • Cài đặt đơn giản

Nhược điểm:

  • statically.io không phải dịch vụ độc lập, nó dựa vào sự góp sức của các hệ thống CDN lớn khác như CloudFlare, CDN77, Fastly và mới ra mắt trong thời gian gần đây nên mức độ ổn định cần thời gian kiểm chứng thêm, ít nhất ở thời điểm hiện tại nó ổn định
  • Tốc độ CDN cho ảnh không phải lúc nào cũng cao (tuy nhiên vẫn chấp nhận được)
  • Ảnh không purge được qua giao diện người dùng (tuy nhiên thì thường cập nhật nội dung ảnh cũng tương đương với việc thay URL ảnh nên nó không phải là vấn đề nghiêm trọng gì)

Cách 3: Sử dụng plugin JetPack

Plugin JetPack của chính chủ WordPress hiện cung cấp dịch vụ CDN miễn phí có chất lượng khá

Ưu điểm:

  • Có CDN miễn phí cho cả ảnh và CSS cũng như JS phổ biến, nói cách khác nó có sức mạnh tương đương với commonWP + Flying Images
  • Duy trì ổn định trong một thời gian dài

Nhược điểm:

  • Đôi khi khó truy cập từ Việt Nam (vì lý do ngoài công nghệ)
  • Plugin bị đánh giá là cồng kềnh, khi có rất nhiều tính năng khác mà có thể bạn không dùng đến

Cách 4: Sử dụng hosting static miễn phí hoặc giá rẻ

Plugin để hỗ trợ việc này là WP2Static, nó sẽ xuất trang web WordPress động của bạn thành tĩnh hoàn toàn. Sau đó bạn có thể mang nội dung này đẩy lên các hosting static như Netlify, GitHub, hoặc BunnyCDN.

Ưu điểm:

  • Bạn không phải bỏ tiền thuê host hoặc nếu phải thuê thì giá cũng rẻ hơn rất nhiều so với host thông thường (với cùng một hiệu năng)
  • Tốc độ tốt, vì là file tĩnh không mất thời gian cho việc sử dụng cơ sở dữ liệu MySQL, thực thi PHP
  • Được cho là bảo mật hơn so với dùng WordPress thông thường
  • Đặc biệt thích hợp với trang không cần cập nhật trong thời gian dài, hoặc/và trang có lưu lượng truy cập rất lớn

Nhược điểm:

  • Chỉ phù hợp cho các trang tĩnh
  • Không phù hợp với những ai hay viết và cập nhật nội dung
  • Cài đặt khó khăn hơn các cách khác (bạn phải tạo một host động cho trang phát triển và một tên miền tĩnh cho trang chính thức cho người dùng)

Về mặt cá nhân, tôi thích dùng cách hai nhất. Cách bốn cũng rất tiềm năng nếu áp dụng cho website phù hợp.

Ở trên tôi chỉ nói phần căn bản, còn để tối ưu hóa sâu, bạn cần kết hợp các biện pháp bổ sung như:

  • Sử dụng theme đơn giản (thí dụ như Astra, Twenty Twenty)
  • Loại bỏ plugin dư thừa, ưu tiên plugin nhẹ nhàng
  • Vân vân (bạn có thể xem thêm cách tăng tốc website WordPress ở đây)

Kết luận

Về cơ bản, bạn có thể thấy các biện pháp hỗ trợ cho host yếu có nhiều cái giống với các cách giúp tăng tốc WordPress, khác biệt cơ bản là trong tăng tốc thông thường ta chủ động sử dụng các công cụ tốt nhất trong tầm tay (thường là có phí) để cải thiện, trong khi giảm tải cho host tập trung vào các công cụ miễn phí và rẻ nhất có thể.

Tăng tốc cho host yếu dựa phần lớn vào dịch vụ CDN miễn phí của bên thứ ba. May mắn cho chúng ta là các dịch vụ như vậy ngay càng phổ biến và ổn định hơn. Tất nhiên không tránh khỏi nhược điểm, so với dịch vụ CDN truyền thống thu phí thì các dịch vụ CDN miễn phí đa phần chỉ host được các file JS và CSS phổ biến (trừ CloudFlare).

Một điểm đáng nói là các dịch vụ CDN miễn phí host các file phổ biến có một ưu điểm nhỏ so với CDN truyền thống, đó là vì các file đó có cùng địa chỉ URL, và nhiều website sử dụng (thí dụ jQuery), có khả năng một hoặc nhiều file mà trang cần tải đã được cache trên trình duyệt người dùng rồi, qua đó giúp tăng tốc trang hơn nữa. Cái này thực sự hiệu quả, nhưng tại sao tôi lại nói là ưu thế nhỏ, vì xác suất để website nào đấy bạn truy cập trước đó sử dụng chung một nguồn CDN jQuery không hẳn là cao.

Cập nhật: việc sử dụng bên thứ ba làm nguồn tập trung các tài nguyên phổ biến như Google Fonts, jQuery sắp tới sẽ không đem lại khả năng tăng tốc ở khía cạnh đã được cache sẵn nữa. Lý do là vì trình duyệt Chrome sẽ bắt tải lại tài nguyên bên thứ ba dù trước đó nó đã được tải ở tên miền khác, nguyên nhân là vì lý do bảo mật.

Bạn có thể đọc bài viết sau để biết được điểm lợi và hại của việc sử dụng mã phổ biến của bên thứ ba.

Bonus: những cách giảm tải khác ngoài CDN

  • Lazy load ảnh: dù không được khuyến khích nhiều như trước đây, nhưng nếu trang bạn có nhiều ảnh, và người truy cập chủ yếu từ máy bàn, sử dụng lazy load sẽ giảm tải được đáng kể mà không ảnh hưởng nhiều đến trải nghiệm người dùng
  • Sử dụng theme đơn giản: các theme ưu tiên cho tốc độ, với thiết kế đơn giản như Astra sẽ giúp ích cho bạn rất nhiều
  • Gỡ bớt các plugin, nhất là plugin nặng: cài quá nhiều plugin và có những plugin nặng nề sẽ làm website trên nền host yếu trở nên rất mong manh

Cuối cùng, nếu host của bạn yếu đến mức mà dù đã áp dụng nhiều biện pháp giảm tải rồi nhưng vẫn không thể duy trì được ổn định, thì đây là lúc bạn phải chuyển sang hosting khác tốt hơn. Tôi có bài hướng dẫn chuyển host để sao cho nhanh và ít lỗi ở liên kết này.

Leave a Comment