Plugin W3 Total Cache: cách thiết lập tối ưu

Trang WordPress chắc chắn sẽ chậm đi mỗi khi cài thêm plugin. Vì vậy, plugin cache đã trở thành một trong những plugin không thể thiếu của WordPress. Với hơn 1 triệu lượt cài đặt đang hoạt động ở bản miễn phí và điểm đánh giá 4,4 sao, plugin W3 Total Cache (W3TC) là một trong những plugin được dùng nhiều nhất.
Vì cài đặt cache có thể khiến một số tính năng của plugin khác đang dùng không hoạt động, nếu mới bắt đầu dùng WordPress, bạn có thể dùng plugin dễ cài đặt như Cache Enabler hoặc WP Super cache.
Nếu cần cài đặt và kiểm soát cache chi tiết, bạn có thể dùng plugin W3 Total Cache, vốn có nhiều tính năng mạnh ngay cả ở bản miễn phí.
Ⅰ. Cài đặt W3 Total Cache và Setup Guide
Tìm W3 Total Cache, rồi cài đặt và kích hoạt plugin.
- Welcome
- Page Cache
- Database Cache
- Object Cache
- Image Converter
- Lazy Load
- More Caching Options
AcceptDecline
Sau lần cài đặt đầu tiên, khi vào trang [Dashboard], bạn sẽ được tự động chuyển đến [Setup Guide] vì chưa có cài đặt nào.
Trong Setup Guide, bạn có thể cài đặt ① page cache, ② cache cơ sở dữ liệu, ③ cache đối tượng, ④ cache trình duyệt, ⑤ tối ưu hình ảnh, ⑥ tải trì hoãn và ⑦ các tùy chọn caching khác.

Với cài đặt page cache, đề xuất mặc định của W3TC là Disk: [Enhanced]. Như bảng cho thấy, Disk: Enhanced nhanh hơn Disk: Basic khoảng 10,3ms, tức hiệu năng tốt hơn khoảng 17,8% xét theo TTFB.

Ở mục cache cơ sở dữ liệu, chọn cache đĩa.





Các cài đặt trong hướng dẫn đã hiển thị trên bảng điều khiển.
Nhấp tab [Settings] ở góc trên bên phải để cài đặt mọi thứ, từ [General Settings] đến page cache và các mục khác.

