Hướng dẫn W3 Total Cache toàn tập [NEW]

Tổng bộ nhớ đệm W3 là một plugin tăng tốc (caching) rất tốt và chuyên nghiệp hiện nay hoàn toàn miễn phí, mặc dù có thể hơi khó sử dụng và cài đặt. Sở dĩ có điều này là vì W3 Total Cache hỗ trợ các kỹ thuật bộ nhớ đệm khác nhau bao gồm Bộ đệm trang (bộ đệm cho các trang web bên ngoài front-end), Bộ đệm cơ sở dữ liệu (bộ nhớ đệm cho dữ liệu nhận được từ cơ sở dữ liệu). ), Object Cache (bộ nhớ đệm cho các đối tượng dữ liệu ngoài trang chủ website như widget, menu, truy vấn, …).

Không chỉ vậy, mỗi kỹ thuật bộ nhớ đệm hỗ trợ bạn lựa chọn nhiều phương pháp bộ đệm như:

  • Máy chủ dùng chung
    • Disk: Basic – Lưu bộ đệm từ ổ cứng và sử dụng PHP để tải tệp bộ đệm.
    • Disk: Enhanced – Lưu bộ nhớ cache vào ổ cứng và sử dụng kỹ thuật ghi lại đường dẫn để tải tệp bộ nhớ cache.
  • Máy chủ chuyên dụng / ảo (các phương pháp này tương tự nhau, nhưng mỗi hệ thống có điểm mạnh riêng)
    • Opcode: Bộ nhớ đệm PHP thay thế (APC)
    • Opcode: eAccelerator
    • Opcode: XCache
    • Opcode: WinCache
  • Nhiều máy chủ (Các phương pháp ở đây phù hợp để bạn tải trang web qua nhiều máy chủ, chẳng hạn như kỹ thuật Cân bằng tải, nhưng không thành vấn đề nếu bạn sử dụng nó cho một máy chủ).
    • Đã ghi nhớ

Do đó, bạn có thể đoán rằng W3 Total Cache rất mạnh vì chúng ta có thể sử dụng nó tuyệt vời cho các trang web WordPress trên môi trường máy chủ. Do đó, mình khuyến khích các bạn sử dụng WP Super Cache cho Shared Host vì W3 Total Cache khá nặng nên có thể website của bạn sẽ chậm hơn nếu bạn sử dụng Shared Host.

Trong loạt bài này, tôi chỉ tập trung vào cấu hình W3 Total Cache trên môi trường máy chủ riêng Linux (Dedicated / Virtual Server), không nói rằng tôi sẽ sử dụng cấu hình này cho Shared Host.

Đề xuất xem trước: Các phương pháp lưu vào bộ đệm trong WordPress và khi nào sử dụng.

I. Cài đặt W3 Total Cache

1.1) Lưu ý trước khi cài đặt

Để cài đặt W3 Total Cache tốt nhất, bạn nên đảm bảo rằng tệp wp-config.php và tệp .htaccess (nếu bạn sử dụng Apache Webserver) là CHMOD của 644 và nó đã được phép sử dụng bởi webserver / PHP người sử dụng. trên máy chủ. Trong phần hướng dẫn cài đặt Webserver của tôi, tất cả chúng ta đều nói chuyện thông qua lệnh chown để cấp quyền cho người dùng / nhóm của Webserver và PHP để nó có thể tự động chỉnh sửa nội dung của các tệp trong thư mục mà bạn đang cấp quyền.

Cụ thể, hãy chạy lệnh này nếu bạn đang sử dụng Apache Webserver trên RHEL (CentOS, Fedora):

[bash]chown -R apache: apache /home/folder/example.com/public_html[/bash]

Chạy lệnh này nếu bạn sử dụng Apache Webserver trên Debian / Ubuntu

[bash]chown -R www-data: www-data /home/folder/example.com/public_html[/bash]

Chạy lệnh này nếu bạn sử dụng NGINX và PHP-FPM (LEMP) trên RHEL (CentOS, Fedora):

[bash]chown -R nginx: nginx /home/folder/example.com/public_html[/bash]

Đối với LEMP trên Debian / Ubuntu, nó cũng giống như lệnh cấp quyền cho Apache vì nó cũng sử dụng dữ liệu www của người dùng.

Ngoài ra, nếu bạn sử dụng các plugin bảo mật như iThemes Security, Bảo mật chống đạn..để khóa các tập tin quan trọng, bạn hãy tạm thời tắt nó đi vì có thể gặp lỗi nó chặn quyền ghi mà không biết.

1.2) Cài đặt chung

