Hướng Dẫn Cấu Hình Nginx Cache Cho WooCommerce Trên Webinoly (Chuẩn SEO, Không Lỗi Giỏ Hàng)

14 Tháng 4, 2025

Nếu bạn đang sử dụng Webinoly để chạy website WordPress + WooCommerce, chắc chắn bạn sẽ muốn tối ưu tốc độ tải trang bằng cách bật Nginx FastCGI Cache. Tuy nhiên, nếu không cấu hình đúng, bạn có thể gặp các lỗi nghiêm trọng như:

  • ❌ Giỏ hàng bị trống sau khi thêm sản phẩm
  • ❌ Số lượng tồn kho không cập nhật đúng
  • ❌ Đơn hàng không được ghi nhận

Bài viết này sẽ hướng dẫn bạn cách bật cache đúng cách và bỏ qua các trang động của WooCommerce, đồng thời sử dụng Redis Object Cache để tăng tốc cơ sở dữ liệu.


🧰 Các thành phần cần thiết

  • Webinoly
  • ✅ WooCommerce
  • ✅ Plugin Nginx Helper
  • ✅ Plugin Redis Object Cache

✅ Bước 1: Bật cache bằng lệnh Webinoly

Chạy lệnh:

sudo site yourdomain.com -cache=on

Lệnh này sẽ:

  • Bật FastCGI Cache
  • Cài đặt plugin Nginx Helper
  • Cài đặt plugin Redis Object Cache

✅ Bước 2: Cấu hình plugin Nginx Helper đúng chuẩn

Truy cập WordPress Admin > Settings > Nginx Helper

🔹 Cấu hình nên chọn:

  • Enable Purge: Tự động xóa cache khi có thay đổi nội dung.
  • 🔁 Preload Cache:
    • BẬT nếu bạn không bán hàng flash sale hoặc tồn kho ít thay đổi. Preload sẽ giúp load nhanh toàn site.
    • TẮT nếu bạn bán hàng có tồn kho biến động liên tục, cần đảm bảo dữ liệu luôn chính xác.
  • Caching Method: nginx Fastcgi cache (Webinoly hỗ trợ mặc định).
  • Purge Method: Delete local server cache files (chính xác cho Webinoly, không cần ngx_cache_purge).

🔹 Purging Conditions:

  • ✅ Bật tất cả các mục liên quan đến bài viết, trang, lưu trữ, feed, AMP…
  • ❌ Không cần bật các mục liên quan đến comment nếu bạn không dùng comment trên site.

✅ Bước 3: Thêm cấu hình map $request_uri $skip_cache để bỏ cache trang động WooCommerce

WooCommerce có các trang không nên cache như:

  • /cart/
  • /checkout/
  • /my-account/
  • ?add-to-cart=...

👉 Để bỏ qua cache cho các trang này, tạo file

sudo nano /etc/nginx/conf.d/00-custom-skip-cache-map.conf

Nội dung

map $request_uri $skip_cache {
    default 0;
    ~*/cart* 1;
    ~*/checkout* 1;
    ~*/my-account* 1;
    ~*/add-to-cart=* 1;
    ~*/wc-api* 1;
    ~*/wp-admin* 1;
    ~*/preview=true* 1;
    ~*/?wc-ajax=* 1;
}

Webinoly tự động include thư mục /etc/nginx/conf.d/*.conf vào nginx.conf, nên không cần chỉnh thêm.


✅ Bước 4: Kiểm tra cấu hình wpfc.conf

File này được Webinoly tạo tại

/etc/nginx/common/wpfc.conf

Webinoly đã tự động thêm

fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache WORDPRESS;

Và các điều kiện cookie, query string để tự động set $skip_cache 1 nếu người dùng đã đăng nhập hoặc có sản phẩm trong giỏ.

👉 Bạn không cần chỉnh thêm gì trong file này.


✅ Bước 5: Reload Nginx để áp dụng

sudo nginx -t && sudo systemctl reload nginx

⚡ Bonus: Redis Object Cache

Redis Object Cache plugin đi kèm giúp tăng tốc độ truy vấn cơ sở dữ liệu. Bạn không cần chọn Redis cache trong Nginx Helper (vì đó là page cache), cứ giữ nguyên chọn nginx Fastcgi cache.


✅ Tổng kết cấu hình chuẩn cho Webinoly + WooCommerce

Thành phầnCấu hình đúng
Plugin Nginx HelperEnable Purge ✅ — Preload Cache 🔁
Caching Methodnginx FastCGI cache ✅
Purge MethodDelete local server cache files ✅
WooCommerce skip cacheCấu hình $skip_cache với map
Redis Object CacheĐược kích hoạt cho cơ sở dữ liệu ✅

📌 Lời kết

Với các bước trên, bạn sẽ:

  • ✅ Tối ưu tốc độ website với FastCGI Cache
  • ✅ Đảm bảo WooCommerce hoạt động ổn định, không lỗi giỏ hàng
  • ✅ Tăng hiệu suất xử lý với Redis Object Cache

Đây là cấu hình lý tưởng cho các website WordPress bán hàng chạy trên VPS riêng hoặc cloud server với Webinoly.

Blog ..

Hướng dẫn dịch vụ ..

Sản phẩm nổi bật

dịch vụ chất lượng khách hàng tin tưởng

NVMe VPS

Tốc độ cao và bảo mật

Xem thêm

SSD VPS

Hiệu năng và tối ưu chi phí

Xem thêm

Proxy

Ẩn danh và mượt mà

Xem thêm

NVMe Hosting

Ổn định và tiện dụng

Xem thêm