Как сделать блог быстрее | Плагин WP Super Cache

Как сделать блог быстрее | Плагин WP Super Cache | n-wp.ru
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Если ваш блог сильно нагружен постоянным потоком посетителей, то снизить нагрузку на него можно с помощью кэширования динамических страниц. Это умеет плагин WP Super Cache. В самом WordPress уже заложены элементы кэширования динамических страниц, но они явно недостаточные. Этот же плагин позволяет ускорять работу блога в разы. Так как он на английском языке, то часто звучат вопросы, что там за пункты в настройках, какие галочки отмечать? Сейчас я кратко, но точно объясню, как использовать этот плагин.


После установки и активации включаем плагин на полную мощность.
tiaurus-0001
Второй пункт этой настройки включает обыкновенный кэш WordPress, который нас не интересует, а последний – отключает кэширование полностью. Последний режим нужен для того, чтобы отключать кэш на время тестирования какого-нибудь плагина.
Потом выставляем точные параметры:

  • Don’t cache pages for logged in users. Не кеширует страницы для залогиненых. Не понял, зачем это надо, поэтому и не включил.
  • Proudly tell the world your server is Digg proof! (places a message in your blog’s footer) – Плагин был разработан автором после того, как на его блог обрушилась лавина посетителей с Digg. Этот пункт позволяет избежать падения блога при Digg-эффекте, сигнализируя надписью в подвале. Нам он, наверное, не нужен.
  • Clear all cache files when a post or page is published. (This may significantly slow down saving of posts.) – Этот пункт обновляет весь кэш, когда публикуется пост или страница. Рекомендую выставлять, если у вас есть запланированные на будущее посты. Слегка замедляет публикацию, но не смертельно.
  • Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated. – Эта функция предоставляет кэш даже анонимным пользователям в то время, когда идет публикация или комментирование. Сомнительные возможности, лучше не включать.
  • Coarse file locking. You probably don’t need this but it may help if your server is underpowered. – Эта функция кэширует файлы, даже если к ним обращаются несколько посетителей одновременно, блокируя их. Может замедлить работу блога, поэтому не включаем.
  • Mobile device support. Plugin will enter «Half-On» mode. – Эта функция позволяет кешировать страницы блога для просмотра на мобильных устройствах. Однако для своей работы переводит весь режим кэширования в стандартный режим, от которого мы только что ушли. Думаю, что не надо включать.

