Các câu hỏi thường gặp về plugin Cache Enabler

Plugin Cache Enabler dành cho WordPress là plugin cache nhẹ nhàng (lightweight) có khả năng tạo các file HTML tĩnh và lưu trữ chúng trên web server của bạn.

Điều này có nghĩa là file HTML tĩnh (static) sẽ được phân phối bất cứ khi nào có thể để cung cấp cho người dùng dữ liệu phản hồi, ngược lại, nếu không sử dụng cache, quá trình xử lý tài nguyên chuyên sâu sẽ liên quan đến việc sử dụng WP core, các plugin, và cơ sở dữ liệu.

Cache Enabler là plugin đơn giản nhưng đầy sức mạnh, nó dễ dùng, chỉ cần các tùy chỉnh tối thiểu và dĩ nhiên, điểm quan trọng nhất: plugin giúp cải thiện thời gian tải trang của bạn.

Cài đặt

Việc cài đặt plugin Cache Enabler rất dễ dàng và có thể hoàn thành thông qua chỉ vài bước.

  1. Điều hướng đến trang plugin trong WordPress và lựa chọn Add New.
  2. Nhập vào ô tìm kiếm “Cache Enabler” và chọn Install Now > Activate Plugin.
  3. Plugin giờ đã được cài và kích hoạt trên WordPress, và bạn có thể đi đến phần cài đặt của plugin bằng cách theo đường dẫn Settings > Cache Enabler.
Cài đặt plugin Cache Enabler

Các tính năng

Plugin Cache Enabler bao gồm các tính năng và lựa chọn tùy chỉnh sau:

  • Disk cache nhanh
  • Xóa toàn bộ cache thủ công từ thanh admin hoặc từ trang cài đặt của plugin
  • Xóa cache thủ công cho một trang cụ thể
  • Thời gian hết hạn cache có khả năng được thiết lập tự động
  • Tùy chọn tự động xóa cache nếu bình luận mới được đăng
  • Dung lượng cache hiển thị trên dashboard của WordPress
  • Tùy chọn bật giảm thiểu/minify cache (HTML hoặc HTML và JS nội tuyến)
  • Hỗ trợ WordPress multisite
  • Hỗ trợ Post Type tùy chỉnh
  • Tùy chọn loại trừ caching cho một trang cụ thể thông qua ID
  • Có khả năng tích hợp với ảnh WebP
  • Tập trung vào HTTP/2
  • Hoạt động trơn tru với plugin Autoptimize
  • Hỗ trợ ảnh phản hồi thông qua srcset trong WordPress 4.4

Plugin Cache Enabler cũng sử dụng If Modified Since header để giúp trình duyệt phát hiện được liệu nội dung có thay đổi gì không kể từ lần tạo file cache tĩnh. Nếu nội dung không thay đổi, mã trạng thái cho tài liệu HTML ban đầu sẽ trả về trình duyệt là 304. Nếu nội dung đã thay đổi, tài liệu HTML sẽ được tìm nạp lại (fetched again), mã trạng thái trả về là 200.

mã trạng thái cho nội dung thay đổi

Làm thế nào tôi kiểm tra được liệu Cache Enabler có đang hoạt động bình thường trên trang web của tôi hay không?

Bạn có thể nhanh chóng xác nhận Cache Enabler đang phân phối phiên bản đã được cache của một trang cụ thể nào đấy bằng cách đăng xuất khỏi WordPress và kiểm tra mã nguồn để tìm một trong các comments (bình luận) sau (nó thường nằm ở cuối trang):

<!-- Cache Enabler by KeyCDN @ 10.11.2015 17:32:29 (webp gzip) -->
<!-- Cache Enabler by KeyCDN @ 10.11.2015 17:32:29 (webp) -->
<!-- Cache Enabler by KeyCDN @ 10.11.2015 17:32:29 (html gzip) -->
<!-- Cache Enabler by KeyCDN @ 10.11.2015 17:32:29 (html) -->
cache được tạo bởi KeyCDN
Ví dụ thực tế về cache được tạo bởi KeyCDN trên trang web

Khi được kích hoạt, Cache Enabler thực hiện hai điều sau:

  1. Thêm define(‘WP_CACHE’, true); // Added by Cache Enabler vào file wp-config.php của bạn
  2. Sao chép file advanced-cache.php từ cache-enabler vào thư mục wp-content

