Categories Cache Cache Enabler

Hướng dẫn sử dụng plugin Cache Enabler: vẻ đẹp của sự giản đơn

Cache Enabler

Cache Enabler là plugin cache đơn giản nhất bạn từng thấy, nhưng lại rất mạnh! Sau khi kích hoạt, nó chỉ có 5 – 6 mục để bạn tùy chọn.


#1. Lời ngỏ

Ở Việt Nam mọi người rất hâm mộ plugin cache có tên WP Rocket, còn những ai dùng LiteSpeed server thì thường mê LiteSpeed Cache. Những cái tên khác dần chìm xuống vì chất lượng kém hơn hoặc cài đặt quá phức tạp.

Chả trách được vì các kiểm tra thực tế cho thấy 2 plugin vừa nói ở trên luôn đứng đầu về mặt tốc độ. Nhưng chúng không phải là không có nhược điểm:

  • WP Rocket có chi phí lên đến 50$/năm/site, và tôi nghe nói nó không thích hợp trên nền máy chủ Nginx hoặc nếu muốn nhanh sẽ phải cài đặt tương đối phức tạp.
  • LiteSpeed cache tuy miễn phí nhưng phải gắn chặt với máy chủ có phí (hoặc miễn phí/openlitespeed) dành riêng cho nó. Ngoài ra phần cài đặt của LiteSpeed Cache có thể yêu cầu bạn cả tuần cho đến cả tháng để thiết lập thực sự chính xác và hiệu quả.

CẬP NHẬT: hiện LiteSpeed Cache có thể sử dụng trên bất kỳ nền máy chủ nào (gồm cả APACHE và NGINX), với những máy chủ không-phải-LiteSpeed, họ sử dụng QUIC cloud để tạo trang tĩnh, đây là một trong những thay đổi có tính đột phá nhất về mảng cache và CDN.

Cache Enabler không có chất lượng cao ở tầm WP Rocket, FlyingPress hay LiteSpeed Cache, nhưng nó lại có ưu điểm:

  • Phù hợp với những ai chạy máy chủ Nginx;
  • Bạn không tốn đồng nào;
  • Rất dễ sử dụng;
  • Tuy kém hơn nhưng không thua nhiều so với các plugin cache chất lượng tốt nhất, đặc biệt là trên các trang không có thiết kế, chức năng phức tạp.

Tuy nhiên nói đi cũng phải nói lại, trên các kiểu website dưới đây, có thể Cache Enabler KHÔNG phù hợp hoặc KHÔNG thể so sánh được với các plugin cache thương mại:

  • Có số lượng bài viết cực lớn (ví dụ trên 1000 bài);
  • Có lưu lượng truy cập cực lớn (ví dụ trên 10 ngàn view/ngày);
  • Website có cấu trúc phức tạp cần các tùy biến sâu về cache.

Khi ấy LiteSpeed cache, FlyingPress, Swift Performance hoặc WP Rocket có lẽ sẽ phù hợp hơn.

Một trong các nhược điểm lớn của Cache Enabler là nó không có thiết đặt cache phía trình duyệt, tuy nhiên bạn hoàn toàn can thiệp được đến tính năng quan trọng này bằng vài đoạn mã nhỏ. Tham khảo bài viết về browser cache để biết thêm thông tin.


#2. Chi phí?

Cache Enabler là plugin hoàn toàn miễn phí, không phải dạng freemium, tức là không có gói cao cấp nào cả, như kiểu plugin Swift Performance Lite, hay WP Fastest Cache.

Nói cách khác, dùng nó bạn có khả năng tiết kiệm được tầm 40-50$/năm.


#3. Ai phát triển?

Cache Enabler được đội của KeyCDN tạo ra, KeyCDN là công ty công nghệ hàng đầu về mảng CDN cho người dùng cá nhận, họ cũng chính là đơn vị đảm nhận vai trò CDN cho hosting cao cấp dành riêng cho WordPress là Kinsta*.

(*): Khả năng cao quan hệ này là do Brian Jackson dẫn mối, vì anh này trước khi làm CMO cho Kinsta thì cũng đã làm tại KeyCDN ở vị trí phát triển nội dung. Anh em nhà Brian về sau được biết đến với vai trò phát triển plugin Perfmatters, cái có nhiều nét tương đồng với Gonzales.

Khi dùng Cache Enabler bạn sẽ nhìn thấy dòng này ở trên cùng:

“Combine KeyCDN with Cache Enabler for even better WordPress performance and achieve the next level of caching with a CDN.”

Nghĩa là: “Hãy kết hợp KeyCDN với Cache Enabler để có được hiệu suất, tốc độ WordPress tốt hơn nữa, và đạt được cấp độ mới trong việc caching với CDN”.

