Как настроить кеширование в WordPress с помощью плагина W3 Total Cache и Nginx

Опубликовано: 24.08.2018

видео Как настроить кеширование в WordPress с помощью плагина W3 Total Cache и Nginx

7. 10 шагов к быстрому сайту

В сегодняшней статье мы расскажем вам как настроить кеширование в WordPress с помощью плагина W3 Total Cache и Nginx. Если вы используете easyengine, то можно пропустить всю статью, использовав лишь команду:



ee site create example.com --w3tc

Предполагается:

Что вы уже установили PHP, MySQL, Nginx & Postfix Что вы уже установили свежую копию WordPress или же перенесли существующую на текущий сервер

Основываясь на этих предположениях, мы сразу перейдем к части настройки WordPress-Nginx.

Стандартная конфигурация WordPress-Nginx с W3 Total Cache:

Плагин W3 Total Cache предлагает огромное количество опций. Мы рекомендуем использовать нижеследующие:


Включить кэширование сайта при помощи htaccess

Page Cache – Disk Enhanced Minify – Отключите это, если только вы не уверены на 100%, что ваша тема/плагины будут корректно ее поддерживать. Автоматическая минификация крайне редко работает правильно. Database Cache – Memcache Object Cache – Memcache Browser Cache – Отключить CDN – Вы можете использовать любой CDN. Рекомендуется Amazon CDN либо Cloudflare.

Как вы успели заметить, мы выделили только 2 опции. И именно эти две опции мы будем обрабатывать в конфигурации.


Критический обзор сервиса Cloudflare для ускорения сайтов

server { server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log debug; root /var/www/example.com/htdocs; index index.php; set $cache_uri $request_uri; # POST запросы и ссылки со строками запросов всегда отдаем PHP if ($request_method = POST) { set $cache_uri 'null cache'; } if ($query_string != "") { set $cache_uri 'null cache'; } # Не кешируем сыслки, которые содержат следующие сегменты 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'; } # Не используем кеш для залогиненных пользователей либо недавних комментаторов if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") { set $cache_uri 'null cache'; } # Используем закешированные или актуальные файлы, если они существуют, иначе же отдаем запрос на WordPress location / { try_files /wp-content/cache/page_enhanced/${host}${cache_uri}_index.html $uri $uri/ /index.php?$args ; } location ~ ^/wp-content/cache/minify/[^/]+/(.*)$ { try_files $uri /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; } # Кешируем статические файлы так долго, насколько это возможно location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { expires max; log_not_found off; access_log off; } }

Примечания:

Для упрощения конфигурации мы не добавляли проверку на мобильные юзер-агенты. Лучше использовать адаптивный дизайн, нежели разрабатывать отдельный сайт для мобильных устройств. Вы не увидели в конфигурации специальных правил для минификации . Вышеприведенные правила будут обрабатывать минификацию W3 total без каких-либо изменений.

Не забудьте:

Всегда вначале тестируйте конфигурацию Nginx, а затем подгружайте её. Все изменения в конфиг Nginx должны сопровождаться следующими командами:

nginx -t && service nginx reload

Вот и все. Мы надеемся, что эта статья помогла вам настроить кеширование в WordPress с помощью плагина W3 Total Cache и Nginx.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]

Rating: 5.0/ 5 (1 vote cast)

IRC (Internet Relay Chat)
rss