Header X-Cache-Handler: wp sẽ được hiển thị nếu file advanced-cache.php được sử dụng.

kiểm tra xem cache enabler đã hoạt động bình thường hay chưa

Ngược lại, nếu WP_CACHE bị thiết lập lỗi, ví dụ: define(‘WP_CACHE’, false); thì Cache Enabler sẽ không bỏ qua PHP và bạn sẽ thấy header sau X-Cache-Handler: php

Nếu khi kích hoạt, Cache Enabler không thể viết được vào file wp-config.php, thì bạn sẽ nhận được cảnh báo sau trong dashboard của WordPress.

cảnh báo của cache enabler

Nếu bạn nhận được cảnh báo này, bạn có thể thay đổi quyền đối với file và cài lại plugin hoặc thêm thủ công define(‘WP_CACHE’, true); vào file wp-config.php của bạn. Điều này sẽ đem lại cải thiện lớn cho vấn đề hiệu suất trên trang.

Làm thế nào tôi chuyển được ảnh của mình sang định dạng WebP?

Để chuyển ảnh sang định dạng WebP, bạn hãy sử dụng plugin Cache Enabler kết hợp với plugin tối ưu hóa ảnh Optimus, đồng thời bật tùy chọn WebP cho cả hai plugin.

Tích hợp ảnh WebP hoạt động như thế nào?

Plugin Cache Enabler phân tích ảnh định dạng jpeg và png trong thư mục upload của bạn để xem nó có định dạng ảnh WebP tương ứng hay không (được tạo bởi Optimus). Những ảnh WebP này sau đó được đưa vào file cache html chứa WebP.

Cache Enabler hoạt động được với plugin Disqus Conditional Load?

Đúng vậy. Để Cache Enabler hoạt động chính xác với plugin DCL, bạn cần vào phần cài đặt của DCL và thiết lập tùy chọn Caching Support thành “Enable”. Lưu tùy chọn của bạn và DCL sẽ hoạt động trơn tru cùng với Cache Enabler.

Cache Enabler sẽ hoạt động bình thường với giao diện mobile chứ nếu giao diện cho máy bàn và di động khác nhau?

Chúng tôi không khuyến khích sử dụng plugin Cache Enabler nếu giao diện di động hoặc plugin được sử dụng để hiển thị các layout khác nhau cho máy bàn và di động. Cache sẽ được bỏ qua nếu có bất kỳ plugin nào dưới đây được dùng:

  • WPtouch
  • Carrington
  • Jetpack
  • Handheld

Ngược lại, phiên bản đã được cache sẽ được phân phối đến người dùng di động.

Tại sao phần kiểm tra số lượng hàng tồn kho trong WooCommerce không cập nhật?

Nếu bạn gặp phải tình huống hàng tồn kho (stock) trong Woocommerce đã được cache và vì thế không cập nhật chính xác, bạn hãy thử nâng cấp lên phiên bản mới nhất của Woocommerce. Kể từ phiên bản 2.5.2 vấn đề đã được giải quyết và số lượng hàng còn trong kho không còn mâu thuẫn với các plugin caching nữa.

Chuyện gì xảy ra nếu bài đăng mới của tôi được xuất bản?

Theo mặc định, chỉ có cache của trang chủ được xóa khi bài đăng mới xuất bản. Tuy nhiên, trong trang cài đặt của Cache Enabler bạn có tùy chọn xóa toàn bộ cache khi bài đăng mới được xuất bản.

Xóa toàn bộ cache khi có bài viết mới cập nhật

Tần số cập nhật của cache là bao nhiêu?

Có một số tùy chọn bạn có thể thiết lập để xác định tần số cập nhật của cache.

  1. Bạn có tùy chọn xóa toàn bộ cache khi ai đó đăng bình luận mới. Điều này có thể được thực hiện từ trang cài đặt của Cache Enabler.
  2. Bạn có thể xóa cache thủ công từ thanh admin của WordPress hoặc bằng cách nhấn vào nút Save Changes từ trang cài đặt của Cache Enabler [2].
  3. Bạn có tùy chọn xóa toàn bộ cache hoặc một trang cụ thể mỗi khi bài đăng được cập nhật. Điều đó có thể thực hiện trực tiếp thông qua post/page [3] (chú thích của người dịch: tuy nhiên phần này trên trình soạn thảo Guntenberg không còn thấy xuất hiện)
  4. Cache cũng có thể tự động xóa thông qua tần số thời gian xác định trước. Điều này có thể được định nghĩa trực tiếp trong phần cài đặt của Cache Enabler bên dưới tùy chọn Cache Expiry. Bạn thiết lập thời gian cache cần phải xóa (tính theo giờ). Cache Expiry bằng 0 có nghĩa là cache sẽ không bao giờ hết hạn tự động (nó chỉ bị xóa khi bạn xóa thủ công).