ⓐ [Cài đặt trên từng trang] ở menu quản trị bên trái và ⓑ tab [Settings] ở góc trên bên phải đều dẫn đến page cache, Minify và các cài đặt nâng cao khác. Khi vào từng trang ở giữa phía trên tab General Settings, bạn có thể xem toàn bộ cài đặt của page cache và Minify, từ cài đặt chung đến Cài đặt nâng cao.
Ⅱ. Cài đặt cache của W3 Total Cache
Đây là tab General Settings trong phần cài đặt W3TC.
_branch_match_id
_bta_c
_bta_tid
_ga
_gl
_ke
adgroupid
adid
age-verified
ao_noptimize
campaignid
campid
click_id
cn-reloaded
customid
dicbo
dm_i
ef_id
epik
fb_action_ids
fb_action_types
fb_source
fbclid
gclid
gclsrc
gdffi
gdfms
gdftrk
hsa_acc
hsa_ad
hsa_cam
hsa_grp
hsa_kw
hsa_mt
hsa_net
hsa_src
hsa_tgt
hsa_ver
igshid
li_fat_id
matomo_campaign
matomo_cid
matomo_content
matomo_group
matomo_keyword
matomo_medium
matomo_placement
matomo_source
mc_cid
mc_eid
mkcid
mkevt
mkrid
mkwid
msclkid
mtm_campaign
mtm_cid
mtm_content
mtm_group
mtm_keyword
mtm_medium
mtm_placement
mtm_source
pcrid
piwik_campaign
piwik_keyword
piwik_kwd
pk_campaign
pk_cid
pk_content
pk_keyword
pk_kwd
pk_medium
pk_source
pp
redirect_log_mongo_id
redirect_mongo_id
ref
s_kwcid
sb_referer_host
si
sscid
tblci
toolid
trk_contact
trk_module
trk_msg
trk_sid
ttclid
twclid
usqp
utm_campaign
utm_content
utm_expid
utm_id
utm_medium
utm_source
utm_term
wbraid
index\.php
wp-links-opml.php
wp-locations.php
([a-z0-9_\-]+)?sitemap\.xsl
[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?
Content-Type
X-Pingback
P3P
Link
- Enable HTTP compression in the “HTML” section on Browser Cache Settings tab.
RSPEAK_
mfunc
- Enable HTTP compression in the “Cascading Style Sheets & JavaScript” section on Browser Cache Settings tab.
- The TTL of page cache files is set via the “Expires header lifetime” field in the “Cascading Style Sheets & JavaScript” section on Browser Cache Settings tab.
wp_rg_
_wp_session_
_wc_session_
^\s*delete\b
^\s*update\b
^\s*replace\b
^\s*create\b
^\s*alter\b
^\s*show\b
^\s*set\b
\bautoload\s+=\s+’yes’
\bsql_calc_found_rows\b
\bfound_rows\(\)
DOING_CRON
DONOTCACHEDB
SHORTINIT
XMLRPC_REQUEST
plugins
[a-z0-9_\-]*sitemap[a-z0-9_\.\-]*\.(xml|xsl|html)(\.gz)?
1️⃣ Chế độ xem trước
Trước khi triển khai thay đổi cache thực tế, bạn có thể bật chế độ xem trước để thử lỗi trước.

[Preview]: nhấp nút này để thử nghiệm trong khi xem trước các thay đổi, nếu không có vấn đề gì thì nhấp [Deploy] để áp dụng lên trang web.
2️⃣ Page cache
Hướng dẫn đã đặt cài đặt cơ bản thành [Disk: Enhanced]. Sau này, nếu máy chủ dùng loại cache khác, chẳng hạn do chuyển máy chủ, bạn có thể đổi lại.
Nếu một trang đơn (không phải multisite) dùng thêm tên miền phụ, bạn cũng có thể cài đặt cache cho tên miền bí danh.
|
Mức cấu hình máy chủ |
Khoảng thời gian cập nhật (giây) |
Số trang mỗi lượt |
Mô tả |
|---|---|---|---|
|
Máy chủ cấu hình thấp (1vCPU/1GB trở xuống) |
1800 giây (30 phút) |
5 |
Cần tránh CPU tăng vọt khi tạo cache. Đặt khoảng thời gian rộng và giảm số trang tối đa |
|
Máy chủ cấu hình trung bình (2vCPU/2~4GB) |
900 giây (15 phút) |
10 |
Nên giữ giá trị mặc định. Có thể xử lý đồng thời ở mức nhất định |
|
Máy chủ hiệu năng cao (4vCPU/8GB trở lên) |
300 giây (5 phút) |
20~30 |
Chuẩn bị cache nhanh. Phù hợp với trang có lưu lượng cao |
REST API là giao diện mà WordPress cung cấp để trao đổi dữ liệu với bên ngoài, cho phép yêu cầu hoặc thao tác nội dung ở định dạng JSON qua URL. Nhờ đó, ứng dụng di động, ứng dụng web bên ngoài, trình soạn thảo khối và nhiều công cụ khác có thể đồng bộ hoặc chỉnh sửa nội dung WordPress theo thời gian thực.
REST API không chỉ phục vụ quản trị viên mà còn cả yêu cầu của người dùng thông thường, giúp trao đổi dữ liệu hiệu quả, nhờ đó trang web linh hoạt và dễ mở rộng hơn.
|
Tùy chọn |
Mô tả |
Đề xuất |
|---|---|---|
|
Khởi tạo muộn |
Cho phép gọi các hàm WordPress để cache phân mảnh. |
⚠️ Chỉ dùng khi cần caching nâng cao |
|
Cache muộn |
Trì hoãn việc tạo khóa cache đến sau bộ lọc người dùng, cho phép cài đặt cache chi tiết hơn |
⚠️ Chỉ dùng khi ghi đè khóa |
|
Chế độ tương thích |
Bỏ một số tối ưu để tương thích với hosting (hiệu năng giảm khoảng 20%) |
✅ Nên dùng khi gặp lỗi hosting |
|
Bộ ký tự |
Khắc phục lỗi mã hóa liên quan đến UTF-8 |
✅ Nên dùng khi xuất hiện ký tự lạ |
|
Từ chối yêu cầu HEAD |
Ngăn yêu cầu HEAD tạo cache rỗng |
✅ Ngăn trang trắng bất ngờ |
|
Thời gian sống tối đa của đối tượng cache |
Thời gian giữ các mục đã cache (giây) |
⏱ Lưu lượng ít thì đặt cao, nhiều thì đặt thấp |
|
Khoảng thời gian thu gom rác |
Chu kỳ xóa dữ liệu cache đã hết hạn (giây) |
⏱ Lưu lượng càng nhiều, đặt càng ngắn |
|
Thời hạn cookie bình luận |
Điều chỉnh TTL của cookie khi viết bình luận (mặc định 1800 giây) |
✅ Hữu ích khi muốn giảm lưu lượng của người dùng đã đăng nhập |
3️⃣ Minify
Trong các tệp HTML, CSS, JS, Minify loại bỏ khoảng trắng, chú thích và dấu xuống dòng không cần thiết, một kỹ thuật giúp giảm kích thước tệp và cải thiện tốc độ tải. Quá trình này không thay đổi chức năng mà chỉ làm mã gọn hơn giúp trình duyệt xử lý nhanh hơn.
|
Tùy chọn |
Mô tả |
Đề xuất |
|---|---|---|
|
Tự động |
W3TC tự động phát hiện và minify các tệp HTML, CSS, JS. |
✅ Phù hợp với hầu hết người dùng |
|
Thủ công |
Chỉ áp dụng khi người dùng tự nhập đường dẫn các tệp cần minify. |
⚠️ Chỉ dành cho người dùng nâng cao cần kiểm soát chính xác |
|
Tùy chọn |
Mô tả |
Môi trường sử dụng |
|---|---|---|
|
Đĩa (Disk) |
Lưu tệp đã minify trên đĩa máy chủ |
✅ Shared hosting thông thường, giá trị mặc định |
|
APC / APCu |
Lưu trong bộ nhớ bằng cache opcode của PHP |
✅ Hiệu năng tốt trên máy chủ riêng/ảo |
|
eAccelerator |
Cách cache opcode PHP cũ |
⚠️ Chỉ áp dụng cho máy chủ cũ |
|
XCache |
Một trong các cơ chế cache của PHP (hầu như không dùng) |
❌ Không khuyến nghị (lỗi thời) |
|
WinCache |
Cache PHP cho máy chủ Windows |
✅ Chỉ dành cho máy chủ IIS/Windows |
|
Memcached |
Lưu trên máy chủ cache phân tán |
✅ Nhiều máy chủ, môi trường cụm |
|
Redis |
Cache tệp đã minify trong kho key-value tốc độ cao |
✅ VPS hiệu năng cao / nhiều máy chủ |
|
Tùy chọn |
Mô tả |
Đặc điểm |
|---|---|---|
|
Minify (mặc định) |
Trình nén HTML tích hợp sẵn của W3TC |
Ổn định cao và tương thích với hầu hết các trang |
|
HTML Tidy |
Vừa sắp xếp cấu trúc HTML vừa minify |
Có tính năng chỉnh cấu trúc → có nguy cơ vỡ bố cục |
| Tùy chọn | Mô tả | Đặc điểm | Chọn trình minify JS |
|---|---|---|---|
| JSMin (mặc định) | Trình nén JS đơn giản, nhanh: loại bỏ khoảng trắng và chú thích cơ bản | Ổn định cao, ít nguy cơ xung đột | ✅ Ưu tiên tốc độ/ổn định, trang WordPress thông thường |
| Google Closure Compiler (dịch vụ web) | Công cụ tối ưu JS nâng cao của Google: nén qua Google API | Chính xác cao nhưng cần gọi máy chủ bên ngoài → có thể chậm | ⚠️ Cho phép dùng API bên ngoài, ưu tiên tối ưu chính xác |
| Google Closure Compiler (Java cục bộ) | Chạy cùng công cụ nén trong môi trường Java trên máy chủ thay cho dịch vụ web | Có thể tối ưu nâng cao, cần cài Java | ✅ Có thể cài Java, khi muốn tối ưu nâng cao |
| Narcissus | Trình nén cổ điển phân tích cú pháp rồi tạo lại JS | Cách làm cũ, gần như đã ngừng hỗ trợ | — |
| YUI Compressor | Công cụ nén JS/CSS do Yahoo phát triển; có thể giữ lại chú thích được bảo toàn | Cũ nhưng vẫn ổn định | — |
| Closure (cần thử nghiệm) | — | — | ⚠️ Dùng nhiều JS hiện đại (ES6+) |
| Tùy chọn | Mô tả |
|---|---|
| ✅ Minify (mặc định) | Nhanh và ổn định, phù hợp với hầu hết trang WordPress |
| ⚠️ CSS Tidy | Có tính năng sắp xếp cấu trúc và sửa cú pháp; kiểu dáng có thể bị vỡ → cần thử nghiệm |
| ⚠️ YUI Compressor (PHP) | Logic nén phiên bản cũ, đã ngừng cập nhật → chỉ cho trang cũ |
| ⚠️ YUI Compressor (Java) | Cần Java; nén tinh vi nhưng không hỗ trợ cú pháp CSS mới |
Hướng dẫn đã đặt cài đặt cơ bản thành [Disk: Enhanced]. Sau này, nếu máy chủ dùng loại cache khác, chẳng hạn do chuyển máy chủ, bạn có thể đổi lại.
|
Hạng mục |
Mô tả |
|---|---|
|
Viết lại cấu trúc URL |
Dùng cấu trúc URL gọn gàng cho liên kết CSS/JS. Nếu tắt, liên kết sẽ được xuất thành URL dựa trên tham số GET như [?ver=xxx]. |
|
Với người dùng đã đăng nhập, |
Người dùng đã đăng nhập sẽ thấy tệp gốc, không phải tệp đã minify. Hữu ích khi gỡ lỗi hoặc đang phát triển. |
|
Giảm thiểu thông báo lỗi |
Thông báo khi có lỗi lúc tạo cache minify (Minify Cache). Nếu tắt, sẽ không hiện cảnh báo. |
|
Hạng mục |
Mô tả |
|---|---|
|
Cài đặt minify HTML |
Nén tài liệu HTML để giảm dung lượng bằng cách loại bỏ khoảng trắng, thụt lề và những thứ tương tự. |
|
Minify CSS nội tuyến |
Nén mã CSS bên trong thẻ [<style>]. |
|
Minify JS nội tuyến |
Nén mã JS bên trong thẻ [<script>]. |
|
Không minify feed |
Feed RSS/Atom (XML) không bị minify mà giữ nguyên bản gốc. |
|
Xóa dấu xuống dòng |
Xóa ký tự xuống dòng trong HTML → giảm kích thước tệp |
|
Ví dụ |
Mục đích |
|---|---|
|
google_ad_ |
Bảo vệ chú thích trong script quảng cáo Google AdSense |
|
RSPEAK_ |
Bảo vệ chú thích mã dành cho trình đọc màn hình/trợ năng |
|
mfunc |
Bảo vệ chú thích [<!– mfunc –>] dùng cho cache phân mảnh của W3TC |
|
Phương thức minify |
Mô tả |
Trường hợp nên dùng |
|---|---|---|
|
Gộp & minify (Combine & Minify) |
Gộp nhiều tệp JS thành một và nén cùng lúc |
✅ Hiệu quả nhất trong trường hợp thông thường |
|
Chỉ gộp (Combine Only) |
Gộp nhiều tệp thành một nhưng không nén |
⚠️ Khi lo ngại xung đột JS: tránh lỗi do nén |
|
Chỉ minify (Minify Only) |
Giữ nguyên số tệp và nén riêng từng tệp |
⚠️ Môi trường HTTP/2 + khi phát sinh lỗi JS |
|
Cài đặt engine minify |
Mô tả |
|---|---|
|
Vị trí chèn: trước [</head>] |
Chèn JS vào trong [<head>] (chạy trước khi trang tải) |
|
Vị trí chèn: sau [<body>] |
Chèn JS ở cuối trang (chạy sau khi kết xuất) |
|
Kiểu chèn (Blocking / Non-blocking) |
Việc chạy JS có tạm dừng quá trình kết xuất trang hay không |
|
Hạng mục |
Mô tả |
Cài đặt đề xuất |
|---|---|---|
|
Bật HTTP/2 Push |
Máy chủ chủ động đẩy tệp JS trước khi trình duyệt yêu cầu |
✅ Có thể cải thiện hiệu năng trong môi trường HTTP/2 |
|
Lưu ý |
Nếu Page Cache của W3TC dùng [Disk: Enhanced] + NGINX, HTTP/2 Push ❌ không hoạt động |
✅ Hoạt động tốt nhất trong môi trường Apache + HTTP/2 |
|
Phương thức minify |
Mô tả |
Trường hợp nên dùng |
|---|---|---|
|
Gộp & minify |
Gộp tệp CSS rồi nén |
✅ Dùng thông thường |
|
Chỉ gộp |
Gộp tệp nhưng không nén |
⚠️ Khi lo ngại xung đột CSS |
|
Chỉ minify |
Chỉ nén, không gộp |
✅ Phù hợp với máy chủ HTTP/2 |
|
Cài đặt engine minify |
Mô tả |
Điều kiện áp dụng |
|---|---|---|
|
Xóa chú thích được bảo toàn(Preserved comment removal) |
Xóa thông tin giấy phép hoặc chú thích được giữ lại trong tệp CSS để giảm dung lượng. |
⚠️ Chỉ áp dụng với [Gộp & minify] hoặc [Chỉ minify] (※ không áp dụng với [Chỉ gộp]) |
|
Xóa dấu xuống dòng(Line break removal) |
Xóa ký tự xuống dòng trong CSS để tạo tệp gọn hơn (kích thước giảm nhẹ) |
⚠️ Chỉ hoạt động với [Gộp & minify] hoặc [Chỉ minify] (※ bị bỏ qua với [Chỉ gộp]) |
|
Xử lý @import |
Mô tả |
Cài đặt đề xuất |
|---|---|---|
|
None |
Giữ nguyên các lệnh gọi CSS [@import] |
❌ Không khuyến nghị (gây chặn kết xuất) |
|
Bubble |
Đưa [@import] lên đầu tệp CSS |
⚠️ Hiệu quả hạn chế |
|
Process |
Đưa các lệnh gọi [@import] vào danh sách gộp |
✅ Khuyến nghị (cải thiện hiệu năng) |
|
Mục nâng cao |
Mô tả |
Cài đặt đề xuất |
|---|---|---|
|
Khoảng thời gian cập nhật tệp bên ngoài(Update interval for external files) |
Khoảng thời gian W3TC tải lại/minify các tệp CSS/JS từ CDN và URL bên ngoài (tính bằng giây) |
✅ Giữ mặc định [86400] giây (24 giờ) ※ nếu có tệp bên ngoài thay đổi thường xuyên, cân nhắc [21600] (6 giờ) |
|
Khoảng thời gian thu gom rác(Garbage collection interval) |
Chu kỳ xóa tệp cache đã hết hạn (áp dụng cho cache đĩa) |
✅ Nên đặt [43200~86400] giây (lưu lượng cao có thể thấp hơn) ※ có thể đặt giới hạn trên (2592000 giây) trong [wp-config.php] |
|
Không minify các trang sau(Never minify the following pages) |
Nhập các URL luôn loại trừ khỏi minify (đường dẫn tương đối, không gồm truy vấn) |
✅ Thêm trang quản trị, trang đăng nhập, URL AJAX… khi cần. Ví dụ: [wp-login.php], [wp-admin/], [my-custom-endpoint/] |
|
Tệp JS không bao giờ minify |
Chỉ định các tệp JS cụ thể gây lỗi khi minify |
⚠️ Thêm khi phát hiện tệp JS có vấn đề. Ví dụ: [plugins/some-script.js] |
|
Tệp CSS không bao giờ minify |
Có thể đặt ngoại lệ khi xảy ra xung đột CSS |
⚠️ Nếu có CSS làm vỡ bố cục, hãy đặt ngoại lệ. Ví dụ: [themes/mytheme/style.css] |
|
User agent bị từ chối |
Không phục vụ tệp đã minify cho một số User-Agent (crawler, bot…) |
✅ Chỉ chỉ định bot cần bỏ qua cache. Ví dụ: [Lighthouse], [GTmetrix], [Chrome-Lighthouse]… |
|
Bao gồm tệp/thư viện bên ngoài(Include external files/libraries) |
Thêm thủ công script CDN bên ngoài vào danh sách gộp |
⚠️ Chỉ dùng khi muốn minify/gộp JS/CDN bên ngoài. Ví dụ: [ajax.googleapis.com/…/jquery.min.js] |
|
Cho phép dùng biểu thức chính quy |
Có thể khớp bằng regex khi mẫu tên tệp không cố định |
✅ Hữu ích khi script bên ngoài thường đổi số phiên bản. Ví dụ: [cdn.example.com/js/lib-\d+\.js] |
# EX:
#Tệp JS không bao giờ minify:
plugins/some-plugin/assets/js/legacy-script.js
wp-includes/js/jquery/jquery.js
#CSS không bao giờ minify:
themes/mytheme/style.css# EX:
#User agent bị từ chối:
Lighthouse
Chrome-Lighthouse
GTmetrix|
Hạng mục |
Mô tả |
Cài đặt đề xuất |
|---|---|---|
|
Dùng sự kiện WP-Cron(Enable WP-Cron event) |
Để tự động xóa/làm mới page cache định kỳ, lên lịch tác vụ WP-Cron |
✅ Nên bật (giữ mặc định) |
|
Thời gian bắt đầu(Start time) |
Thời điểm WP-Cron chạy lần đầu (ví dụ 12:00 am) |
✅ Thời điểm máy chủ ít tải (ví dụ từ 0 giờ đến 3 giờ sáng) |
|
Khoảng thời gian(Interval) |
WP-Cron: bao lâu xóa cache một lần — Cài đặt |
✅ Hai lần mỗi ngày hoặc mỗi giờ (trang có lưu lượng cao) |
|
Phương án thay thế: cron hệ thống |
Thay vì WP-Cron, có thể chạy lệnh [wp w3tc flush_posts] bằng cron thực sự ở cấp hệ điều hành |
Khuyến nghị cho máy chủ hiệu năng cao (chính xác và hiệu quả hơn WP-Cron) |
4️⃣ Cache opcode
Với cache opcode, opcode đã cài trên máy chủ được áp dụng tự động. Nếu chưa cài, mục này được đặt thành tắt.
5️⃣ Cache cơ sở dữ liệu và cache đối tượng: Memcached·Redis
|
Tùy chọn |
Mô tả |
Môi trường đề xuất |
|---|---|---|
|
Ổ đĩa |
Lưu dữ liệu cache trên đĩa máy chủ |
✅ Shared hosting / môi trường cơ bản |
|
Memcached |
Cache phân tán qua mạng, tốc độ nhanh |
✅ Nhiều máy chủ / cụm |
Các trang WordPress thông thường hay chỉ dùng một trong hai Memcached hoặc Redis cho cache cơ sở dữ liệu, nhưng trong W3 Total Cache có thể tách riêng: ⓐ một cái cho cache cơ sở dữ liệu, ⓑ cái còn lại cho cache đối tượng.
📌 Thông thường: WordPress Website
├─ Cơ sở dữ liệu Cache
│ └─ Memcached hoặc Redis · chỉ một cái được sử dụng
└─ Object Cache
└─ Cùng một Cache engine được dùng chung là trường hợp phổ biến
📌 W3 Total Cache (W3TC)
├─ Cơ sở dữ liệu Cache
│ └─ Memcached được sử dụng (ví dụ)
└─ Object Cache
└─ Redis được sử dụng (ví dụ)
🛠️ Ứng dụng chiến lược
└─ Cache engine theo vai trò: Tách biệt Áp dụng Có thể
├─ Server tài nguyên phân tán
├─ Cache nghẽn cổ chai giảm
└─ Hiệu suất Tối ưu hóa linh hoạt hơnTrong cài đặt của W3 Total Cache, mặc định cache cơ sở dữ liệu dùng Memcached và cache đối tượng dùng Redis.
|
Hạng mục |
Mô tả |
Khuyến nghị hoặc ghi chú |
|---|---|---|
|
Thời gian sống tối đa của đối tượng cache |
Thời gian hết hạn tự nhiên của các mục cache không thay đổi (giây) |
[180 giây] (mặc định); quá lớn sẽ lãng phí bộ nhớ |
|
Khoảng thời gian thu gom rác |
Chu kỳ xóa dữ liệu cache đã hết hạn (giây) |
[3600 giây] (1 giờ); giảm xuống nếu dùng nhiều |
|
Không cache |
Đường dẫn loại khỏi caching (dùng được regex) |
Nên loại trừ các trang động như đăng nhập, giỏ hàng, tìm kiếm |
|
Query stem bị bỏ qua |
Không cache các truy vấn có tiền tố khớp |
Dữ liệu phiên/tạm thời như [gdsr_], [wp_rg_] |
|
Từ chối truy vấn (Query Rejects) |
Loại trừ truy vấn chứa từ khóa/mẫu nhất định (biểu thức chính quy) |
[insert], [update], [autoload], [found_rows()]… |
|
Reject Constants |
Tắt cache DB khi các hằng số WP đã chỉ định được định nghĩa |
[DOING_CRON], [XMLRPC_REQUEST]… |
|
Bật cho WP-CLI |
Có dùng cache cả khi WP-CLI chạy hay không |
✅ Bật lên có lợi về hiệu năng (cẩn thận với môi trường thử nghiệm) |
|
Tùy chọn |
Mô tả |
Môi trường đề xuất |
|---|---|---|
|
Ổ đĩa |
Lưu dữ liệu cache trên đĩa máy chủ |
✅ Shared hosting / môi trường cơ bản |
|
Redis |
Cache tốc độ cao dựa trên kho key-value, hoạt động tốt với PHP-FPM |
✅ Máy chủ hiệu năng cao / VPS |

|
Hạng mục |
Mô tả |
|---|---|
|
Host/IP Redis |
Định dạng [127.0.0.1:6379]. Với TLS, dùng tiền tố [tls://] |
|
Xác minh chứng chỉ TLS |
Kiểm tra tính hợp lệ của chứng chỉ khi dùng TLS (tùy chọn) |
|
Dùng kết nối liên tục |
Tái sử dụng kết nối Redis để cải thiện hiệu năng |
|
Hết thời gian kết nối |
Thời gian tối đa cho phép khi kết nối Redis (giây) |
|
Khoảng thời gian thử kết nối lại |
Thời gian chờ trước khi thử lại sau khi thất bại (ms) |
|
Hết thời gian đọc kết nối |
Thời gian tối đa chờ phản hồi (giây) |
|
Redis DB ID |
Chỉ định số DB trong Redis (mặc định [0]) |
|
Mật khẩu Redis |
Mật khẩu hoặc thông tin xác thực SASL |
|
Thời gian sống cache mặc định |
Thời gian giữ mặc định của mục cache (giây). Mặc định 180 giây |
|
Khoảng thời gian thu gom rác |
Chu kỳ xóa cache hết hạn. Mặc định 600 giây |
|
Nhóm toàn cục |
Các nhóm được chia sẻ ở chế độ mạng (cho multisite) |
|
Nhóm không lưu lâu dài |
Các nhóm loại khỏi caching. Ví dụ: [counts], [plugins] |
|
Cache yêu cầu wp-admin |
Áp dụng cache cả cho khu vực quản trị (⚠️ cần thử nghiệm) |
|
Lưu transient vào DB |
Vẫn giữ giá trị tạm trong DB ngay cả khi đang dùng cache bên ngoài |
|
Bật WP-CLI |
Cho phép bật cache cả với lệnh WP-CLI |
6️⃣ Cache trình duyệt
Cache trình duyệt lưu các tệp tĩnh như hình ảnh, CSS, JS trên thiết bị của khách truy cập đó, giúp giảm đáng kể thời gian tải khi truy cập lại. Nhờ đó, tốc độ phản hồi trang và trải nghiệm người dùng được cải thiện.
Phần lớn các cài đặt này tập trung vào kiểm soát cache và giảm tải máy chủ. Với trang có lưu lượng cao hoặc cần tối ưu tài nguyên tĩnh, bật nhiều mục cũng không sao.
| Hạng mục | Tổng quan | CSS và JS | HTML và XML | Phương tiện và tệp khác |
|---|---|---|---|---|
| Đặt header [Last-Modified] | Đưa ngày sửa đổi cuối của tệp vào để cho phép phản hồi 304 | ✅ Thường nên bật | ✅ Phù hợp với hầu hết máy chủ | ✅ Có hiệu lực với hầu hết cache CDN/trình duyệt |
| Đặt header [Expires] | Khiến trình duyệt cache tệp trong một khoảng thời gian | ✅ Mặc định 31536000 giây (1 năm), khuyến nghị | ✅ Mặc định [3600 giây (1 giờ)] | ✅ Mặc định [31536000 giây] (1 năm) → phù hợp với tệp tĩnh |
| ⏱️ Đặt thời gian hết hạn Expires | — | ⏱️ Ví dụ: [31536000 giây = 1 năm] · có thể rút ngắn khi dùng cùng CDN | — | — |
| Đặt header [Cache-Control] | Kiểm soát chiến lược caching bằng cách thêm header pragma, cache-control | ✅ Khuyến nghị [“public, max-age=31536000”] | ✅ Đặt chẳng hạn thành [“public, max-age=3600”] | ✅ Khuyến nghị [“public, max-age=31536000”] |
| ✅ Chính sách kiểm soát cache | — | ✅ Dùng cách có [max-age] · [“public, max-age=EXPIRES_SECONDS”] được dùng làm mặc định | — | — |
| Đặt [ETag] | Cung cấp entity tag để nhận diện tệp – dùng phát hiện thay đổi | ✅ Hiệu quả khi dùng trong cùng một máy chủ | ✅ Nếu không chia sẻ cache giữa các máy chủ, nên dùng | ✅ Hữu ích khi vận hành một máy chủ duy nhất |
| Đặt header W3TC | Chèn header để nhận biết tệp có được W3TC tối ưu hay không | 🔖 Không bắt buộc, dùng để phân tích | 🔖 Không bắt buộc (để gỡ lỗi) | 🔖 Tùy chọn |
| Nén gzip | Phương thức nén để giảm dung lượng tệp văn bản (tương thích rộng) | ✅ Hầu hết máy chủ hỗ trợ | ✅ Được hầu hết máy chủ hỗ trợ | ✅ Không ảnh hưởng đến hình ảnh |
| Nén brotli | Tỷ lệ nén cao hơn gzip (chỉ trình duyệt hỗ trợ) | ✅ Cần cấu hình Apache/Nginx | ✅ Bật mô-đun Apache/nginx | ✅ Chỉ áp dụng cho trình duyệt hỗ trợ |
| Ngăn cache đối tượng khi thay đổi cài đặt | Thêm chuỗi truy vấn để vô hiệu hóa cache cũ | ✅ Khuyến nghị khi thường xuyên thay đổi cài đặt | — | ✅ Thay đổi tệp được áp dụng ngay |
| Xóa chuỗi truy vấn | Xóa [?] khỏi tài nguyên tĩnh để tăng tỷ lệ cache | ⚠️ Chỉ cần với một số CDN/proxy | — | ✅ Có thể áp dụng cho tệp có quản lý phiên bản |
| Xóa cookie | Xóa header [Set-Cookie] khỏi phản hồi của tài nguyên tĩnh | ✅ Đánh dấu trong hầu hết trường hợp | — | ✅ Hình ảnh và tương tự không cần cookie |
| WordPress không xử lý phản hồi 404 | 404 của tệp tĩnh do máy chủ web xử lý → giảm tải cho WP | — | — | — |
| Danh sách URI ngoại lệ 404 | Chỉ định các mẫu URI để WP tự xử lý (ví dụ: sitemap, robots.txt…) | — | — | — |
| Viết lại cấu trúc URL đối tượng | Tạo URI duy nhất để bỏ qua cache (dạng [ver=xxxx]…) | — | — | — |
Ⅲ. Tính năng bổ sung của W3 Total Cache
Việc xóa cache bằng WP Cron là cài đặt toàn cục.
{wp_content_dir}/gallery/*
{wp_content_dir}/uploads/avatars/*
{plugins_dir}/wordpress-seo/css/xml-sitemap.xsl
{plugins_dir}/wp-minify/min*
{plugins_dir}/*.js
{plugins_dir}/*.css
{plugins_dir}/*.gif
{plugins_dir}/*.jpg
{plugins_dir}/*.png
{uploads_dir}/imagerotator.swf
{plugins_dir}/wp-fb-autoconnect/facebook-platform/channel.html
- You can use placeholders {wp_content_dir}, {plugins_dir}, {uploads_dir} instead of writing folder paths (wp-content, wp-content/plugins, wp-content/uploads).
- If using Amazon Web Services or Self-Hosted CDN types, enable HTTP compression in the “Media & Other Files” section on Browser Cache Settings tab.
data-bgposition=
data-envira-src=
data-large_image=
data-lazy-original=
data-lazy-src=
data-lazyload=
data-lazysrc=
data-no-lazy=
data-src=
data-srcset=
fullurl=
lazy-slider-img=
loading=”eager”
no-lazy
rev-slidebg
skip-lazy
soliloquy-image
swatch-img
w3-total-cache
woocommerce/assets/images/placeholder.png
wpcf7_captcha
1️⃣ CDN
Có thể cài đặt tính năng này sau khi đăng ký nhà cung cấp CDN.
|
Tùy chọn |
Mô tả |
|---|---|
|
✅ Lưu trữ tệp đính kèm |
Tải các tệp đính kèm như hình ảnh trong [wp-content/uploads] lên CDN |
|
✅ Lưu trữ tệp wp-includes |
Đưa các tệp tĩnh của lõi WordPress (js/css…) lên CDN |
|
✅ Lưu trữ tệp giao diện |
Đưa các tệp tĩnh của giao diện đang dùng (css/js/images…) lên CDN |
|
✅ Lưu trữ tệp CSS/JS đã minify |
Phục vụ các tệp CSS/JS do W3TC minify từ CDN |
|
✅ Lưu trữ tệp tùy chỉnh |
Đẩy đường dẫn hoặc tên tệp do người dùng tự chỉ định lên CDN |
|
⚠️ Buộc ghi đè tệp hiện có |
Dùng để buộc tải lại khi thay đổi không được phát hiện tự động |
|
Hạng mục |
Mô tả |
|---|---|
|
Chỉ xóa CDN thủ công |
Chỉ xóa tệp khỏi CDN khi nhấp nút xóa thủ công |
|
Tắt CDN trên trang SSL |
Không dùng URL CDN trên trang HTTPS |
|
Dùng liên kết CDN trong trang quản trị |
Hiển thị URL CDN cho media cả trong màn hình quản trị |
|
Add CORS header |
Thêm header phản hồi để cho phép CORS |
|
Tắt CDN theo vai trò |
Không áp dụng CDN cho các vai trò người dùng đã chọn (ví dụ: chỉ quản trị viên dùng bản gốc) |
|
Danh sách trang loại trừ |
Loại các đường dẫn đã chỉ định khỏi CDN (dùng được regex) |
|
Tự động tải lên tệp đã minify |
Tự động tải tệp đã minify lên CDN (kiểu Push) |
|
Tự động xuất tệp đã thay đổi |
Tự động tải lên khi phát hiện tệp thay đổi |
|
Khoảng thời gian tự động tải lên |
Khoảng thời gian tải lên sau khi phát hiện thay đổi (mặc định 3600 giây) |
|
Khoảng thời gian / giới hạn gửi lại |
Khoảng thời gian thử lại khi thất bại và giới hạn số tệp xử lý |
|
Tệp wp-includes cần tải lên |
Chỉ định định dạng tệp lõi đưa lên CDN |
|
Định dạng tệp giao diện cần tải lên |
Chỉ định định dạng tệp liên quan đến giao diện như CSS/JS/phông chữ |
|
Định dạng tệp cần nhập |
Chỉ định điều kiện tự động tải về các tệp được liên kết từ bên ngoài |
|
Danh sách tệp tùy chỉnh |
Chỉ định đường dẫn từng tệp gửi lên CDN (template, plugin bên ngoài…) |
|
User agent bị từ chối |
Chỉ định bot/user agent bị chặn truy cập tệp CDN |
|
Đường dẫn tệp bị từ chối |
Chỉ định đường dẫn tệp không dùng CDN như CAPTCHA, đường dẫn đặc biệt… |
|
Đặt tên miền cookie |
Chỉ định tên miền để tránh gửi cookie khi dùng CDN tên miền phụ |
2️⃣ Reverse proxy
Phần mô tả lấy Varnish và Nginx làm ví dụ, nhưng vì Nginx được cấu hình trên máy chủ nên chỉ áp dụng trong plugin W3 Total Cache khi dùng Varnish.
3️⃣ Trải nghiệm người dùng: tải trì hoãn
Hơn 50% tính năng trong cài đặt nâng cao chỉ có ở bản premium.
|
Hạng mục |
Mô tả |
Khi nào nên dùng |
|---|---|---|
|
✅ Xử lý thẻ hình ảnh HTML |
[<img>]: thẻ được gắn thuộc tính lazy |
Khi tải trì hoãn hình ảnh nội dung thông thường |
|
✅ Xử lý ảnh nền |
Áp dụng lazy cho [background-image] trong CSS |
Khi là trang thiết kế có nhiều ảnh nền |
| Loại trừ từ | Ví dụ |
|---|---|
| Thuộc tính loại trừ lazy | [data-src], [data-lazy-src], [data-no-lazy], [loading=”eager”]… |
| Class loại trừ lazy | [no-lazy], [skip-lazy], [lazy-slider-img], [rev-slidebg]… |
| Liên quan đến plugin/slider | [soliloquy-image], [envira], [w3-total-cache], [wpcf7_captcha]… |
| Liên quan đến WooCommerce | [swatch-img], [woocommerce/…/placeholder.png]… |
“Ngưỡng” của tải trì hoãn là giá trị quy định hình ảnh hoặc phần tử nền nằm dưới khung nhìn (màn hình) của trình duyệt sẽ được tải trước từ khoảng cách bao xa. Ví dụ, nếu đặt 100px, phần tử sẽ được tải khi người dùng cuộn đến trong phạm vi 100 pixel; nếu đặt quá ngắn, hình ảnh tải chậm và người dùng có thể thấy như màn hình trống, nên thường 100~300px là phù hợp.
Sau đây là các cách nhúng script.
|
Cách nhúng |
Mô tả |
Vị trí hoặc thuộc tính |
|---|---|---|
|
Bất đồng bộ (Async) |
Chạy song song với quá trình tải trang và không chặn kết xuất |
[<script async>] |
|
Đồng bộ (trong head) |
Chạy trước trong vùng [<head>] và có thể tạm thời chặn kết xuất (in the head) |
[<head>] hoặc [<script>] |
|
Nội tuyến (Inline) |
Chèn script trực tiếp vào tài liệu HTML để chạy mà không cần yêu cầu riêng |
Chèn bên trong [<script>mã</script>] |


4️⃣ Trình chuyển đổi WebP


Ⅳ. Đánh giá tổng quan W3 Total Cache
Giao diện (UI) của W3 Total Cache không tệ nhưng rõ ràng là bất tiện. Nhiều nhà phát triển và người dùng chuyên nghiệp cũng chỉ ra điều này. So với các plugin mới như WP Rocket hay FlyingPress, hiệu năng trang hoàn toàn theo kịp, nhưng về trải nghiệm người dùng (UX) thì vẫn còn thiếu sót.
Nhiều tính năng là ưu điểm, nhưng với người mới, cấu trúc có thể quá phức tạp. Đặc biệt, do phải chuyển qua lại giữa các menu và có nhiều tùy chọn chi tiết, ngay cả nhà phát triển và quản trị viên trang có kinh nghiệm cũng có thể cài đặt sai. Dĩ nhiên không thể nhớ hết mọi cài đặt, nhưng khi sử dụng, đây là plugin caching nâng cao cho phép tinh chỉnh chi tiết.
Với hơn 1 triệu lượt cài đặt bản miễn phí, khó có thể coi nó chỉ là một plugin cũ — trên thực tế, hầu như không có plugin cache nào theo kịp sự đa dạng và phong phú về tính năng của nó.
| Hạng mục | Điểm (⭐) | Nội dung đánh giá |
|---|---|---|
| 🎛️ Giao diện | ⭐⭐⭐ | Nhiều menu, cấu trúc phức tạp. Rào cản với người dùng mới. UI có cảm giác cũ |
| ⚙️ Đa dạng tính năng | ⭐⭐⭐⭐⭐ | Cache, CDN, Redis và gần như mọi tính năng. Khó tìm ra tính năng còn thiếu |
| 🛠️ Linh hoạt trong cài đặt chi tiết | ⭐⭐⭐⭐ | Gần như mọi tính năng đều tinh chỉnh được. Cần chú ý xung đột giữa các cài đặt |
| 🚀 Hiệu quả cải thiện hiệu năng | ⭐⭐⭐⭐⭐ | Hiệu năng rất tốt khi cài đặt tối ưu. Cache đối tượng/cache trình duyệt hiệu quả lớn |
| 🧩 Khả năng tương thích | ⭐⭐⭐ | Có thể xung đột với một số hosting, giao diện và plugin. |
| 📄 Tài liệu·hướng dẫn | ⭐⭐⭐⭐⭐ | Tài liệu chính thức phong phú |
| 💡 Mức độ khuyên dùng | ⭐⭐⭐⭐(4.5) | Khuyên dùng cho người dùng nâng cao. Người mới nên dùng WP Rocket, Cache Enabler… |
| 📊 Điểm tổng hợp | ⭐⭐⭐⭐(4.5) | Plugin hiệu năng cao thiên về tính năng. Cần thời gian làm quen. Nên cân nhắc trình độ người dùng |
Ⅴ. Kiểm tra hiệu năng
Sau khi cài đặt plugin, bài kiểm tra tốc độ cuối cùng cho thấy tốc độ cải thiện rõ rệt hơn so với các plugin cache thông thường.
ℹ️ Thông báo tiếp thị liên kết
Nội dung trên trang này có chứa liên kết affiliate (tiếp thị liên kết). Khi khách truy cập mua sản phẩm hoặc dịch vụ qua các liên kết này, trang sẽ nhận hoa hồng từ bên bán. Trong quá trình đó, số tiền người mua phải trả (sẽ giảm khi có chương trình khuyến mãi ↓) không hề tăng lên. Giá, khuyến mãi và tình trạng hàng được đăng theo thời điểm viết bài và có thể khác với thực tế, vì vậy hãy kiểm tra lại lần cuối với bên bán trước khi mua. Việc chọn và đánh giá sản phẩm dựa trên tiêu chí riêng của trang; việc có nhận hoa hồng hay không không ảnh hưởng đến thứ tự giới thiệu hay nội dung đánh giá.