Đấy là lý do vì sao Cache Enabler không có bản cao cấp! KeyCDN vẫn kiếm được tiền nhờ việc nhiều người biết đến dịch vụ CDN của họ, một lĩnh vực chắc chắn khác biệt với plugin cache nhưng lại rất gần gũi.


#4. Chất lượng thế nào?

Cộng đồng người dùng thông thường đánh giá Cache Enabler không tệ. Nó được review 4,3 sao (trên số sao tối đa là 5) với hơn 80 ngàn lượt tải.

Cache Enabler từng được tác giả phát triển CentminMod tích hợp vào làm công cụ cache mặc định, giờ thì CentminMod chuyển sang WP Super Cache rồi (vì Cache Enabler đơn giản quá chăng?).

Cá nhân tôi thấy Cache Enabler cho tốc độ rất ổn, website Kiến Càng hiện đang sử dụng nó. Và Cache Enabler cũng nằm trong gói combo Vultr HF + ServerPilot + Cache Enabler tôi khuyên dùng để có được hosting chất lượng.


#5. Các tùy chọn

(1). Cache Expiry: Thời gian hết hạn của cache tính theo tiếng, tức là sau thời gian này cache sẽ được làm mới. Nếu bạn để là 0 thì cache sẽ không bao giờ hết hạn.

Cá nhân tôi thường để cache là 1 tuần = 168 tiếng. Tùy chọn này phụ thuộc vào mức độ hoạt động thực tế trên blog. Nếu blog của bạn ít cập nhật, ít bài mới, hoặc bình luận, bạn có thể để cache cả tháng cũng không sao.

thời gian hết hạn của cache

(2). Cache Behavior: Hành vi cache, trong đó có 5 mục để bạn lựa chọn.

  • Clear the complete cache if a new post has been published (instead of only the home page cache): Nghĩa là xóa toàn bộ cache nếu có bài viết mới được xuất bản (thay vì chỉ trang chủ được xóa cache).
  • Clear the complete cache if a new comment has been posted (instead of only the page specific cache): TẮT. Nếu bật nghĩa là plugin sẽ xóa toàn bộ cache nếu bình luận mới được phê duyệt đăng (thay vì chỉ xóa cache của trang cụ thể có bình luận).
  • Pre-compression of cached pages. Needs to be disabled if the decoding fails in the web browser: TẮT. Nếu bật nghĩa là plugin sẽ nén trước trang đã được cache thành dạng Gzip. Bạn cần vô hiệu hóa tính năng này nếu quá trình giải nén gặp thất bại trên trình duyệt web, tôi thường không bật tính năng này vì rủi ro quá lớn so với lợi ích.
  • Create an additional cached version for WebP image support. Convert your images to WebP with Optimus: Nghĩa là tạo một phiên bản cache bổ sung để hỗ trợ định dạng ảnh WebP, ảnh của bạn được chuyển sang WebP bằng Optimus (đây cũng là công cụ do KeyCDN phát triển).
  • Clear the complete cache if any plugin has been upgraded: nên BẬT. Nghĩa là xóa toàn bộ cache nếu có bất kỳ plugin nào được cập nhật.

Lựa chọn thực tế thì còn tùy tình hình, tuy nhiên xóa toàn bộ cache không phải là ý hay trong đa số trường hợp, nhất là trên website có nhiều bài viết. Chẳng hạn chỉ vì một bình luận được đăng mà bạn xóa toàn bộ cache của website thường không phải là điều hợp lý.

hành vi cache
Trang web Kiến Càng với gần 900 bài viết, nên tôi luôn thận trọng với bất kỳ lựa chọn nào liên quan đến xóa toàn bộ cache. Khả năng cao tôi sẽ để ý đến chuyện xóa cache khi có plugin nào đó cập nhật. Và nếu làm việc này để đỡ ảnh hưởng, tôi sẽ cập nhật vài plugin cùng lúc.

(3). Cache Exclusions: những trang cần được loại trừ không cần cache. Điển hình nhất là trang giỏ hàng, thanh toán trên các trang thương mại điện tử, bạn không được cache những trang như vậy, vì nó sẽ làm sai thông tin giỏ hàng thực tế của người dùng. Và nhìn chung các trang có yếu tố động cao cũng không nên cache.