Chú thích ảnh:

[2]: Xóa toàn bộ cache

Xóa toàn bộ cache

hoặc:

Xóa toàn bộ cache

[3]: Xóa cache từ post

Xóa cache từ post/page

Tôi có thể xóa cache của một URL cụ thể không?

Có. Bạn có thể xóa cache của một URL cụ thể trực tiếp từ phần quản trị của WordPress bằng cách click vào “Clear URL Cache”:

Xóa toàn bộ cache

Cache Enabler có hoạt động với thiết lập đường dẫn tĩnh mặc định không?

Không. Cache Enabler không hoạt động với đường dẫn tĩnh mặc định (default permalinks).

Tôi có thể sử dụng Cache Enabler với giao diện WordPress Nexus không?

Có. Tuy nhiên, khi cài đặt Cache Enabler trên trang sử dụng giao diện Nexus, bạn phải rebuild lại đường dẫn tĩnh. Điều này có thể được thực hiện thông qua Dashboard của WordPress > Settings > Permalinks và cuối cũng là nhấn Save Changes.

Chức năng hết hạn của Cache Enabler sẽ vẫn hoạt động chứ nếu tôi sử dụng mã mẫu nâng cao (advanced snippet)?

Không. Khả năng tự động thiết lập thời gian hết hạn cache của Cache Enabler dựa trên khoảng thời gian được xác định trước sẽ không hoạt động nữa vì các yêu cầu PHP cho chức năng đó sẽ bị bỏ qua.

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

Tuy nhiên, một cron job có thể được tạo để tiếp tục áp dụng thuộc tính cache hết hạn tự động (expiring the cache automatically). Thêm dòng lệnh sau vào cron job của bạn khi bạn đã xác định được khoảng thời gian bạn muốn cache hết hạn: */1 * * * * rm -rf /path/to/your/wordpress/wp-content/cache/cache-enabler/

Làm thế nào tôi tìm được ID của page hoặc post nào đấy?

Bạn có thể dễ dàng tìm được ID của page hoặc post nào đấy để thêm vào phần danh sách không cần cache trong trang cài đặt. Để tìm ID, bạn có thể hover qua tiêu đề post hoặc page từ trang danh sách bài viết và xem ID ở góc bên trái của trang giống như thế này:

Tìm ID của bài post/page

Một cách khác là bạn có thể click vào mục chỉnh sửa (edit) một trang cụ thể, bạn sẽ thấy ID xuất hiện trong URL:

ID của bài post/page trên URL

Làm cách nào tôi có thể sử dụng Cache Enabler trên trang WordPress multisite?

Sử dụng plugin Cache Enabler trên cài đặt multisite khá đơn giản. Khi plugin đã tải về, bạn có hai tùy chọn:

  1. Bạn có thể kích hoạt Cache Enabler thông qua mạng kích hoạt và nó sẽ bắt đầu hoạt động trên tất cả site.
  2. Bạn có thể bật Cache Enabler trên từng site một cách riêng lẻ nếu bạn không muôn nó bật trên toàn bộ mạng.

Tất cả cache và cài đặt cấu hình sẽ hoạt động riêng lẻ trên từng site. Vì thế, bạn có thể xóa cache trên site 1, trong khi site 2 và 3 vẫn giữ cache của chúng. Nếu bạn cần truy cập vào file cache từ backend, chúng nằm ở vị trí này /wp-content/cache/cache-enabler/yourdomain.com

Các cấu hình/tùy chỉnh nâng cao

Các cấu hình nâng cao hơn (advanced configuration) có thể được triển khai trên máy chủ web gốc để bỏ qua hoàn toàn PHP nhằm đem đến tốc độ phân phối thậm chí còn nhanh hơn nữa. Các mẫu mã cấu hình sau có thể được triển khai trên máy chủ Apache hoặc Nginx. Các mẫu mã cấu hình nâng cao này chỉ nên được dùng với những ai đã có kinh nghiệm trong việc chỉnh sửa file .htaccess. Hơn nữa, các thiết lập mặc định của Cache Enabler đã đáp ứng được phần lớn nhu cầu sử dụng rồi.

