WP Super Cache в связке c Nginx и Apache

WP Super Cache самый нетребовательный и очень быстрый плагин кеширования для Wordpress, создающий статические HTML-файлы. WP Super Cache очень хорошо помогает уменьшить метрику TTFB (время до получения первого байта).

Читайте также: ТОП Плагинов Wordpress для настройки кэширования сайта

Если у вас сервер собран в виде LEMP (Linux, NGINX (EngineX), Mysql, PHP) и вместо Apache в бекенде php-fpm, тогда вам настроить NGINX. Без этих настроек никакого смысла устанавливать плагин WP Super Cache нет!

В данной конфигурации кеш NGINX включать не нужно, так как NGINX будет брать статичные страницы из кеша WP Super Cache напрямую, минуя интерпретатор PHP. В этом случае вы сможете управлять кешем из админпанели WordPress, а не из консоли NGINX.

Для обычного блога и средне загруженного сайта вполне достаточно настроить переменную try_files в конфигурационном файле Nginx вашего сайта. Строки ниже вы можете скопировать и вставить себе.

location / {
    try_files "/wp-content/cache/supercache/$http_host/$request_uri/index-https.html" $uri $uri/ /i$
}

Не забудьте заменить путь к директории с кэшем (в моем пример это /wp-content/cache/supercache/). Посмотреть где находится кеш плагина WP Super Cache вы можете посмотреть в его настройках.

В случае если ваш хостинг провайдер использует для Wordpress сайтов Веб-сервер Apache, то все настройки плагина WP Super Cache производятся через админ панель сайта и НЕОБЯЗАТЕЛЬНОГО редактирования файла .htaccess.

Скорость до установки плагин WP Super Cache

Скорость после установки и настройки WP Super Cache

1 вариант. (я использую его) После настройки WP Super Cache, для включения браузерного кеширования добавьте код. ВКЛЮЧИТЕ в Apache mod_headers!!!

<ifModule mod_headers.c>
    # Все html и htm файлы будут храниться в кэше браузера одну минуту
    <FilesMatch "\.(html|htm)$">
        Header set Cache-Control "max-age=60"
    </FilesMatch>
    # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю
    <FilesMatch "\.(js|css|txt)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
    # Все флэш файлы и изображения будут храниться в кэше браузера один месяц
    <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
        Header set Cache-Control "max-age=2592000"
    </FilesMatch>
    # Отключаем кеширование php и других служебных файлов
    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
        Header unset Cache-Control
    </FilesMatch>
</IfModule>

2 вариант. Вставляем код в .htaccess вашего сайта. Включаем сжатие gzip для соответствующих MIME-типов файлов

<IfModule mod_deflate.c>
  <IfModule mod_filter.c>
      AddOutputFilterByType DEFLATE text/plain text/html
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
      AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml
      AddOutputFilterByType DEFLATE application/json
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon
  </ifModule>
</IfModule>

Браузерное кеширование для нестандартных шрифтов

Включаем заголовки Expires для статичных файлов сроком на 1 год (365 дней) и нестандартных шрифтов сайта. 1 вариант

<IfModule mod_expires.c>
ExpiresActive On
  <Filesmatch "\.(jpg|jpeg|png|gif|js|css|swf|ico|woff|mp3)$">
      ExpiresActive on
      ExpiresDefault "access plus 365 days"
  </Filesmatch>
</IfModule>

2 вариант (я использую)

<ifModule mod_expires.c>
ExpiresActive On
# Нестандартные шрифты сайта
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
 
  <Filesmatch "\.(swf|ico|woff|mp3)$">
      ExpiresActive on
      ExpiresDefault "access plus 365 days"
  </Filesmatch>
</IfModule>

Вы можете самостоятельно проверить, как работает плагин, довольно просто. Откройте браузер в режиме инкогнито или в приватном режиме. Для Firefox это делается с помощью Ctrl + Shift + P, для Google Chrome или Яндекс Браузера — Ctrl + Shift + N. Теперь откройте исходный код страницы (Ctrl + U) и посмотрите в самый конец, там вы увидите примерно следующее

<!-- Dynamic page generated in 0.411 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2022-04-06 21:07:29 -->
 
<!-- super cache -->

Это отметка, сколько времени собиралась страница и в какие дату и время это произошло. Если этих меток нет, значит вы сделали что-то не так, и плагин не работает. Вернитесь к началу настройки и пройдитесь по основным пунктам, возможно, вы что-то упустили.

PQ VPS сервера в 28+ странах.