Các tùy chọn:

  • Post or Pages IDs separated by a , that should not be cached: có nghĩa là bạn xác định các bài không cần cache thông qua ID của nó, ngăn cách nhau bằng dấu phẩy (“,”). Cách này thường chỉ hiệu quả nếu bạn có tầm 10 bài không cần cache, còn nếu không việc thêm bớt sẽ vất vả và dễ nhầm lẫn. Cách xác định ID của bài viết là bạn nhấn edit nó sẽ thấy đuôi đằng sau post, chẳng hạn post.php?post=13879&action=edit thì ID của bài chính là 13879
  • Regexp matching page paths that should not be cached: có nghĩa là bạn xác định các bài không cần cache thông qua biểu thức regexp, nó chỉ cần khớp với đường dẫn là bài sẽ không được cache, thông qua cách này bạn có thể bỏ qua không cache cả một thư mục- lựa chọn qua regexp sẽ giúp bạn đỡ vất vả hơn nhiều so với việc ngăn không cho cache thông qua ID vì đây là kiểu so khớp hàng loạt. Cần áp dụng cẩn thận vì nếu làm sai bạn sẽ không cache trang mà đáng ra nó nên được cache.
  • Regexp matching cookies that should cause the cache to be bypassed: có nghĩa là các cookies phù hợp sẽ được bỏ qua cache. Rất phù hợp để áp dụng với các trang thương mại điện tử. Giá trị mặc định nếu phần này chưa được thiết lập: /^(wp-postpass|wordpress_logged_in|comment_author)_/

Vì trang Kiến Càng là blog đơn giản, nên tính năng này tôi không sử dụng:

loại trừ cache

(4). Cache Inclusions: những trang cần phải được đưa vào cache, khi mà ở thiết lập thông thường nó sẽ không được cache.

Regexp matching campaign tracking GET attributes that should not cause the cache to be bypassed: Có nghĩa là các chiến dịch có thuộc tính theo dõi GET không nên bị bỏ qua không được cache.

Giá trị mặc định nếu phần này bạn không đả động gì: /^utm_(source|medium|campaign|term|content)$/

bao gồm cache

(5). Cache Minification: phần này được dùng vào việc rút gọn trước mã nguồn, và có 3 tùy chọn:

  • Chẳng làm gì cả (disabled)
  • HTML (chỉ rút gọn HTML)
  • HTML & Inline JS (rút gọn cả HTML và JS nội tuyến)
Rút gọn mã nguồn

Phần này tôi cũng không thao tác gì, vì trang đã được rút gọn sẵn bằng plugin Autoptimize rồi.

PS: tính năng minify ít có tác dụng tăng tốc rất nhỏ, nếu bạn quan tâm đến tốc độ xây dựng cache (gồm cả prebuid cache/xây dựng trước cache, lần xây cache trong khi người dùng truy cập) thì nên vô hiệu hóa tính năng này. Trên đa số website, với các plugin cache thương mại hiện tôi cũng không hay dùng minify.


#6. Cache Enabler không phù hợp với ai?

Dù plugin Cache Enabler có rất nhiều ưu điểm, nhưng nếu bạn rơi vào các trường hợp sau, nó có thể không còn là công cụ thích hợp nhất:

  • Bạn muốn plugin cache có tốc độ tốt nhất có thể: nếu vậy các plugin bạn nên quan tâm là LiteSpeed Cache, FlyingPress, WP Rocket và Swift Performance.
  • Bạn muốn tích hợp nhiều tính năng tối ưu vào một plugin duy nhất: dùng Cache Enabler bạn sẽ phải cài thêm nhiều plugin khác nữa, vì nó chỉ tập trung vào mỗi cache mà thôi. Nếu muốn tiện dụng, các plugin cache trả phí sẽ là lựa chọn tốt hơn, vì chúng thường tích hợp rất nhiều tính năng vào sản phẩm (nén ảnh, lazy load, nén gộp CSS/JS, critical CSS, defer JS, cache phía trình duyệt, webp, vân vân & mây mây)

#7. Kết luận

Cache Enabler quả thực rất đơn giản, với trang blog mà tôi áp dụng vào nó lại càng đơn giản hơn- ngoài việc active plugin, tôi không bật bất cứ tùy chọn nào! Tất nhiên đây chỉ là trường hợp cụ thể của tôi mà thôi. Nếu trang bạn là trang thương mại điện tử, có quảng cáo, nhận nhiều lưu lượng truy cập từ các nguồn giới thiệu thì bạn phải đặc biệt chú ý đến mục số (3) vs số (4).

Các thắc mắc, vấn đề khi sử dụng plugin Cache Enabler bạn có thể tham khảo bài viết trong link vừa dẫn.

Mời bạn tham khảo hệ thống các bài viết về plugin cache, gồm: [1] LiteSpeed cache, [2] Swift Performance, [3] FlyingPress, [4] Cache Enabler.

Back to Top