Sau khi Kích hoạt plugin W3 Total Cache, bạn sẽ thấy nó hiển thị thông báo sau:

Hướng dẫn W3 Total Cache toàn tập [NEW]

Thông báo này có nghĩa là nó muốn hỏi bạn xem bạn có muốn bật tính năng này không Chế độ cạnh của họ hay không. Đây là một tính năng mới để lưu vào bộ nhớ đệm hiệu quả hơn nhưng đang trong quá trình hoàn thiện. Bạn có thể bấm vào nút Click Here để bật lên vì mình vẫn đang sử dụng tính năng này và chưa thấy gì, nếu cần tắt thì vào W3 Tổng bộ nhớ cache -> Chung để tắt.

Sau khi hoàn thành bước kích hoạt, việc đầu tiên bạn cần làm là vào W3 Total Cache -> Trang tổng quan và nhấp vào. cái nút Kiểm tra khả năng tương thích để xem cấu hình máy chủ của bạn có tương thích với W3 Total Cache.

w3totalcache-kiểm tra

Và kết quả trả về

w3totalcache-checkresult

Trên thực tế, trong kết quả kiểm tra, bạn không nhất thiết phải đặt tất cả chúng vào Đã cài đặt vì có những thứ không thực sự cần thiết hoặc không nên bật vì nhiều lý do. Miễn là bạn đã bật liên kết cố định và Ghi lại URL, nếu bạn sử dụng NGINX, tôi sẽ có cách sửa lỗi Ghi lại URL bên dưới.

1.3) Cài đặt cơ bản

Bước đầu tiên, bạn nên tiến hành thiết lập cơ bản cho W3 Total Cache trước khi sử dụng các tính năng nâng cao khác để tránh lỗi không vào được website.

Để thiết lập nó, hãy truy cập W3 Tổng bộ nhớ cache -> Chung và chỉ cần đánh dấu Bộ đệm trang – Đĩa: Nâng caoBộ nhớ cache của trình duyệt như hình bên dưới. Các phần khác được để nguyên như vậy.

w3totalcache-pagecache

Cài đặt bộ nhớ đệm trang

Thiết lập bộ nhớ cache của trình duyệt

Thiết lập bộ nhớ cache của trình duyệt

Sau đó nhấn nút Lưu tất cả cài đặt để lưu lại.

1.4) Định cấu hình Ghi lại URL cho NGINX

Mặc dù NGINX không sử dụng tệp .htaccess nhưng khi cài đặt và lưu cài đặt, W3 Total Cache sẽ tự động ghi nội dung cấu hình để ghi lại đường dẫn cho NGINX vào tệp. nginx.conf trong thư mục public_html / của trang web. Nếu tệp này không tồn tại, nó sẽ tự động tạo, tất nhiên, thư mục public_html / của bạn phải được cấp phép cho người dùng NGINX để nó có thể tự ghi.

Bạn có thể xem đường dẫn chính xác của tệp nginx.conf này tại W3 Total Cache -> Cài đặt trong phần Quy tắc viết lại.

Đường dẫn tệp tin tệp Nginx.conf

Đường dẫn tệp tin tệp Nginx.conf

Ngoài ra, mình cũng nói thêm là file nginx.conf này cũng sẽ được cập nhật tự động cho các plugin có tính năng buộc viết lại các đường dẫn khác nếu bạn sử dụng NGINX như iThemes Security chẳng hạn.

Do đó, những gì chúng ta cần làm là chèn tệp này vào tệp cấu hình tên miền của bạn. Chèn phần sau vào giữa cặp server {.....} trong tệp cấu hình miền của NGINX.

include /home/thach/public_html/nginx.conf;

Hãy nhớ chỉnh sửa đường dẫn tệp nginx.conf trong thư mục miền của bạn một cách chính xác.

Ngoài ra, hãy chèn đoạn này lên trên nó.


set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
set $cache_uri ‘null cache’;
}
if ($query_string != "") {
set $cache_uri ‘null cache’;
}

# Don’t cache uris containing the following segments
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 ‘null cache’;
}

# Don’t use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
set $cache_uri ‘null cache’;
}

Tiếp tục tìm phần location / {....} cũng trong tệp đó và thay thế bằng tệp này:

location / {
try_files /wp-content/cache/page_enhanced/${host}${cache_uri}_index.html $uri $uri/ /index.php?$args ;
}

Ví dụ của tôi


server {
listen 80;
server_name www.thachpham.com thachpham.com;

#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
root /home/thach/public_html;

location / {
try_files /wp-content/cache/page_enhanced/${host}${cache_uri}_index.html $uri $uri/ /index.php?$args ;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
set $cache_uri ‘null cache’;
}
if ($query_string != "") {
set $cache_uri ‘null cache’;
}

# Don’t cache uris containing the following segments
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 ‘null cache’;
}