Теперь о самом вкусном в плагине. Контроль над кешем всегда в ваших руках. Если вы хотите использовать новую тему или подключить новый виджет, то перед этим не забудьте очистить кэш.
tiaurus-0002
Но самая вкусность лежит в настройках сжатия. Страницы не просто кэшируются из динамических в статические, они еще и сжимаются, чтобы браузер их быстрее грузил.
tiaurus-0003
Обязательно включаем эту функцию, потому что сейчас все браузеры умеют работать со сжатыми страницами. Иногда отмечаются проблемы по вине хостеров, так как их программное обеспечение не умеет работать с такими файлами, но встречается такие уже крайне редко.
При активации плагина он может дописать в файл .htaccess новые правила для работы с кешем. Не пренебрегайте этой возможностью, сразу давая браузерам понять, что и откуда качать.
tiaurus-0004
По умолчанию кэширование происходит на 3600 секунд – этого вполне достаточно. Если у вас свое мнение на этот счет, то можете изменить этот промежуток времени, но я бы не советовал.
tiaurus-0005
Вы можете настроить список исключений, то есть тех мест блога, которые кэшировать не стоит. Но я бы не советовал это делать, если у вас не достаточно еще опыта, чтобы разобраться, почему это иногда стоит делать. У меня – не достаточно, поэтому я этот пункт не трогал.
tiaurus-0006
В плагине есть механизм блокирования некоторых агентов, например, поисковых роботов. Иногда их слишком много, поэтому некоторые и отрубают им возможность исследовать блог. Я бы не стал экспериментировать с этой настройкой, а то можно вообще отвадить поисковики ходить на ваш сайт за обновлениями.
tiaurus-0007
При очень сильной нагрузке на сервер можно принудительно запретить обновление уже всех закэшированных файлов, даже если с ними уже кто-то работает (например, активные комментаторы). Эта настройка помогает избежать зависания сайта.
tiaurus-0008
Что означает последняя настройка, я так и не понял,  и поиск в интернете не дал мне ответа. Поэтому не трогаем ее вообще, тем более, что там висит грозное предупреждение.
tiaurus-0010
Ну и если вы запутались в настройках, то сбросить их к дефолтным помогает одна кнопка в конце настроек.
tiaurus-0011
В самом конце есть несколько рычагов, помогающих некоторым плагинам дружить с супер-кэшированием. Если они у вас стоят, то есть резон воспользоваться этими рычагами.
tiaurus-0012
Все. Включаем и наслаждаемся скоростью.
С включенным плагином
tiaurus-0015
Без кэширования
tiaurus-0014
Прирост в скорости – 250%.
WP Super Cache: http://wordpress.org/extend/plugins/wp-super-cache/

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. Grawl

    а давай локализируем плагин?

    Ответить
  2. Для локализации нужно, чтобы плагин поддерживал многоязыковые конфигурации. Иначе придется локализовывать плагин каждый раз, когда будет выходить новая версия.

    Ответить
  3. Grawl

    тогда давай пнём разработчика.

    Ответить
  4. Grawl

    кстати, поделись кодом, которым ты выводишь то, что выделил на последних двух картинках.

    Ответить
  5. Мне кажется, что пинать разработчика не стоит. Не станет он переписывать плагин с нуля, чтобы внедрить в него модули локализации. Да и мой пост тогда лишится смысла :) .
    Кодом поделюсь вскоре. Следи за обновлениями.

    Ответить
  6. alexpts

    А плагин WP Super Cache разве не полностью страницы кеширует?

    Ответить
  7. dzutaro

    >Don’t cache pages for logged in users.
    >Не кеширует страницы для залогиненых.
    >Не понял, зачем это надо, поэтому и не включил.
    А что тут непонятного? Если эту опцию активировать, то анонимным (неавторизованным) пользователям будут показаны страницы, взятые из кэша, в то время как пользователям, прошедшим авторизацию, страницы будут генерироваться заново (т.о. авторизованному пользователю будут показаны наиболее актуальные версии страниц).

    Ответить
  8. Денис

    У меня получилось так, что на сервере нету сжатия, как его можно включить?

    Ответить
    1. Если у вас виртуальный хостинг, то нужно обратиться к вашему хостеру с просьбой включить серверное сжатие.

      Ответить
  9. Vladko

    Спасибо. Все сделал, сайт стал работать намного быстрее. Вот только на этом этапе есть загвоздка.

    Mod Rewrite rules cannot be updated!

    You must have BEGIN and END markers in /home/lvonet/public_html/.htaccess for the auto update to work. They look like this and surround the main WordPress mod_rewrite rules:
    # BEGIN WordPress
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress
    Refresh this page when you have updated your .htaccess file.

    Что посоветуете сделать? Я посмотрел, у меня получается нет вообще файла .htaccess, или он мне просто не виден.

    Ответить
    1. tiaurus

      Обязательно создайте файл .access (это простой текстовый файл в кодировке UTF-8) и пользуйтесь им. Поставьте на него права доступа CMOD 755. WP Super Cache записывает в него свои директивы для ускорения работы и кэширования (именно об этом он и говорит вам — мол, нет файла, в который я долже записать кое-что).
      Как минимум в этом файле должно быть записано:

      Options +Includes +FollowSymLinks -Indexes
      AddHandler server-parsed .shtml
      DirectoryIndex index.shtml index.htm index.php index.html
      AddDefaultCharset UTF-8
      CookieTracking on
      CookieExpires "1 years"
      
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>
      
      # END WordPress
      Ответить
  10. Vladko

    Сделать этот файл, и вписал в него, что вы предложили. Но тогда сайт вообще не открывается. Как будто такого сайта вообще нет.

    Ответить
    1. tiaurus

      Думаю, нужно обратиться к хостеру — пусть напишет, что должно быть в вашем файле. Такое бывает из-за разных платформ, на которых работает хостинг.
      В принципе, можно самому методом научного тыка попробовать: для начала создайте пустой файл .htaccess, а потом постепенно добавляйте в него по директиве. Начните с добавления одной строчки:

      AddDefaultCharset UTF-8

      Если все нормально, добавьте

      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>
      
      # END WordPress
      Ответить
  11. slykempt

    klklkl

    Ответить