Сегодня поговорим о настройке плагина WP Super Cache . В настоящее время, когда скорость домашнего интернета приобретает космические скорости, для сайта становиться очень важным показателем, скорость загрузки страниц. Ну ни для кого не секрет, что одним из показателем ранжирования сайта поисковыми системами является скорость загрузки страницы сайта, для пользователя тоже не мало важно скорость загрузки сайта , чтобы быстро получить необходимую информацию. В общем, все любят быстрые сайты.
Самым лучшим способом ускорить сайт на wordpress является кеширование. А самый лучший плагин для кеширования – это WP Super Cache . В этой статье я подробно расскажу, как установить и настроить кеширование страниц сайта на wordpress при помощи плагина WP Super Cache .
Кеширование сайта – это способ ускорения загрузки сайта путем сохранения загружаемой страницы в кэше браузера или сервера, чтобы при последующих обращениях к этой странице облегчить нагрузку на сервер, используя уже загруженные или «закэшированные» страницы, особенно это критично для сайтов с большой посещаемостью.
Установка плагина WP Super Cache ничем не отличается от установки любого другого плагина, но я бы рекомендовал устанавливать плагин через консоль установки плагинов в wordpress, это очень легко и просто.
Перед установкой плагина обязательно делаем бэкап сайта! Например, при помощи плагина « »
Переходим в консоль сайта => Плагины => Добавить новый в поиске пишем WP Super Cache и нажимаем клавишу Enter. Затем жмем кнопку установить.
Активация плагина WP Super Cache не совсем стандартна, помимо того, что вам надо будет активировать плагин, после его установки нужно будет его активировать непосредственно в настройках плагина.
Для активации отмечаем «кэширование включено» и нажимаем кнопку обновить, если у вас появится ошибка при активации, то проверьте настройки доступа к файлам и папкам на хостинге.
Если вы не получали сообщение об ошибке это значит, что плагин начал работать, но с настройками по умолчанию. Если вас это устраивает, то можно дальше не читать, плагин уже вполне успешно работает.
Переходим на вкладку «Настройки»
Если вы решили переключить на режим mod_ rewrite, то отмечаем данный пункт и спускаемся чуть ниже по странице и нажимаем кнопку обновить. После чего вы увидите большое желтое поле, на котором вам надо будет нажать кнопку «Обновить правила mod_ rewrite ». Первым признаком того, что настройки применились успешно, будет сообщение в зеленом боксе. Ну а если вы, как и я, любите все увидеть своими глазами, то идем в файл. htacces и убеждаемся, что настройки применились.
В данном пункте все очень хорошо описано разработчиками плагина WP Super Cache, читайте и принимайте решение, которое для вас больше всего подходит, у меня настроено как на скриншоте.
В данном пункте можно оставить все по умолчанию, но я отметил пункт «Обновлять страницу при добавлении нового комментария к ней»
В данном пункте настраиваются параметры очистки кэша. В данном пункте не вижу смысла что-то менять и оставляю все настройки по умолчанию.
Все остальные настройки в данной вкладке «Настройки» я оставляю по умолчанию, не вижу смысла что-то менять.
Да. Еще один момент, если вы вдруг решили вернуться к настройкам по умолчанию, вы это можете сделать буквально в один клик, перейдя в конец вкладки «Настройки» и нажав кнопку «Восстановить настройки по умолчанию».
При помощи плагина WP Super Cache вы можете включить поддержку CDN.
CDN(Content Delivery Network) – дословно говоря, это средство доставки контента. Под словом контент подразумеваются статические ресурсы, которые используются на сайте, например CSS стили, изображения, JavaScript, архивы, флэш файлы или любые другие документы.
В этой вкладке вы можете отслеживать статистику кэша вашего сайта, также удалить просроченный кэш или удалить весь кэш.
Это главное отличие данного плагина и его главное преимущество. Данная функция позволяет закешировать страницы сайта и пользователи будут получать уже закешированые страницы. При загрузке таких страниц будет затрачено гораздо меньше ресурсов, чем при их динамическом формировании. Всем советую создать общий кэш всего сайта в момент наименьшей нагрузки на сервер.
Чтобы создать общий кэш, необходимо данной вкладке нажать кнопку «Создать общий кэш сейчас».
На этом настройка плагина WP Super Cache закончена.
В заключении хочу сказать, что тема кэширования и ускорения загрузки сайта очень актуальная и, наверное, я буду прав, если скажу, что тема из разряда вечных для wordpress, так как CMS WordPress сама по себе система очень тяжёлая и требует затрат большого количества ресурсов. Но насколько я знаю, разработчики активно работают над оптимизацией данной проблемы и в скором времени нам не придется бороться с этой проблемой самостоятельно.
Просто приведу 2 примера, до и после установки и настройки плагина
То есть, вы сами видите грубый расчёт, без плагина страница генерируется 879 миллисекунд
, а с плагином — 84 миллисекунды
. Разница в 10 раз! Ещё остались сомнения в том, нужно ли его устанавливать?
Особо рекомендую к использованию на , и если ваш сайт по типу информационный
: блог или статейник — основное содержание почти не меняется.
Есть и противопоказания, но они больше условные: например, если ваш сайт почти не содержит постоянного содержимого, например предоставляет некоторый сервис, динамически изменяемые в php блоки и тому подобное. Правда, и тут можно найти выход, настроив тип кеширования Legacy или PHP и включив Enable dynamic caching
в настройках. Так что, пути выхода есть:) Однако, я лично думаю, что для таких сайтов лучше обходиться объектным кешированием, например, на основе , что тоже будет довольно эффективно.
Принцип работы прост: плагин создаёт статичные html и php файлы – копии страниц WordPress и сохраняет их в кеш: /wp-content/cache/supercache/ . Потом, при заходе пользователя на какую-либо страницу сайта, WordPress, вместо того, чтобы создать страницу с нуля, отдаёт браузеру заранее сохранённую копию html-страницы из кеша или собирает её максимально быстро из готовых php-файлов. Думаю, вполне очевидно, что такой вариант выходит экономнее по затратам ресурсов сервера и быстрее в плане скорости загрузки страницы.
Конечно, кеш отдаётся не всегда. При настройках по умолчанию, кеш не отдаётся для:
Но, так как доля этих пользователей незначительна, WP Super Cache
является очень эффективным кеширующим инструментом.
Скачать плагин вы можете из официального репозитория https://wordpress.org/plugins/wp-super-cache/
Можно либо распаковать архив в директорию плагинов /wp-content/plugins/ , либо воспользоваться загрузчиком плагинов в админке http://example.com/wp-admin/plugin-install.php?tab=upload
Если у вас свой виртуальный или выделенный сервер, обязательно выставите на распакованные файлы, каталоги, и /wp-content/ , чтобы кеш смог записываться
Также, более простым вариантом будет зайти в http://example.com/wp-admin/plugin-install.php , вбить в поиск WP Super Cache и установить найденный плагин
Сигналом об удачной установке будет надпись:
После установки плагин нужно настроить. Это не займёт много времени. Самые основные моменты я опишу сначала, про тонкую настройку — чуть дальше.
Процесс установки и настройки WP Super Cache на видео:
Если на данном этапе вы видите ошибку
значит, у вас не настроены ЧПУ (человеко-понятные урлы). Переходите по ссылке http://example.com/wp-admin/options-permalink.php и выберите любой вариант, кроме первого
Теперь с ходу вас может огорошить сообщением
В нём говорится о потенциальных проблемах с безопасностью на сервере, но также это сообщение может выскочить при первой установке или сбросе настроек плагина. Так как мы только что установили плагин, спокойно пропускаем сообщение — Dismiss
Включаем кеширование
И тут же чуть ниже проверяем
В принципе, всё, плагин работает и уже кеширует страницы:)
Но делает он в этом варианте не совсем эффективно. Приступим к тонкой настройке
Переходим на вкладку Настройки (http://example.com/wp-admin/options-general.php?page=wpsupercache&tab=settings)
Включить кеширование Отмечаем. Если снять галочку, кеширование выключится. То есть, грубо говоря, этот пункт включает и выключает кеширование, то есть делает то же самое, что и включение/отключение кеширования на странице http://example.com/wp-admin/options-general.php?page=wpsupercache&tab=easy
Тут есть 2 варианта на выбор:
Простой В данном случае, кеш будет обслуживать PHP. Вариант, когда сервер работает на + PHP-FPM, и нет возможности вносить изменения в конфигурацию NGINX. Также, может понадобиться, если на сайте используется отдельная тема для мобильных девайсов. В остальных случаях, выбирайте режим Эксперт. Эксперт Использовать mod_rewrite для обслуживания кешированных файлов. Выбираем этот пункт как наиболее быстрый и удобный для сервера.
Не кэшировать страницы для известных пользователей. (Рекомендовано) Включать однозначно. Если отключить, для известных пользователей (их 3 типа, указывались выше) будет генерироваться отдельный кеш, который ещё и всплыть наружу может, если теоретически. Ещё вы не будете видеть тулбар админа на страницах, что очень неудобно, когда нужно отредактировать страницу, сбросить кеш или ещё что-то в этом духе. Не кешировать страницы с параметрами GET (?x=y в конце URL)
Если отметить, то будет принимать во внимание параметры запроса и не кешировать её, если URL будет с параметрами навроде http://example.com/post?utm_source=twitter . Можно включить, можно отключить, смотрите по вашим потребностям. Чаще всего, его отключают. Сжимать файлы кэша чтобы ускорить работу. (Рекомендовано)
Отключить. В дополнение к обычному html будет создавать сжатую в gzip копию. Если экономите дисковое пространство — отключайте. Если у вас сервер на чистом , либо без gzip, что встречается довольно редко — включите. Можете включить и посмотреть, будет мешать — отключите. Будет глючить на вашем хостинге — отключите. Кеш HTTP заголовков с содержимым страницы. Отключить. Включать, если есть проблемы с отдачей . Заголовками HTTP должен заведовать , а не плагин кеширования. При включении кеш страницы будет создаваться не в виде одной единой HTML-страницы, а в виде двух php-файлов, один из которых содержит заголовки, а второй — HTML-копию сгенерированной страницы. Ошибка 304. Данная ошибка возникает тогда, когда страница не была изменена со времени прошлого запроса. Включать обязательно. Будет отдавать 304 заголовок повторно зашедшему пользователю, если страница не изменилась, что означает, что его браузер не будет выкачивать страницу с сервера, а воспользуется сохранённой локально копией, что очень полезно и эффективно.
Считать известных пользователей анонимными, чтобы и им отдавать супер-кешированные файлы.Если включен режим Эксперт , то есть в работе используется mod_rewrite , то этот пункт будет неактивным, ибо включен по умолчанию.
Если отметить, все пользователи, о которых Worpdress знает (авторизованные, прокомментировавшие), будут считаться анонимными и получать данные из кеша наравне со всеми. Я считаю, что лучше отключить, как правило, их не так уж их и много, а проблемы могут возникать. Но если аудитория сайта состоит, в основном, из авторизованных пользователей, и таковой функционал понадобится, то лучше воспользоваться или чем-то более подходящим. Авто перестройка кэша. Гости блога увидят устаревшие версии страниц кэша пока новые будут генерироваться
Включать, полезный функционал. Гордо заявить миру что ваш сервер может принять любую нагрузку (поместит сообщение в подвал сайта)
Включить динамическое кеширование. Требует «PHP» или упрощенного режима кеширования. (Смотрите ЧаВо или код примера в wp-super-cache/plugins/dynamic-cache-test.php).
Отключать. Эта опция будет полезна тем, кто изменяет код шаблонов, вставляя в них динамическое содержимое. Он работает, исполняя динамический код на странице перед тем, как выдать её браузеру пользователя.
На пример такого шаблона можно посмотреть тут /wp-content/plugins/wp-super-cache/plugins/dynamic-cache-test.php
Поддержка мобильных устройств. (Требуется внешний плагин или тема. Смотрите ЧаВо для дополнительной информации)
Отключить. В наш век адаптивного дизайна вопрос становится неактуальным. Включите, если же ваша тема подразумевает отдельную выдачу для мобильных, либо вы пользуетесь одним из следующих плагинов:
Когда все пункты пройдены, сохраняем их.
Если вы выбрали способ кеширования mod_rewrite
, то плагин потребует обновить .htaccess
Прокручиваем страницу вниз и обновляем
Теперь нужно настроить правила очистки устаревшего кеша
Также, вы можеет поставить 0, и тогда старый кеш не будет очищаться. Это может быть полезным, скажем, если Вы стремитесь к тому, чтобы дата создания страницы соответствовала дате создания её закешированной копии. Однако, помните, что если Вы вносите изменения в дизайн сайта, либо устанавливаете новый плагин, который вносит в изменения в дизайн страницы, изменения не будут приняты, пока кеш не будет очищен. Я лично рекомендую не обнулять очистку кеша, а ставить время жизни кеша побольше.
Чтобы запретить плагину кэшировать запросы от поисковых ботов и других сетевых роботов, введите их названия в поле ниже (по одному в строке). Если копия страницы уже существует в кэше Super Cache, то она все равно будет отправлена боту.
Стираем и оставляем поле пустым, сохраняем.
Несущественны, поэтому оставляете как есть.
Этот раздел важен в свете того, что Google и другие поисковые системы теперь учитывают скорость загрузки страниц как один из факторов ранжирования сайта в поиске.
Обычно, WP Super Cache создаёт кеш только той страницы, которую кто-то посетил. И это, по сути, правильно. Но что, если этим кто-то является бот поисковика? Никакого положительного эффекта от кеширующего плагина он не увидит. И раздел настроек Общий кеш
позволяет избежать этого недоразумения, предсоздавая закешированные копии всех страниц сайта ещё до их посещения кем-либо.
wget -r -l 3 -nd --wait=5 --delete-after http://example.comТакую конструкцию можно отправить в :
- В консоль пишем crontab -e
- Конструкция ниже обходит сайт каждый час, поддерживая страничный кеш свежим: 0 * * * * wget -r -l 3 -nd --wait=5 --delete-after http://example.com
Раздел хорошо описан на русском языке, поэтому распишу только основные настройки:
Теперь сохраняете данные или создаёте кеш прямо сейчас.
Общий объём кеша будет зависеть от количества записей, страниц, рубрик (категорий), меток (тегов). Дисковое пространство — это, как правило, самый дешёвый и легко масштабируемый ресурс на хостинге и сервере, и если у вас не сильно посещаемый проект (до 10-20 тысяч уникальных пользователей в сутки), а страничный кеш выходит большим, то вы вполне можете брать обычный дешёвый жёсткий диск hdd, на честном хостинге разницу с ssd вряд ли заметите, зато сэкономите бюджет. Если больше, hdd тоже будет хорошо себя показывать, но тут я бы порекомендовал посоветоваться с системными администраторами на предмет оптимизации сервера, либо написать мне .
На этом необходимый минимум по настройке WP Super Cache завершён. Далее будет идти информация для продвинутых вебмастеров и системных администраторов, а также некоторая информация, касаемо часто возникающих вопросов.
Если у вас магазин на основе WooCommerce, и вы хотите использовать WP Super Cache, то вам нужно исключить следующие страницы из процесса кеширования:
Это можно сделать в разделе Расширенные example.com/wp-admin/options-general.php?page=wpsupercache&tab=settings , просто отметив Страницы (is_page)
Такой вариант подойдёт, если у вас мало записей в Страницах. Если же их много, то лучше не отмечать Страницы (is_page) , а добавить части адресов служебных страниц в раздел чуть ниже, как на примере
Добавляем служебные страницы WooCommerce в список исключений
Вы можете самостоятельно проверить, как работает плагин, довольно просто.
Для начала, открываете браузер в режиме инкогнито или в приватном режиме. Для Firefox это делается с помощью Ctrl + Shift + P , для Google Chrome
или Яндекс Браузера
— Ctrl + Shift + N .
Теперь откройте исходный код страницы (Ctrl + U) и посмотрите в самый конец, там вы увидите примерно следующее
Это отметка, сколько времени собиралась страница и в какие дату и время это произошло.
Если вы заглянете в исходный код страницы под админом, то увидите что-то навроде
Тут есть только отметка, сколько времени генерировалась страница, и замечание, что для авторизованных пользователей страница отдаётся не из кеша, а создаётся на лету.
Если этих меток нет, значит вы сделали что-то не так, и плагин не работает. Вернитесь к началу настройки и пройдитесь по основным пунктам, возможно, вы что-то упустили.
Для этого, жмёте F12 , откроется консоль, там вы переходите в раздел Network
— Doc
или Сеть
— HTML
и перезагружаете страницу (Ctrl + F5). По завершению, ищете верхнюю строчку и время отклика, оно должно занимать в норме 100-300 миллисекунд или 0.1-0.3 секунды. Может и больше, если ваш хостинг в США, а вы в России, континентальную удалённость нужно учитывать. Но вообще, чем меньше это значение, тем лучше.
Ради интереса можете временно выключить WP Super Cache и сравнить значения до и после установки плагина.
И ещё маленький совет — кеш браузера иногда будет путать вас, поэтому полностью сбрасывайте его с помощью Ctrl + F5 , а лучше тестируйте работу плагина и сайта в режиме инкогнито браузера.
Итак, плагин у нас установлен и настроен правильно. Как проверить правильность работы рассказано выше, а теперь перейдём к настройке сервера. Это будет актуальным, если у вас собственный VDS/VPS или выделенный сервер.
Этот пункт касается тех, у кого сервер настроен в режиме работы LAMP (Linux, Apache, Mysql, PHP). Если во фронтенде или в роли основного вебсервера установлен NGINX, советую перейти к разделу ниже
Если вы дошли до этого пункта и выбрали в настройках плагина режим mod_rewrite , то по сути ничего делать и не нужно. Но, в целях оптимизации работы (.htaccess загружается каждый раз при загрузке сайта, apache2.conf только 1 раз во время рестарта сервера), или если обработка правил.htaccess на вашем сервере отключена, вы можете скопировать данные из.htaccess и перенести их в конфигурационный файл, где объявляются настройки вашего сайта (например, в Debian он может располагаться в /etc/apache2/vhosts/сайт.conf).
# BEGIN WPSuperCache
Пример конфигурационного файла . Вы можете вставить в него код из.htaccess
#user "example" virtual host "example.com" configuration file
Итак, у вас свой виртуальный или выделенный сервер, и вам хочется, чтобы WP Super Cache выжимал по максимуму. Но, из коробки этот плагин предлагает настройки только под php и htaccess . И здесь я опишу, как можно настроить конфигурационный файл NGINX под оптимальную работу с WP Super Cache. Это может пригодиться, скажем, если у вас сервер собран в виде LEMP (Linux, NGINX (EngineX), Mysql, PHP), и вместо в бекенде php-fpm .
Хочу заметить, что в данной конфигурации кеш NGINX включать не нужно, так как NGINX будет брать статичные страницы из кеша WP Super Cache напрямую, минуя интерпретатор PHP. И, на мой взгляд, удобнее именно эта конфигурация, так как управлять кешем из админпанели WordPress удобнее, нежели чем из консоли кешем NGINX.
Если для сайта включен кеш NGINX, и отключить его нельзя, то плагин WP Super Cache лучше не использовать, так как увеличения производительности Вы не заметите, а двойное кеширование будет только мешать.
WooCommerce и другие подобные плагины, которые используют переменные GET в URL, требуют, чтобы при обработке PHP передавались параметры $args:
Try_files $wpsupercache $uri $uri/ /index.php?$args
Однако, WP Super Cache может работать неправильно при использовании /index.php?$args .
В таком случае, могу посоветовать выбрать другой кеширующий плагин, например, W3 Total Cache.
В примере будет 3 варианта конфигурации, в зависимости от режима работы WordPress: обычный сайт, WordPress Multisite с сайтами в подкаталогах и WordPress Multisite с сайтами на поддоменах. По умолчанию, включен первый режим. Если у вас Miultisite, просто раскомментируйте нужные строчки.
Ниже пример конфигурационного файла + php-fpm с возможностью заменить бекенд на с комментариями:
### user "example" virtual host "example.?p=1915 server { ### Если Multisite поддомены, для domain mapping замените строку ниже на: server_name example.com *.example.com; server_name example.com www.example.com; ### Если Multisite поддомены, раскомментируйте строку ниже для domain mapping #server_name_in_redirect off; ### Если Multisite поддомены, для domain mapping замените строку ниже на: listen 80 default_server; listen 1.2.3.4:80; # Укажите вместо 1.2.3.4 IP своего сервера charset UTF-8; disable_symlinks if_not_owner from=$root_path; index index.html index.php; root $root_path; set $root_path /var/www/example/data/www/example.com; access_log /var/log/example.com.access.log ; error_log /var/log/example.com.error.log warn; #error_log /var/log/example.com.debug.error.log debug; include /etc/nginx/vhosts-includes/*.conf; ### Если gzip не включен глобально, включим его тут # gzip on; # gzip_disable "msie6"; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; ### Разрешаем доступ для Let"s Encrypt location ~ /\.well-known { allow all; } ### Запрещаем доступ к файлам и каталогам с точкой в начале названия, например, .htaccess, .git location ~ /\. { deny all; } ### Запрещаем доступ к файлам с расширением.php в каталогах загрузок, например, /wp-content/uploads location ~* /(?:uploads|languages|files)/.*\.php$ { deny all; } ### Если Multisite в режиме подкаталогов, например http://example.com/wpsubsite/, просто раскоментируйте блок ниже ### #if (!-e $request_filename) { # rewrite /wp-admin$ $scheme://$host$uri/ permanent; # rewrite ^(/[^/]+)?(/wp-.*) $2 last; # rewrite ^(/[^/]+)?(/.*\.php) $2 last; #} ### Устанавливаем новую переменную $cache_uri, которой присваиваем запрос из предустановленной переменной $request_uri set $cache_uri $request_uri; ### POST запросы не кешируются if ($request_method = POST) { set $cache_uri "null cache"; } ### Запросы с параметрами в URL не кешируются if ($query_string != "") { set $cache_uri "null cache"; } ### Не кешировать запросы URL, содержащие следующие части (как правило, админка и служебные, sitemap yoast) 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|+-sitemap(+)?.xml)") { set $cache_uri "null cache"; } ### Не использовать кеш для авторизованных пользователей и последних комментаторов if ($http_cookie ~* "comment_author|wordpress_+|wp-postpass|wordpress_logged_in") { set $cache_uri "null cache"; } ### фавикон не логировать location = /favicon.ico { log_not_found off; access_log off; } ### robots.txt может генерироваться движком WordPress location = /robots.txt { try_files $uri /index.php; } ### Определим расположение кеша # ${http_host}${cache_uri} может не содержать слеша, потому что ${cache_uri} уже может начинаться со слеша. У вас может быть иначе. Проверьте с помощью add_header set $wpsupercache /wp-content/cache/supercache/${http_host}/${cache_uri}/index.html; ### Ещё будем пробовать искать версию для https set $wpsupercache_ssl /wp-content/cache/supercache/${http_host}/${cache_uri}/index-https.html; ### Если у вас сайт на SSL/TLS, то есть, работает по HTTPS, то вместо index.html у вас будут генерироваться index-https.html if ($scheme = "https") { set $wpsupercache /wp-content/cache/supercache/${http_host}/${cache_uri}/index-https.html; } ### Проверочный заголовок, если раскомментируете, увидите, что располагается в переменной $wpsupercache #add_header X-wpsc "$wpsupercache" always; ### Можно отлавливать переменные в заголовках. Подробнее http://сайт/nginx # add_header X-uri "$uri" always; # add_header X-cache-uri "$cache_uri" always; # add_header X-$http_host "$http_host" always; ### Переходим к работе с бекендом ### ### Ниже будут 2 варианта настройки, php5-fpm и Apache. #### ### По умолчанию, всё настроено под первый вариант. ### ### Чтобы включить Apache, закомментируйте всё, что идёт ниже до блока Apache ### ### 1. PHP-FPM ### # Статичные файлы не логируем, выставляем http заголовок Expires на год location ~* ^.+\.(jpe?g|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|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 365d; log_not_found off; access_log off; } # Основной запрос, в котором мы пытаемся сначала получить закешированную версию страницы # Если кеша нет, тогда отправляемся к WordPress, чтобы он его нам создал location / { try_files $wpsupercache $wpsupercache_ssl $uri $uri/ /index.php?$args ; } # Наш бекенд - php-fpm location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param SERVER_NAME $http_host; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # Тут, в зависимости от того, как установлен FastCGI, выбирайте или TCP, или сокет # TCP #fastcgi_pass 127.0.0.1:9000; # Сокет fastcgi_pass unix:/var/www/php5-fpm/example.com.sock; # Тут укажите путь до сокета php-fpm конкретного пользователя или сайта } ### 2. Apache. Если у вас в бекенде Apache, расскоментируйте всё, что ниже закомментировано одинарной решёткой, и закомментируйте всё, что выше до блока 1.PHP-FPM ### ### Статичные файлы не логируем, выставляем http заголовок Expires на год #location ~* ^.+\.(jpe?g|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|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 365d; log_not_found off; access_log off; # try_files $uri $uri/ @apache ; #} #location / { # try_files $wpsupercache $uri @apache ; #} ### php скрипты отправляем сразу в бекенд #location ~ [^/]\.ph(p\d*|tml)$ { # try_files /does_not_exists @apache; #} ### Отправляем запросы к бекенду (Apache или php-fpm) ### Если у вас в бекенде Apache, раскомментируйте блок ниже #location @apache { ### Apache ### #proxy_pass http://127.0.0.1:8080; #proxy_redirect http://127.0.0.1:8080 /; #proxy_set_header Host $host; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_set_header X-Forwarded-Proto $scheme; #} }
Учтите, что Apache тут висит на порту 8080
Перезагружаем NGINX
Nginx -t && nginx -s reload
Допустим, Вы хотите проверить страницу http://example.com/mypage , правильно ли видит NGINX её расположение в кеше. Для этого надо:
Порой возникают небольшие проблемы, которые довольно просто решаются
:
A2enmod headers && a2enmod expires
Потом перезагружаете Апач
Service apache2 restart
Убедитесь, что вы нажимаете именно на кнопку Создать общий кеш сейчас . Через 10 секунд перезагрузите страницу, вы увидите процесс создания кеша. Заодно проверьте каталог /wp-content/cache/supercache/имя_домена/структура_сайта/
Если кеш всё равно не создаётся, и у вас простой хостинг — напишите в службу поддержки, они помогут решить вопрос.
Если у вас свой сервер или vps/vds, и кеш не создаётся, проверьте, есть ли у WordPress права писать в каталог /wp-content/cache/ . Это можно сделать, скажем, с помощью Far Manager :
Периодически возникает необходимость подчистить кеш. Допустим, вы внесли изменения в рабочий код сайта и хотите, чтобы они немедленно вступили в силу.
Для этого есть 3 варианта
Не забудьте сбросить кеш браузера, например, Ctrl + F5 для конкретной страницы во фронтенде или Ctrl + Shift + Delete для Google Chrome
Плагин удаляется так же, как и любой другой — через панель управления http://example.com/wp-admin/plugins.php , деактивацию плагина и его последующего удаления.
Учтите, что даже простая деактивация плагина удаляет его кеш и сбрасывает все настройки на начальные, поэтому после повторной активации вам придётся проводить настройку заново
Если хотите удалить его вручную:
Меня часто спрашивают, какой плагин лучше выбрать, W3 Total Cache или WP Super Cache? Отвечу по пунктам:
Выбирайте WP Super Cache, если:
Пользуйтесь плагинами страничного кеширования в WordPress, даже если ваш сайт малопосещаемый, возможно, это поможет ему ранжироваться выше.
WP Super Cache
— самый простой, проверенный и распространённый инструмент из подобных, который при должной настройке сможет удерживать работоспособным любой нагруженный проект на WordPress даже при внезапных всплесках посещаемости.
Настройки оказались не совсем такими, какие я находила в сети. Отзывы тоже были очень различными. Были отзывы и отрицательные. Говорили, что его приходится отключать, так как он не дает произвести изменения в дизайне. Что впоследствии и подтвердилось. При изменении дизайна лучше его отключить, так как он не даст, сколько бы вы не чистили историю в браузере.
Мне не показалось это слишком большой ценой за возможность значительно снизить время загрузки страниц. При настройке плагина я руководствовалась рекомендациями сотрудников Спритхост.ру, которые не меньше меня заинтересованы в том, чтобы уменьшить время загрузки моего сайта. Этот показатель удалось вставить в приемлемые рамки.
Установка плагина WP Super Cache и его настройки стали завершающим этапом в серии методов по оптимизации сайта.
Сначала, в двух словах, почему так важен этот показатель – скорость загрузки сайта.
Сначала я сама заметила, что мой сайт стал дольше грузиться при открывании. А при публикации статьи, вообще, можно было пойти попить чайку. Потом стали на почту поступать письма от постоянных посетителей, с которыми сложились дружеские отношения. Писали, что у меня стал подтормаживать сайт.
При анализе сайтов первой десятки в выдаче обнаружилось, что там преобладают сайты с небольшим весом и быстрой загрузкой страниц.
Пришлось озаботиться измерениями скорости загрузки своего сайта. Разные ресурсы показывали разное время — от 3 сек до 12 сек. Один анализаторский ресурс вообще нарисовал мне цифру в 3 минуты.
В полном обалдении, написала в техподдержку Спринтхоста. Там работают прекрасные специалисты. А, главное, никогда не говорят, что вопрос не в их компетенции – помогают и объясняют, не выказывая недовольства вопросами «чайников».
Сотрудники хоста поделились со мной своим способом измерения скорости загрузки сайта:
Комбинация клавиш в браузере Гугл Хром Shift +Ctrl +i.
В таблице будет видно, сколько времени занимает загрузка страницы сайта, каждого плагина и картинок на странице.
У меня все было очень печально. Скорость загрузки сайта была почти 11 сек.
Пришлось принимать меры.
Зачем он нужен Плагин WP Super Cache служит для создания кешей (временных копий) страниц сайта.
Вообще кеш – это мусор, ненужные копии наших страниц, которые сайту только вредят, но в нашем случае – это благо.
На определенное время, которое вы сами зададите, кеши сохраняются и нет лишних запросов к базе данных на хосте. Что значительно увеличивает время загрузки страницы. После назначенного вами временнОго отрезка в настройках плагина, все кеши благополучно удаляются.
Все меры в комплексе помогли сократить критичный показатель и теперь время загрузки моего сайта от полутора до двух с половиной секунд. Что и требовалось доказать.
Можно было уменьшить еще, но я выбрала золотую середину и сохранила некоторые плагины, требующие обращения к базе данных на хосте, точнее к папкам, где живут изображения. Чтобы совсем уж не оголять сайт.
Установить плагин WP Super Cache труда не составляет. Он есть в респозитории плагинов WordPress. Через поиск плагинов в админке, установить, активировать – все обычным порядком.
Первая вкладка — просто включаем плагин в работу.
Вторая вкладка — длинная. Пришлось разбить ее на части.
Собственно настройки плагина
Здесь нужно обратить внимание на время, указанное в полях. Это время секунд в сутках.
Привет! Не смотря на командировку на оффлайн работе я стараюсь по возможности уделять время своему блогу и сегодня хочу поговорить о том, какую роль в ранжировании запросов в выдаче имеет значение скорость загрузки страниц, покажу как настроить плагин WP Super Cache, тем самым запустив кэширование на сайте.
Уже тысячи раз перетиралось на форумах, блогах, информационных сайтах, вебинарах и даже в рекомендациях от поисковиков, что все страницы, которые посещают роботы и люди, должны загружаться удовлетворительно быстро. Конечно же, точных цифр по времени никто не назовет, но в моем понимании, чем быстрее, тем лучше.
Представьте, что вы по средствам поиска захотели перейти на один из сайтов, кликнули на его привлекательный , но вместо желаемого перед вами предстал белый экран с индикацией загрузки.
Если очень надо то можно и подождать пока появится страница, но уверен в 50% случаев пользователь ее закроет и вернется обратно в поиск. Тоже самое происходит, когда на ресурс переходят роботы или асессоры и как результат не подобаемая скорость работы сайта может плачевно повлиять на его позиции в ТОПе, ведь какой с него там толк, когда статьи все равно не сможет прочитать пользователь.
Вот чтобы такого не было, практически все вебмастера стараются оптимизировать по максимуму площадки не только в плане релевантности, метатегов, плотности ключевых слов, но и их быстрой загрузки.
Я уже не раз поднимал в прошлых статьях тему, как ускорить работу блога за счет плагинов и базы данных:
Этой статьей я хочу продолжить начатую ранее тему кэширования страниц, дабы снизить нагрузку на виртуальных хостинг, который используется для работы площадки.
Кстати этот метод я также применил к сезонному сайту, который попал , но пару апдейтов назад успешно из него вышел, кто знает, может это тоже повлияло на возвращение его в индекс Яндекса.
Сегодня далеко не все понимают, о чем идет речь, и на авось засоряют сайты всеми возможными модулями, не задумываясь, не установлено ли чего лишнего.
Так вот кэширование данных это один из способов сохранить копии страниц в определенном месте сайта и когда посетитель будет переходить на такие посты, то они ему будут подгружаться без запросов к базе данных, а из папки кэша, что дополнительно снизит нагрузку на оперативную память сервера.
И ниже я продемонстрирую на подопытном сайте, как за счет правильных настроек WP Super Cache легко повлиять на скорость загрузки данной площадки.
Итак, первым делом нам надо скачать плагин WP Super Cache, установить и активировать его работу на wordpress сайте, для этого воспользуйтесь этой ссылкой .
После того как вы активировали плагин его надо включить, для чего переходим в «Настройки» далее «WP Super Cache» и отмечаем пункт «Кэширование включено (Рекомендовано)» во вкладке «Кэш» и нажимает «Обновить».
Теперь можно проверить работу кэширования для чего жмем «Проверить».
Если вы видите, что-то похожее у себя значит все работает как надо и можно переходить к следующему этапу, в котором достаточно будет немного подкорректировать работу данного модуля.
Если присмотреться к панели управления плагином, то можно заметить, что его настройки состоят из следующих вкладок: Кэш, Настройки, Настройка CDN, Состояние кэша, Общий кэш, Плагины и Обслуживание.
Ниже я постараюсь более детально со всеми ними вас ознакомить, так как там можно найти много полезного.
Кэш
Эта вкладка, как было отмечено раньше отвечает за включение самого кэширования, проверки его работы, а также удаления ранее сохраненных из него страниц.
Настройки
Один из важных пунктов, так как здесь надо выбрать каким образом будет определяться процесс кэширования. Как показывает практика, наиболее быстро это происходит, если выбрать mod_rewrite .
Теперь надо разобраться со сжатием файлов, которое предназначено для автоматической чистки временного кэша, что весьма уместно на сайтах с частным обновлением. Для этого отметьте соответствующую строку, но если вдруг возникнет конфликт в работе плагина с сервером, тогда стоит вернуть все обратно.
Для тех, кто является администратором сайта, то есть залогинен в админке, можно отключить кэширование, дабы показывались действительные страницы площадки, очень удобная опция.
После внесения изменений надо нажать кнопку «Обновить» после чего должно появиться сообщение, что требуется «Обновить правила Mod_Rewrite» для чего спускаемся вниз страницы и жмем соответствующую кнопку.
Если настройки плагина успешно сохранены, вы увидите, как цвет фона сменится с желтого на зелены.
В этой области мы задаем время жизни кэша, после чего он будет автоматически очищаться. Все зависит от того, как часто на сайте обновляется информация, например я в среднем пишу статьи раз в 4 дня, поэтому установил значение в 345600 секунд (60 секунд * 60 минут * 24 часа * 4 дня = 345600 секунд).
А можно пойти по другому пути и установить во все поля значение ноль, чтобы кэш вообще не удалялся, чем больше страниц будет закэшировано, тем быстрее они будут загружаться.
Что мне еще понравилось в опциях WP Super Cache, так это возможность указать какие страницы не стоит подвергать кэшированию.
Прямое кэширование страниц . Благодаря этой настройке плагин позволяет указывать конкретную страницу, которую нужно добавить в кэш.
https: //сайт/wordpress/kak-nastroit-wp-super-cache.html |
https://сайт/wordpress/kak-nastroit-wp-super-cache.html
Будет полезно в том случае, когда вы ожидаете, большой приток посетителей на страницу, например вы делаете рассылку своим подписчикам о выходе новой статьи.
На этой вкладке будет отображаться статистика количества кэшированных страниц, для чего стоит нажать ссылку «Обновить статистику».
Если вы вдруг внесли какие-то коррективы в структуру сайта, например, убрали виджет или изменили баннер на страницах, тогда можно очистить кэшированные страницы в ручную, нажмите кнопку «Удалить весь кэш».
Общий кэш
На этой вкладке у пользователя появится возможность закэшировать не определенную страницу, а весь сайт целиком, то есть каждая запись занесется в папку кэша.
Теперь я хочу провести небольшой эксперимент. Давайте протестируем сайт на скорость загрузки страниц с помощью специальных сервисов — сначала без плагина, а потом с установленным плагином кэширования и сравним результаты.
Скорость сайта я буду проверять сервисами: pr-cy.ru/speed_test и webwait.
Значения когда не стоит WP Super Cache
Показания в pr-cy.ru
Для главной страницы:
Для внутренней страницы:
Показания в webwait.com
Для главной страницы:
Для внутренней страницы:
Когда был установлен и настроен плагин
Показания в pr-cy.ru
Для главной:
Для внутренней:
Показания в webwait.com
Для главной:
Для внутренней:
Как видите, результат работы плагина очень даже неплохой и на его стоит обратить внимание. Возможно это и не самое лучшее решение по ускорению работы площадки, но отказываться от того что предоставлено в открытом для всех доступе явно не стоит, тем более что настройка WP Super Cache под силу даже новичку, ведь там нет ничего сложного.
Немного новостей...
По итогам прошлого месяца больше всех комментариев на блоге оставила Юлия (int-net-partner.ru ), но она не превысила порог минимального их числа, поэтому победитель не был определен.
Внимательно читайте условия конкурса « » и выигрывайте ценные призы.
На сегодня у меня все, буду рад узнать в комментариях, какими способами вы ускоряете свои блоги. До скорых встреч!
Привет друзья, сегодня остановимся на настройках плагина для кэшировании — WP Super Cache. В мире, где нормальной считается скорость Интернета, превышающая 2 мб, любому сайту критически важно работать на предельной скорости загрузки. Считается, что секундная задержка при загрузке страниц сайта способна привести к 30% потерям в бизнесе. Поисковые системы, особенно Google, любят быстро загружающиеся сайты.
А ведь, правда, чем быстрее загружается сайт и следовательно, меньше времени тратиться на загрузку любой отдельной страницы, тем на более высокое место в выдаче поисковых результатов (SERP) попадают страницы такого сайта. Кроме того, это общеизвестный факт, что всем нужен быстрый сайт.
Один из лучших способов разогнать WordPress-сайт – это использовать кэширование. В этой инструкции мы включим WordPress-кэширование, используя плагин WP Super Cache. В качестве бонуса инструкция о том как устанавливать MaxCDN (невероятно популярная и добротная система доставки контента) с WP Super Cache.
Если вы совсем новичок в WordPress, то специально для вас небольшое введение в кэширование, так как для дальнейшего освоения этой темы, необходимо иметь прочный соответствующий фундамент
Кэширование – это, если объяснять совсем просто, сохранение информации в клиентском веб-браузере, вместо ее доставки с сервера в качестве ответа на каждый запрос. Для примера, возьмем фоновое изображение на вашем блоге. Страниц у вас множество, но для каждой из них используется одно и тоже фоновое изображение.
Если бы при каждой загрузке новой страницы, с сервера каждый раз доставлялась свежая копия фонового изображения, то это привело бы к чрезмерному росту трафика, и, как следствие, увеличению времени загрузки страниц. И в результате вы просто будете тратить время и ресурсы впустую.
Что если бы вы могли сохранить фоновое изображение во временной папке пользовательского девайса? Каждый раз, когда появляется необходимость отобразить изображение, то оно берется из временного хранилища или «кэша». Кэш, известный также как кэш браузера, поддерживается всеми устройствами, будь то, смартфон, планшет или ноутбук.
Идея повторного использования уже полученной информации и называется кэшированием. Конечно, здесь играют роль и другие факторы, такие как истечение срока кэширования, объекты, которые не затрагиваются кэшированием и т. п. – но здесь дано именно простое объяснение, необходимое для данной инструкции.
WP Super Cache был разработан Automattic, командой создавшей нашу любимую WordPress.
Устанавливать плагин лучше всего прямо в консоли WordPress, ведь это очень быстро.
Идем в консоль WP > Плагины > Добавить новый
Пользуясь поискам, ищем «WP Super Cache». Первый результат в списке это то, что нам нужно. Заметьте, что автор плагина Automattic — подтверждение того, что плагин — тот самый. Кликаем Install Now (Установить сейчас). После установки, активируем плагин
Так как плагин WP Super Cache создан лучшими WP разработчиками, мы можем быть точно уверенны в одном – в его простоте.
Активировав в плагин в первый раз, вы увидите желтый прямоугольник с уведомлением наверху. Предупреждение должно появиться после первой активации. Это значит, что функции WP Super Cache еще не активированы. Просто кликните на Update Status (Обновить) , чтоб проверить пропало ли сообщение.
Если права на файлы и папки в WordPress директории находятся в своих дефолтных значениях, то никакой ошибки не выскочит. В случае, если ошибка все же появилась, свяжитесь со своим хостинг-провайдером и исправьте ошибку, чтоб можно было продолжить.
Сейчас мы активируем функции кэширования WP Super Cache. Просто кликаем на Caching On (Кэширование включено) , а потом на — Update Status (Обновить) . Это действие активирует дефолтные настройки, и так как все уже настроено на бесперебойную работу с большинством хостингов, то проблем с совместимостью быть не должно.
Включив кэширование, вы теперь можете проверить насколько правильно, работает плагин. Просто кликните на on Test Cache (Проверить) и вы получите такое сообщение как на скриншоте выше отмеченное зеленым. Это значит, что кэширование на 100% функционально на вашем сайте.
Вообще говоря, перед установкой любого плагина кэширования новичкам рекомендуется сделать резервное копирование. Лишний бекап еще никогда не мешал. Двигаемся далее.
Теперь пришло время узнать, что нам способны дать продвинутые настройки плагина WP Super Cache.
Таб Advanced (Настройки) служит хранилищем для множества опций кэширования, некоторые из которых будут рассмотрены здесь.
Открыв Настройки, следует выбрать mod_rewrite , чтоб управляться с кэшированными файлами. mod_rewrite – это С-заголовочный файл, который говорит серверу, куда доставить кэшированные файлы. Можно оставить вариант PHP по умолчанию. Это уменьшит нагрузку на процессор, но ухудшит кэширование. Поэтому рекомендуется всё же переключится на mod_rewrite.
Чтоб сохранить настройки, кликам кнопочку Обновить . Теперь вы увидите большой желтый бокс с написанными на нем изменениями. WP Super Cache спросит вас, сохранить ли настройки в файле htaccess. Просто кликните на кнопочку Update Mod_Rewrite Rules (Обновить правила mod_rewrite) , чтоб сохранить изменения.
Если все хорошо, вы увидите зеленое сообщение, информирующее вас о том, что права в файле.htaccess успешно переписаны.
Активируем те, которые помечены как Recommended (Рекомендовано) .
Если вы хотите, чтоб известные пользователи (те, у которых есть аккаунты на вашем WordPress-сайте) получали кэшированные файлы, то поставьте галочку напротив — Не кэшировать страницы известных пользователей.
Для остальных пунктов поставьте галочки так, как это показано на скрине.
Теперь обратим внимание на раздел Настройки
Так как эта группа настроек крайне специфична и отвечает определенным требованиям некоторых сайтов и варьируется в зависимости от таких условий, как, например, конфигурация сервера, трафик сайта, содержимое информации; многие их не меняют, однако некоторые специалисты рекомендуют в разделе Настройки установить галочки как показано на скрине ниже.
И наконец, раздел — Просроченные страницы & Очистка мусора
В пункте Cache Timeout следует выставить значение не менее 3600 секунд. Можно увеличить например, до 50000, но и размер кеша на сервере при этом соответственно будет расти. Еще ниже установите в расписании интервал для очистки кеша.
Этот таб позволяет вам увидеть всю кэшируемую информацию, содержащуюся на вашем сайте. Вы можете вручную удалять кэшируемые файлы в этом табе. Это особенно полезно для тестовых нужд. WP Super Cache сохраняет файлы с истекшим сроком кэширования на вашем блоге. Наконец, вы также можете увидеть статистику КЭШа для большинства обновляемой информации ваших кэшируемых файлов.
Таб Preload – это что-то типа ручного переключатель WP Super Cache. Он позволяет вам кэшировать каждый отдельный пост или страницу прямо с первого дня. Хотя в самом начале этот процесс требует больших ресурсных затрат, все усилия окупятся в долгосрочной перспективе, когда поисковые роботы получат кэшированную версию сайта, которая всегда доставляется быстрее чем динамически сформированная.
С помощью WP Super Cache вы можете легко интегрировать CDN в ваш сайт. В случае с WP Super Cache, вам нужно настроить вашего CDN-провайдера и использовать pull request’ы для загрузки файлов с вашего сервера в инфраструктуру CDN.
Однако учтите, услуга эта платная с бесплатным периодом в 2 месяца, но обязательным указание рабочей кредитки. Создать свой аккаунт можно . Для тех кто все таки решил попробовать, инструкция ниже под катом. Рекомендации взяты с сайта wpkube.com
Зайдите в свою панель управления MaxCDN и выберете таб Zones. Таким образом, вы попадете на страницу the Pull Zones Overview. Кликните кнопку Create Pull Zone
В настройках Pull Zone введите информацию и убедитесь в том, что поле Origin Server URL содержит базовый URL без конечного слэша. Даже если установочная ссылка WordPress выглядит, как http://www.mycompany.com/blog/ то базовый URL всегда должен быть таким http://www.mycompany.com.
Кликаем Create, чтоб начать создание Pull Zone. Вы должны увидеть сообщение, сходное с тем, которое было показано выше.
Пройдет около 10 секунд, и вы получите сообщение-подтверждение, говорящее о том, что pull-зона создана.
Заходим в Панель управления MaxCDN > Overview > Zone Configuration и находим только что созданную Pull Zone.
Копируем CDN URL и добавляем к ней http://.
Вклеиваем полный URL (без закрывающего слэш) в поле Off-site URL, под CDN.
Затем прокручиваем страницу вверх и выбираем Enable CDN Support. Не меняем никаких настроек здесь. Просто кликаем на Save Changes, чтоб активировать CDN.
Наслаждаемся плюсами CDN
Использование сервиса CDN для ускорения сайта приводит к позитивным результатам:
Мы все любим быстрые сайты. В ближайшем будущем Интернет станет еще быстрее и лучше. Таким образом, использование кэширования на вашем WordPress сайте – это одна из первостепенных задач, которые необходимо выполнить.
Плагин WP Super Cache работает несколько менее эффективнее чем его ближайший конкурент — W3 Total Cache, но он имеет лучшую совместимость с плагинами и темами и гораздо проще настраивается. Как это сделать, вы теперь знаете.