# Don’t use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
set $cache_uri ‘null cache’;
}

include /home/thach/public_html/nginx.conf;
include /etc/nginx/conf.d/php.conf;
include /etc/nginx/conf.d/staticfiles.conf;
include /etc/nginx/conf.d/block.conf;

}

Các dòng in đậm là nơi tôi đã thêm chúng.

Và bây giờ là lúc khởi động lại NGINX.

[bash]khởi động lại dịch vụ nginx[/bash]

Bạn vào trang chủ của website (chưa đăng nhập) và kiểm tra lại bài viết xem có lỗi 404 không, nếu không có lỗi 404 thì bộ nhớ đệm đang hoạt động tốt, bạn có thể thấy tốc độ tải trang đã được cải thiện.

II. Cài đặt nâng cao

2.1) Tối ưu hóa Trang Cache

Ở bước trên chúng ta đã kích hoạt tính năng Page Cache và nếu nó hoạt động tốt thì bạn cũng nên truy cập vào phần W3 Total Cache -> Trang Cache để tìm hiểu các cài đặt cụ thể để nó hoạt động như dự định. Ở đây có rất nhiều lựa chọn và tôi chỉ hướng dẫn bạn những lựa chọn cần thiết.

Nếu bạn sử dụng SSL / HTTPS, bạn nên chọn hộp Yêu cầu SSL (https) trong bộ nhớ cache để nó hỗ trợ bộ nhớ đệm qua giao thức HTTPS, đây cũng là một tính năng hay trong W3 Total Cache.

Các phần khác hầu như được giữ nguyên vì mọi thứ đã được cấu hình ổn định, việc thay đổi không nhất thiết phải tốt hơn.

2.2) Sử dụng bộ đệm cơ sở dữ liệu

Để sử dụng Database Cache, bạn cần cài đặt Memcached vì nó hỗ trợ lưu dữ liệu của câu truy vấn vào database vào RAM, không chỉ hoạt động trong PHP script như các hệ thống cache khác. Sau đó, bạn nhập Tổng bộ nhớ đệm W3 -> Chungtick vào Database Cache và chọn Memcached như hình bên dưới.

w3totalcache-database-cache-memcached

Vậy là xong, nếu bạn có nhiều cài đặt nâng cao hơn, bạn có thể vào W3 Total Cache -> Database Cache để thiết lập các tham số cho kỹ thuật bộ nhớ cache này. Nếu bạn sử dụng Memcached, tốt nhất bạn nên đến đó và kiểm tra xem nó có thể kết nối với Memcached hay không, nếu nó cho biết Bài kiểm tra đã vượt qua thì bạn có thể sử dụng nó.w3totalcache-database-cache-memcached-test

2.3) Sử dụng bộ đệm đối tượng

Object Cache là một phương pháp bạn có thể sử dụng nếu trên website của bạn có nhiều đối tượng liên tục gửi truy vấn đến cơ sở dữ liệu như truy vấn (danh sách bài viết mới, bài viết liên quan,…) hoặc các đối tượng khác như menu, widget… và sử dụng Đối tượng Cache để lưu vào bộ đệm các đối tượng đó để giảm các truy vấn được gửi đến cơ sở dữ liệu.

Giống như Database Cache, tôi chỉ khuyến khích bạn sử dụng kỹ thuật này với các bộ đệm hệ thống như Memcached hoặc PHP Opcode Cache, tôi khuyên bạn nên sử dụng XCache sẽ tốt hơn vì nó xử lý các truy vấn PHP khá tốt, vì vậy bạn nên cài đặt XCache trước khi sử dụng nó.

Để sử dụng, bạn vào W3 Tổng bộ nhớ cache -> Chung và tích vào Object Cache, chọn phương thức là Opcode: XCache như hình bên dưới và nhấn Save để hoàn tất.

w3totalcache-objectcache-xcache

2.4) Sử dụng Minify