Lưu ý: Cấu hình này là tùy chọn và nó không bắt buộc phải triển khai thì bạn mới sử dụng được plugin Cache Enabler. Nó chỉ là các cấu hình gợi ý cho những ai muốn bỏ qua hoàn toàn PHP khi file HTML tĩnh tồn tại. Chỉ thị Expiry cũng sẽ được bỏ qua (bypassed) với cấu hình nâng cao.

Apache

Thêm đoạn mã bên dưới trước phần # BEGIN WordPress trong file .htaccess nếu bạn sử dụng Apache 2.3.9 hoặc các phiên bản cập nhật sau đó.

Đoạn mã xác định các điều kiện nhất định và nếu chúng gặp điều kiện đó thì RewireRule sẽ được kích hoạt (triggered). Với phiên bản gzip, điều kiện cuối cùng, RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html.gz -f, sẽ kiểm tra xem liệu file HTML tĩnh có ở đó hay không và nếu đúng, và tất cả các điều kiện khác đều có mặt, rewirte sẽ được kích hoạt. File HTML tĩnh sau đó được tìm nạp trực tiếp (ngăn bất kỳ lời gọi PHP nào) và được gửi lại cho người truy cập.

Biến SUB_PATH cần được điều chỉnh chính xác nếu bạn muốn cài WordPress trong thư mục phụ (ví dụ http://www.example.com/blog yêu cầu thay đổi thành SUB_PATH=/blog/wp-content/cache/cache-enabler/).

Ngoài ra, nếu bạn thay đổi vị trí của wp-admin, điều này cũng phải được điều chỉnh trong điều kiện sau RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*.

# BEGIN Cache Enabler
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # set blog sub path
    SetEnvIf Request_URI "^(.*)$" SUB_PATH=/wp-content/cache/cache-enabler/

    # set Cache Enabler path
    SetEnvIf Request_URI "^(.*)$" CE_PATH=$1
    SetEnvIf Request_URI "^(/)index.php$" CE_PATH=$1

    <IfModule mod_mime.c>
        # webp HTML file
        RewriteCond %{ENV:CE_PATH} /$
        RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
        RewriteCond %{HTTP:Accept-Encoding} gzip
        RewriteCond %{HTTP:Accept} image/webp
        RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html.gz -f
        RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html.gz [L]

        # gzip HTML file
        RewriteCond %{ENV:CE_PATH} /$
        RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
        RewriteCond %{HTTP:Accept-Encoding} gzip
        RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html.gz -f
        RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html.gz [L]

        AddType text/html .gz
        AddEncoding gzip .gz
    </IfModule>

    # webp HTML file
    RewriteCond %{ENV:CE_PATH} /$
    RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
    RewriteCond %{HTTP:Accept} image/webp
    RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html -f
    RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html [L]

    # default HTML file
    RewriteCond %{ENV:CE_PATH} /$
    RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
    RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html -f
    RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html [L]

    # wp override
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [END]
</IfModule>
# END Cache Enabler

Chúng tôi khuyên bạn nên cập nhật Apache bất cứ khi nào có thể nhưng bạn có thể cần sử dụng đoạn mã mẫu dưới đây nếu bạn sử dụng bản phát hành Apache cũ hơn (< 2.3.9) hoặc nếu bạn gặp lỗi với đoạn mã mẫu bên trên:

# BEGIN Cache Enabler
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # set blog sub path
    SetEnvIf Request_URI "^(.*)$" SUB_PATH=/wp-content/cache/cache-enabler/

    # set Cache Enabler path
    SetEnvIf Request_URI "^(.*)$" CE_PATH=$1

    <IfModule mod_mime.c>
        # webp HTML file
        RewriteCond %{ENV:CE_PATH} /$
        RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
        RewriteCond %{HTTP:Accept-Encoding} gzip
        RewriteCond %{HTTP:Accept} image/webp
        RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html.gz -f
        RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html.gz [L]

        # gzip HTML file
        RewriteCond %{ENV:CE_PATH} /$
        RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
        RewriteCond %{HTTP:Accept-Encoding} gzip
        RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html.gz -f
        RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html.gz [L]

        AddType text/html .gz
        AddEncoding gzip .gz
    </IfModule>

    # webp HTML file
    RewriteCond %{ENV:CE_PATH} /$
    RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
    RewriteCond %{HTTP:Accept} image/webp
    RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html -f
    RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index-webp.html [L]

    # default HTML file
    RewriteCond %{ENV:CE_PATH} /$
    RewriteCond %{ENV:CE_PATH} !^/wp-admin/.*
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
    RewriteCond %{DOCUMENT_ROOT}%{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html -f
    RewriteRule ^(.*) %{ENV:SUB_PATH}%{HTTP_HOST}%{ENV:CE_PATH}index.html [L]
</IfModule>
# END Cache Enabler

Nginx

Chúng tôi khuyến khích việc sử dụng gzip_static on; đây là chỉ thị phân phối trực tiếp phiên bản đã được nén gzip của file HTML tĩnh tới người truy cập. Tuy gzip_static không phải là lựa chọn bắt buộc nhưng ít nhất bạn cũng nên bập Gzip thông qua lệnh gzip on; để có được hiệu suất tốt nhất.

Biến $custom_subdir cần để điều chỉnh chính xác (adjusted accordingly) nếu bạn đã cài đặt WordPress trong thư mục con (ví dụ: http://www.example.com/blog).

server {
    set $cache_uri $request_uri;

    # bypass cache if POST requests or URLs with a query string
    if ($request_method = POST) {
        set $cache_uri 'nullcache';
    }

    if ($query_string != "") {
        set $cache_uri 'nullcache';
    }

    # bypass cache if URLs containing the following strings
    if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(index)?.xml|[a-z0-9-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'nullcache';
    }

    # bypass cache if the cookies containing the following strings
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'nullcache';
    }

    # custom sub directory e.g. /blog
    set $custom_subdir '';

    # default html file
    set $cache_enabler_uri '${custom_subdir}/wp-content/cache/cache-enabler/${http_host}${cache_uri}index.html';

    # webp html file
    if ($http_accept ~* "image/webp") {
        set $cache_enabler_uri '${custom_subdir}/wp-content/cache/cache-enabler/${http_host}${cache_uri}index-webp.html';
    }

    location / {
        gzip_static on; # this directive is not required but recommended
        try_files $cache_enabler_uri $uri $uri/ $custom_subdir/index.php?$args;
    }

    ...
}

Làm thế nào tôi có thể xác nhận được rằng đoạn mã nâng cao bỏ qua PHP?

Bằng cách bổ sung mã tùy chỉnh/cấu hình nâng cao (advanced configuration snippet) vào máy chủ web bạn có khả năng bỏ qua PHP để có được file HTML tĩnh được tạo bởi plugin Cache Enabler. Để chắc chắn bạn bỏ qua được PHP trong thực tế sau khi thêm mã, hãy mở công cụ dành cho nhà phát triển trên Chrome, điều hướng đến tab Network và lựa chọn file HTML trong trang của bạn.

Nếu bạn thêm mã cấu hình nâng cao bên dưới, khi kiểm tra header, bạn sẽ để ý thấy rằng không có các header Cache Enabler nào đã được chỉ định. Nếu header X-Cache-Handler không tồn tại, thì mã cấu hình nâng cao của bạn đã được triển khai chính xác.

Bạn cũng có thể kiểm tra các header phản hồi của bạn bằng cách sử dụng lệnh curl, chẳng hạn như:

curl -D - https://speed.family/ -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0HTTP/1.1 200 OK
Server: nginx
Date: Tue, 17 May 2016 11:59:04 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.9-1ubuntu4.14

Xóa cache thông qua ứng dụng của bên thứ ba

Đoạn mã PHP bên dưới có thể được dùng để xóa cache thông qua bên thứ ba chẳng hạn như cron job. Phần đầu tiên khởi tạo môi trường WordPress, thông thường file PHP này phải được đặt trong thư mục gốc trang WordPress của bạn. Phần if thứ hai thực hiện xóa hoàn toàn cache và với if thứ ba bạn có khả năng chỉ định post ID cụ thể nào mà bạn muốn xóa cache.

// initilize WordPress environment
if (!defined('ABSPATH')) {
    require_once('./wp-load.php');
}

if (has_action('ce_clear_cache')) {
    do_action('ce_clear_cache');
}

if (has_action('ce_clear_post_cache')) {
    do_action('ce_clear_post_cache', 1111); // post_id
}

(Dịch từ bài viết WordPress Cache Enabler Plugin trên KeyCDN)

Leave a Comment