Page Caching
Lưu bản HTML tĩnh của trang để phục vụ trực tiếp mà không cần chạy PHP và truy vấn CSDL mỗi lần truy cập.
Page Caching là gì?
Page Caching (lưu cache trang) là kỹ thuật lưu sẵn bản HTML tĩnh của một trang web sau lần tải đầu tiên, để khi người dùng hoặc bộ máy tìm kiếm truy cập lại, hệ thống trả về file HTML đã có — thay vì chạy lại toàn bộ PHP, kết nối cơ sở dữ liệu và tạo nội dung động mỗi lần. Với WordPress, điều này có nghĩa là tránh việc khởi chạy trình xử lý PHP, gọi hàm từ theme/plugin, và thực hiện hàng chục truy vấn MySQL chỉ để hiển thị một bài viết.
Tại sao quan trọng trong SEO?
Tốc độ tải trang là yếu tố xếp hạng trực tiếp trên Google từ năm 2010 (cho desktop) và 2018 (cho mobile). Page Caching giúp giảm thời gian phản hồi (TTFB – Time To First Byte) xuống còn dưới 200ms trong nhiều trường hợp — đạt ngưỡng Google coi là "rất nhanh". Ngoài ra, nó làm giảm tải máy chủ, tăng khả năng chịu đựng lưu lượng đột biến (ví dụ khi bài viết lên trang chủ Google), và cải thiện tỷ lệ thoát (bounce rate) — yếu tố gián tiếp ảnh hưởng đến thứ hạng.
Theo báo cáo của HTTP Archive (tháng 6/2024), 73% website WordPress không bật page caching ở cấp máy chủ hoặc plugin — dẫn đến TTFB trung bình cao hơn 41% so với đối thủ cùng phân khúc.
Cách hoạt động
Khi bật page caching, quy trình xử lý yêu cầu thay đổi như sau:
- Người dùng truy cập
/bai-viet-mau/ - Máy chủ kiểm tra xem đã có file HTML tĩnh tương ứng trong thư mục cache chưa
- Nếu có và chưa hết hạn (theo thời gian thiết lập), trả thẳng file đó — bỏ qua WordPress hoàn toàn
- Nếu không có hoặc đã hết hạn, chạy đầy đủ quy trình WordPress → sinh ra HTML mới → lưu vào bộ nhớ đệm → trả kết quả
Lưu ý: Cache chỉ áp dụng cho trang công khai (public). Trang dành riêng cho người đăng nhập (như wp-admin, trang cá nhân) hoặc trang có nội dung thay đổi theo từng người (ví dụ giỏ hàng) thường bị loại trừ tự động.
Hướng dẫn thực hiện
Có 3 cấp độ triển khai page caching hiệu quả trên WordPress — nên ưu tiên từ cao xuống thấp:
- Cấp máy chủ (tốt nhất): Dùng Varnish, Nginx FastCGI Cache hoặc LiteSpeed Cache nếu hosting hỗ trợ. Không cần cài plugin, tốc độ nhanh nhất, tiêu tốn ít tài nguyên nhất.
- Cấp plugin (phổ biến nhất): Các plugin như WP Super Cache, W3 Total Cache, WP Rocket (trả phí), LiteSpeed Cache (miễn phí nếu dùng máy chủ LiteSpeed). Lưu cache dưới dạng file HTML trong thư mục
/wp-content/cache/. - Cấp CDN (bổ trợ): Cloudflare, BunnyCDN hoặc StackPath có thể lưu cache trang ở cạnh (edge), nhưng chỉ hiệu quả nếu cấu hình đúng — ví dụ bật 'Cache Everything' và thiết lập Page Rule phù hợp.
Các bước bật WP Super Cache (miễn phí, dễ dùng nhất):
- Vào Dashboard → Cài đặt → WP Super Cache
- Chọn tab Easy → nhấn Enable Caching
- Chuyển sang tab Advanced → tích chọn Cache pages for anonymous users
- Ở mục Cache timeout, để mặc định 3600 giây (1 giờ) — đủ cân bằng giữa tính mới và hiệu năng
- Đi tới Presto (nếu có) hoặc CDN → tắt nếu chưa dùng CDN thật sự
- Nhấn Update Status rồi kiểm tra bằng cách tải lại trang ở chế độ ẩn danh — xem tiêu đề
X-Cache: HITtrong phần Response Headers (qua DevTools → Network → chọn trang → Headers)
Lỗi thường gặp
- Trang hiển thị lỗi trắng hoặc thiếu CSS/JS: Do plugin cache xung đột với plugin tối ưu hóa (ví dụ Autoptimize) hoặc theme dùng kỹ thuật lazy-load đặc biệt. Cách khắc phục: Tắt tính năng 'Minify' trong plugin cache, hoặc thêm URL vào danh sách loại trừ (Rejected User Agents / Don’t cache URLs).
- Thay đổi nội dung không hiện ngay: Người viết đăng bài mới nhưng trang chủ vẫn hiển thị cũ. Cách khắc phục: Thiết lập 'Clear all cache on post update' (có trong WP Super Cache và WP Rocket), hoặc dùng hook
wp_insert_postđể xóa cache tự động. - Cache bị tạo cho người đăng nhập: Gây lộ thông tin cá nhân hoặc menu quản trị. Cách khắc phục: Kiểm tra tùy chọn Don’t cache pages for known users — phải được bật. Nếu dùng plugin membership, thêm cookie tên
wordpress_logged_in_*vào danh sách loại trừ.
Ví dụ thực tế
Một blog giáo dục Việt Nam (50.000 bài, 8.000 lượt truy cập/ngày) chuyển từ không cache sang dùng Nginx FastCGI Cache + WP Super Cache dự phòng. Kết quả sau 7 ngày:
| Chỉ số | Trước cache | Sau cache | Thay đổi |
|---|---|---|---|
| TTFB trung bình | 1.240 ms | 186 ms | ↓ 85% |
| Tỷ lệ thoát (mobile) | 68% | 49% | ↓ 19 điểm % |
| Lượt index Google/tháng | 22.400 | 34.100 | ↑ 52% |
| Thời gian xử lý máy chủ | 1.1 GB RAM sử dụng liên tục | 320 MB RAM | ↓ 71% |
Lưu ý: Kết quả có thể thay đổi tùy cấu hình máy chủ, số lượng plugin và mức độ tối ưu theme.
Câu hỏi thường gặp
Page caching có làm chậm quá trình cập nhật nội dung?
Không — nếu cấu hình đúng. Các plugin cache hiện đại đều hỗ trợ xóa cache tự động khi đăng bài, chỉnh sửa trang hoặc cập nhật cài đặt. Thời gian chờ trước khi cache mới được tạo lại (cache lifetime) thường mặc định từ 1–24 giờ — đủ để đảm bảo nội dung luôn gần nhất mà không gây áp lực lên máy chủ.
Có nên dùng nhiều plugin cache cùng lúc?
Không. Việc cài đồng thời WP Super Cache, W3 Total Cache và LiteSpeed Cache sẽ gây xung đột, làm website lỗi hoặc không tải được. Chỉ dùng một giải pháp duy nhất ở cấp cao nhất có sẵn (máy chủ > plugin > CDN).
Page caching có ảnh hưởng đến Google Analytics hay Facebook Pixel?
Không. Vì cache chỉ lưu HTML tĩnh — các thẻ script như GA4, GTM hay Pixel vẫn được giữ nguyên trong mã nguồn và chạy bình thường ở phía trình duyệt. Dữ liệu thống kê vẫn được gửi đầy đủ, miễn là script không bị chặn bởi adblock hoặc lỗi trong phần head.