Minify nghĩa là phương pháp kết hợp các tập tin CSS và Javascript trong website thành một tập tin để trình duyệt chỉ gửi một truy vấn duy nhất đến máy chủ để đọc tập tin đó thay vì tải nhiều tập tin khác nhau cùng một lúc. Kỹ thuật này thực sự hữu ích nếu bạn thường xuyên quay lại vì sau lần tải đầu tiên, bộ nhớ cache của tệp đã hợp nhất sẽ được lưu vào bộ nhớ cache trong trình duyệt của họ nên họ hầu như không mất bất kỳ thời gian nào để tải lại. các tệp này một lần nữa. Tuy nhiên, nhược điểm của nó là do gộp nhiều tập tin thành một tập tin lớn, trình duyệt sẽ mất nhiều thời gian để tải trong lần tải đầu tiên, và nếu tập tin quá lớn, trang web của bạn sẽ bị đơ, thậm chí là hỏng khung giao diện. Vì vậy, kỹ thuật này tôi không chắc nó sẽ hiệu quả với tất cả các trường hợp, vì vậy ngay cả khi bạn không làm được thì cũng đừng cố thực hiện.

Để kích hoạt Minify, hãy truy cập W3 Tổng bộ nhớ cache -> Chung và tích vào phần Minify, và chọn phương thức là Disk, tích vào phần Manual như hình bên dưới.

w3totalcache-minify

Sau khi nhấn lưu, bạn sẽ cần truy cập W3 Total Cache -> Minify để thiết lập thủ công vì chúng tôi đã chọn kiểu nén là Thủ công vì chọn Tự động rất dễ xảy ra lỗi. Tại đây, bạn nhìn lên sẽ thấy nút Cứu giúpclick vào nó để nó tự động đưa tất cả các file Javascript và CSS mà nó dò được vào trang chủ website giúp bạn thêm các file cần nén nhanh hơn.

w3totalcache-minify-helpwizard

Và bây giờ, bạn muốn nén tệp nào thì đánh dấu vào tệp đó, nhớ tránh các tệp jquery.js hoặc jquery.min.js và các tệp JS bên ngoài. Đồng thời, bạn nên đặt các tệp đó ở phần footer với tùy chọn ở bên phải.

w3totalcache-minify-selectfile

Bây giờ bạn có thể xem kết quả, nếu có bất kỳ lỗi nào, bạn nên xem lại cài đặt xem tệp nào không nên nén.

2.5) Sử dụng bộ nhớ cache của trình duyệt

Browser Cache hay còn gọi là Browser Cache là một kỹ thuật buộc trình duyệt sử dụng các phiên bản được lưu trong bộ nhớ cache của các đối tượng được lưu trong bộ nhớ cache thay vì tải các đối tượng mới, vì vậy nếu khách truy cập vào trang web của bạn lần thứ hai thì sẽ rất nhanh. Nhưng nhược điểm là nếu bạn chỉnh sửa tệp CSS hoặc JS, chúng có thể vẫn tải bộ đệm chính, nhưng họ cần xóa bộ nhớ cache trên trình duyệt hoặc đợi bộ nhớ cache đó hết hạn trước khi thấy thay đổi. Vì vậy, tôi khuyên bạn chỉ nên sử dụng nó nếu bạn có ít nhu cầu sửa chữa giao diện.

Để sử dụng Trình duyệt Cache, hãy truy cập W3 Tổng bộ nhớ cache -> Chung và đánh dấu vào Browser Cache và lưu.

w3totalcache-browsercache

Sau đó, bạn nhập W3 Total Cache -> Browser Cache để thiết lập các chi tiết cho kỹ thuật này. Tại đây, bạn có thể đặt loại tệp nào để áp dụng bộ nhớ cache của trình duyệt và thời gian hết hạn của nó (tính bằng giây). Về cài đặt, cài đặt mặc định của nó đã khá tốt, nhưng tôi khuyến khích bạn đánh dấu vào tiêu đề Đặt hết hạn trong mỗi phần để nó thêm thời gian hết hạn vào thông tin Tiêu đề HTTP của tệp đó. Đó là tất cả!

Phần kết

Trong bài này mình đã nói khá kỹ về plugin W3 Total Cache và bài viết có vẻ dài nên mình sẽ dừng ở đây, tuy có một số tính năng khác như CDN chẳng hạn nhưng mình nghĩ chức năng này dành cho người dùng. chỉ có. Tác giả của bạn sẽ có ít nhu cầu vì để sử dụng bạn phải có tài khoản CDN tại các trang CDN trả phí như MaxCDN hoặc Amazon CloudFront, nếu có bạn có thể tự thiết lập, rất dễ dàng.

Hy vọng qua bài viết này, bạn sẽ hiểu rõ hơn về cách thức hoạt động của W3 Total Cache và biết cách thiết lập nó cho phù hợp, từ đó bạn sẽ biết tại sao W3 Total Cache là plugin tạo bộ nhớ đệm tốt nhất cho WordPress hiện tại. bây giờ và không thể có một plugin thứ 2 hoàn chỉnh như vậy.

Đánh giá nội dung này