При разработке собственного сайта мы всегда хотим снизить время загрузки до минимума, и многие сделали это уже почти спортом, стараясь выгадать хотя бы 1/10 секунды. Все мы знаем, насколько важно кэширование, но существует много способов обмануть самого себя, смотря только на оценку времени загрузки. Для проведения теста мы попытались найти несколько различных кэширующих плагинов и проверить их производительность.
Есть несколько способов улучшить производительность сайта и сократить время загрузки, но для большинства вебмастеров использование кэширующего плагина - не только один из самых простых, но и единственный способ, позволяющий достичь максимального результата.
WordPress (и большинство сайтов на CMS) динамически формируют страницы на лету, что требует многократных обращений к базе данных для получения различных частей контента. Кэширование этих динамически формируемых страниц позволяет пользователю видеть обычные HTML-страницы. Это значительно снижает время загрузки и разгружает сервер.
Для того, чтобы сделать тестируемый пустой сайт максимально приближенным к реальности, использовалась тема Novelty от Tesla Themes. Тестируемую страницу сайта оформили с использованием графики и текста, был добавлен сайдбар и некоторые плагины (вывод новостей, фид из Twitter/Instagram). Теперь у нас страница, загрузка которой занимает относительно много времени. Да, в качестве хостинга использовался вот этот WordPress хостинг .
Плагины, которые тестировались:
Brutal Cache - просто не работал;Batcache - плагин с зависимостью от Memcache, что не использовалось в текущем тесте.Autoptimize и Widget Cache также остались за бортом, поскольку они являются поддержкой для других плагинов, это не совсем самостоятельные плагины.
В качестве инструментов использовались сервисы, предлагаемые Google, GTMetrix и Yahoo. Благодаря этому стало возможным тестировать не только скорость загрузки страниц, но и другие факторы, среди которых:
При этом Google во время оценки не принимает во внимание CDN, поэтому в некоторых случаях оценка занижена.
Стоит отметить, что использование Nginx несколько снижает различие между работой сайта с плагинами/без плагинов. По этому поводу можно спорить, но в случае использования Nginx зафиксирована двукратная разница по сравнению с Apache.
Итак, с описанием всё, теперь приступим непосредственно к тестам.
Итак, лучшими плагинами оказались WP Fastest Cache, WP Super Cache и WP Rocket Cache. Победитель - WP Super Cache с работой через мобильный девайс. Кэширование для мобильных было также включено, о нём не забыли.
Тайминг - важный тест, поскольку здесь проводится реальное измерение скорости загрузки страниц сайтов.
Здесь мы видим, что Hyper Cache Ext, WP Fastest Cache, WP-Cache.com и WP Rocket улучшают результат на 300% по сравнению с работой без кэширования. WP Rocket - самый быстрый и WP-Cache.com занимает второе место.
Здесь очевидно проявляется преимущество использование плагинов кэширования - вы можете держать в три раза больше запросов. Используя Nginx, хороший плагин кэширования, и, может быть, что-то вроде Varnish, вы получаете сервер, который летает.
На втором месте - WP Super Cache . Здесь результаты почти такие же, как и у лидера.
На третьем месте - WP-cache.com , заслуженный призёр. Похоже на то, что над созданием этого плагина работали ничуть не менее способные разработчики, чем над WP-Rocket. Этот плагин очень прост в настройке, так что, если у вас нет желания заморачиваться с конфигурацией, рекомендуем именно его.
С егодня я предлагаю вам обсудить такую интересную тему как кэширование в wordpress. Первым делом нужно уточнить что такое кэширование и зачем оно нужно? Каждому блоггеру и вебмастеру справедливо хочется чтобы его блог или сайт работал быстро. Как известно WP не обладает рекордно высокой производительность, поэтому зачастую даже хороший хостинг не способен этого компенсировать. А уж если у вас «тяжелый» контент, да еще и высокая посещаемость, дело может быть вообще беда. В любом случае есть возможность ускорить блог почему бы этого не сделать?
Д вижок WordPress, как уже было сказано выше тяжеловат по своей природе. Все дело в его «динамичности». В отличие от «статичных» платформ WP работает на PHP, который и совершает многочисленные запросы к базам данный, за счет чего собственно и формируется содержимое. К счастью, существует технология способная существенно ускорить процесс, называется она кэширование.
Принцип кэширования в своей основе достаточно прост. Обычно все сводится к тому что тот или иной плагин генерирует из динамических страниц статические, выдавая их в последствие посетителю. При этом серверу не приходится обрабатывать большую часть запросов, что существенно снижает нагрузку на сервер и увеличивает скорость. Теперь давайте переходить к делу. Какие существуют плагины для кэширования и какой из них выбрать? В этом нам поможет отличное исследование проведенное на Tutorial9, выдержку из результатов которого я хочу вам привести.
Как проводилось данное исследование? Для оценки производительности того или иного плагина использовался Apache Benchmark. Данный тест генерирует большое количество запросов, на основании чего формируется отчет о количестве обработанных сервером запросов в секунду и среднем времени передачи данных. Исходные данные: WordPress 2.9.1 на котором установлено несколько популярных плагинов - Akismet, All in SEO Pack и Google XML Sitemap. Количество трафика на тестовом блоге не велико, представлен смешанный контент - текстовый, изображения, электронные таблицы, java-скрипты. Для объективности каждое измерение повторялось несколько раз в сутки.
Я не буду приводить результаты тестирования всех плагинов, которые тестировались авторами Tutorial9, потому что смысл заострять внимание есть только на самых распространенных, ходовых и популярных плагинах. Итак, приступим:
Блог без активированных плагинов, показал следующие результаты:
Запросов в секунду - 13,96;
Время на каждый запрос - 716,58 мс;
Скорость передачи данных - 673,98 Кбит/сек
Как видите исходные данные не впечатляют. Давайте посмотрим что и как можно улучшить.
Популярный плагин WP-Cache продемонстрировал следующий результат:
Запросов в секунду - 109,59;
Время на каждый запрос - 91,25 мс;
Скорость передачи данных - 5307,00 Кбит/сек
Заметно лучше чем без кэширования. Результат превосходит блог без активированных плагинов в среднем на 685%. Замечу что WP-Cache - давно известный плагин, который исторически пользуется популярностью.
WP Super Cache в настоящее время пожалуй более популярен чем WP-Cache. Это легко объяснимо - WP Super Cache является доработанной версией WP-Cache. Помимо того что он быстрее, он и «умнее», то есть умеет больше чем предшественник. В частности его легче устанавливать и удалять, он умеет чистить за собой «мусор» после деактивации и так далее.
Что же касается скорости, результат получился следующий:
Запросов в секунду - 118,23;
Время на каждый запрос - 84,58 мс;
Скорость передачи данных - 5743,07 Кбит/сек
Результаты тестирования превосходят результаты WP-Cache. WP Super Cache в среднем быстрее блога без активированного кэширования в среднем на 747%. Отмечу еще одну особенность - если в WP Super Cache включена компрессия , он может быть даже медленнее блога без плагинов!
Hyper Cache - достаточно новый плагин, который еще не успел завоевать большой популярности. Тем не менее, показал в ходе тестирования отличный результат. Кроме того плагин отличается достаточно простой установкой и настройкой.
Результаты:
Запросов в секунду - 130,75;
Время на каждый запрос - 76,48 мс;
Скорость передачи данных - 6325,36 Кбит/сек
В среднем это лучше на 837% чем блог без плагинов.
Я не стал приводить в этой статье всех плагинов, потому что оптимальным выбором является один из рассмотренных выше. Если у вас есть время, желание и знания английского вы с легкостью можете изучить полные результаты исследвания сравнения плагинов wordpress для кэширования.
Лучший результат показал Hyper Cache , к тому же он обеспечивает хороший контроль над процессом. Вполне можно использовать WP-Cache или WP Super Cache. И тот и другой заметно повышают производительность. Кроме того они из когорты «старых добрых», проверенных поколениями, а значит неплохо поддерживаются. Надеюсь, эта статья помогла вам определиться с выбором плагина для кэширования. Дело за установкой!
Что касается меня, то я использую и для своих и для клиентских сайтов платный премиум плагин WP Rocket, ну и конечно серверное кэширование средствами Nginx или LiteSpeed
А какой плагин для кэширования wordpress используете вы и почему?
Привет, друзья!
Прошла уже неделя, как я покинула теплые страны, и очень хочется назад. Привезла с собой пару кг манго в память о тропиках, сегодня съела последнее, печаль. А зимы в этом году в Питере не было, вот и сейчас на улице дождь и слякоть. Как здорово, что у меня есть блог, в котором можно забыться и уйти от суровой реальности.
В статье речь пойдет об одном из плагинов для кэширования WordPress-блогов. Я расскажу, что такое кэширование, зачем оно нужно и как его настроить.
В первую очередь стоит сказать, что кэширование позволяет уменьшить размер сайта и ускорить его загрузку.
Браузеры понимают только страницы в формате HTML. Если со статичными сайтами всё просто — есть готовая страница, которая отдаётся всем, кто захотел её посмотреть, то с CMS всё сложнее. Сайт на WordPress подключен к базе данных, и каждый раз, когда посетитель обращается к какой-либо странице, система отправляет базе запрос. А что, если сотня пользователей одновременно запросит какую-нибудь страницу? Она ведь каждый раз будет генерироваться заново, что создаст большую (и, что главное, лишнюю) нагрузку на сервер. Значит, пользователи не смогут быстро получить доступ к нужной информации (а то и вовсе хостинг отключит сайт за высокую нагрузку). Кэширование решает эти проблемы.
Страницы кэшируются (сохраняются), и если изначально при запросе страницы она грузилась с нуля, кэшированная страница загрузится лишь один раз, а потом будет выдаваться в готовом виде всем, кто к ней обратится.
Если у вас блог на WordPress, кэширование в нём можно реализовать с помощью плагина. Выбор есть: это могут быть WP Super Cache, W3 Total Cache или Hyper Cache. Последний и будет разобран в статье ввиду своей простоты, практически переведённого на русский язык интерфейса и хороших показателей скорости работы.
Hyper Cache — действительно оптимальный плагин кэширования Вордпресс-блога. Здесь дело больше в эффективности: Hyper Cache показывает лучшие результаты в ускорении сайтов.
Но если всё же рассматривать разные варианты, подбирайте плагин кэширования для WordPress методом проб. Например, у плагина Hyper Cache была выявлена несовместимость с плагином, NoExternalLinks. Если же у вас нет проблем с совместимостью, то выберите плагин, максимально увеличивающий скорость загрузки.
Про установку плагинов было написано ни раз, но для новичков повторю еще раз. Есть два способа. Первый:
Второй проще.
Просто зайдите в панель управления в раздел «Плагины», нажмите “Добавить новый” и введите в строку поиска “Hyper Cache”. Затем нажмите на “Установить”, активируйте плагин.
Теперь плагин установлен, и его можно настраивать.
Перейдите в настройки плагина. Как сообщает плашка вверху, вы должны добавить строчку “define ("WP_CACHE", true);” в свой файл wp-config.php. Эта строка задаст переменной “WP_CACHE” значение “true” — разрешит кэширование.
Добавить строчку можно через визуальный редактор в панели управления вашего . Откройте расположенный в корне сайта wp-config.php и после строки WPLANG добавьте нужный код define("WP_CACHE", true);
Дальнейшая настройка плагина Hyper Cache производится только в панели управления сайтом.
Плагин частично переведён, но не полностью.
С переведёнными пунктами всё понятно (время кэширования страниц определяет промежуток времени, через который информация на страницах будет обновляться; “включить сжатие” позволяет дополнительно сжимать страницы), но пункты на английском тоже есть. Разобраться с ними сложнее, поэтому тут могут возникнуть вопросы.
Остальные поля на русский переведены.
В “Исключениях” вы можете выбрать, какие страницы кэшировать не следует. Можно исключать как конкретные, предложенные самим плагином страницы (главная, ошибка 404, лента комментариев), так и собственные — просто укажите URL, и Hyper Cache не будет кэшировать эту страницу.
Если вы показываете мобильным посетителям контент, отличный от компьютерных пользователей, во вкладке “Мобильный” следует выбрать “cache separately”. В противном случае из-за Hyper Cache мобильные пользователи увидят то же, что и компьютерные.
На этом настройка Hyper Cache в WordPress закончена. Посмотрите видео о данном плагине, если хотите получить больше информации:
Теперь вы знаете, как настроить плагин Hyper Cache. Он интуитивно понятный, с ним приятно работать, и надеюсь, с инструкцией выше у вас не возникнет проблем с его установкой. Помните о важности кэширования, ведь оно делает сайт быстрее, а это любят и пользователи, и поисковики.
Подбирать плагин кэширования в WordPress нужно осторожно. Проверяйте совместимость плагина с вашей версией WordPress: нередко новые версии плагинов не работают со старыми шаблонами WordPress и наоборот, старые аддоны не всегда поддерживают новые версии этого движка. Успехов!
P.S.
Как и обещала, расскажу еще немного о путешествии в тайскую провинцию Канчанабури. Это место обрело популярность после выхода американского фильма «Мост через реку Квай», его мы кстати посмотрели, находясь там. Прокатиться на поезде по железной дороге смерти, проходящей вдоль реки, было настоящим удовольствием, такие потрясающие виды там открываются.
А после я решила сплавиться по течению реки Квай, на глазах удивленных туристов (почему-то никому и в голову не приходило купаться в реке). Маленькая белая звездочка на воде — это я:)
Желаю вам не плыть по течению, а брать судьбу в свои руки и заниматься любимым делом, например, ведением блога:) Пока!
Очень долго я не касался темы кэширование wordpress , так как был уверен, что на моем виртуальном сервере с SDD дисками кэширование не так важно. Именно в этом меня убеждала служба поддержки хостинга. Хотя как убеждала, скорее предостерегала, вот моя переписка:
Я: - Скажите, при такой конфигурации сервера есть ли смысл делать кэширование плагинами на уровне wordpress?
Техподдержка: - Нужно смотреть по ситуации и нагрузки на сервер. Лучше такими плагинами не злоупотреблять , сервер у Вас на ssd дисковой подсистеме, что намного быстрее обычных дисков и кэширование может не принести ощутимых результатов.
И вот недавно я опять задал этот вопрос и получил немного другой ответ:
Я: - Здравствуйте! У меня периодически падает ngnix и база данных, перезапускаю их и все нормально. Происходит это раз в 1-2 сутки. Скажите, поможет ли мне установка плагинов кэширования на уровне сайтов или можно сделать кэширование на уровне сервера?
Поддержка: - Все зависит от специфики проблем из-за которых это возникает. Но в целом да, использование кэширования может положительно повлиять на нагрузку сервера.
Спрашивается: кому или чему верить? А верить нужно экспериментам. Решил я установить на это блог плагин кэширования, чтобы посмотреть, как это скажется на работе блога.
Я пробовал несколько разных плагинов, но всех больше мне понравился плагин кэширования wordpress W3 Total Cache . Почему именно он? Просто он ОЧЕНЬ функциональный и позволяет не только кэшировать страницы сайта, преобразуя их в html файлы, но и многое другое, например, он работает и как плагин кэширования запросов к базе данных.
Из минусов можно отметить отсутствие русского языка и ввиду этого некоторая сложность установки. Поэтому я решил зафиксировать процесс установки W3 Total Cache на этом сайте и процесс настройки.
Для начала идем в админку wordpress в раздел ПЛАГИНЫ - ДОБАВИТЬ НОВЫЙ и в строку поиска вбиваем название плагина - W3 Total Cache и жмем ENTER.
Обратите внимание: плагин скачало почти миллион человек, эта цифра показывает, что этот плагин для кэширования вордпресс на самом деле самый лучший! Устанавливаем.
Сразу после установки получаю предупреждение:
Переводится так: W3 Total Cache об ошибках: Файлы и каталоги не могут быть автоматически созданы, чтобы завершить установку. Пожалуйста, выполнять команды вручную или использовать FTP форму, чтобы W3 Total Cache сделать это автоматически.
Нажимаю Update via FTP, что то там происходит, надпись исчезает и появляется вот такая надпись, перевел:
W3 Total Cache: Настройки по умолчанию используются. Файл конфигурации не может быть прочитан или не существует. Пожалуйста, чтобы создать файл нажмите кнопку.
Нажимаю еще раз и все кажется заработало. Если это так, то у вас должна появиться папка wp-content/cache . Сразу задайте ей и всем файлам в ней права доступа 777, иначе работать не будет. Так же на время нужно такие же права дать файлу.htaccess в корне диска (сделайте лучше перед этим его копию, на всякий случай)
Так же возможно вам придется дать доступ к файлу /wp-config.php или прописать в нем самому опцию:
Define("WP_CACHE", true); // Added by W3 Total Cache
Пройдемся по настройкам, для этого находим настройки плагина в левой колонки админки вордпресс и нажимаем на PERFOMANCER - GENERAL SETTING.
Это самое главное, ради чего ставился этот плагин. Нужно поставить галочку в Enable (включить), выбрать метод Disk: Basic и нажать кнопку Save all setting (сохранить настройки).
Теперь, когда посетитель открывает страницу сайта, ее копия в html формате сохраняется в папке wp-content/cache/page. Можно так же выбрать метод ENHANCED (повышенная), но не знаю, стоит ли это делать в моем случае. Да и к тому же у меня при использование этого метода выдавало ошибку, хотя файлы при этом кэшировались.
Тут имеется ввиду сокращение и сжатие файлов стилей и скриптов. Я не включаю эту функцию, так как после этого мой сайт реально перекашивает.
Но даже есть попытаться это настроить, то реальной пользы будет не так много, так что я и мучиться пока не буду. Идем далее.
А вот это пункт важный. Но не выбирайте метод Disk: Basic, так как это может привести к сбоям, лучше выбрать метод Alternative PHP Cache. В этом случае запросы к базе данных буду кэшироваться PHP акселератором, у меня он, как я понял, на сервере установлен.
Это тоже очень важная функция, которую нужно включить, выбрав метод Disk: Basic.
В этом случае кэшируются уже не только страницы, но и опции, метки, категории, пользователи и многое другое, все, что wordpress посчитает нужным закэшировать. И судя по быстро заполнившейся папке кэшировать нужно много. Далее...
Нет, не вашего браузера, в человека, который заходит на ваш сайт. Эта опция посылает сигнал, что нужно кэшировать эту страницу и браузер посетителя безропотно подчиняется.
Но у меня тест Google Page Speed в упор не хочет замечать эту опцию, что я только не делал, и с этим плагином, и без. Скорее всего это происходит потому, что у меня стоит связка ngnix и apache2, первый работает как прокси сервер и видимо этот тест поэтому не работает как нужно. Хотя, может я и ошибаюсь.
Для чего это нужно? Вы можете использовать посторонние сервера для кэширования ваших данных. Если посетитель находится в Америке, в ваш основной сайт в России, то ему лучше получить основную массу данных с сервера CDN, который находится в его стране или где то рядом. Но я не включаю пока эту опцию. Почему?
Да потому что большинство этих сервисов платные. Есть и бесплатные, но их нужно поискать, изучить, зарегистрироваться и после этого вписать данные в плагин. Сам плагин пытается нам всучить MaxCDN, который стоит денег, правда со скидкой в 25%. Но это тема для отдельной статьи, скорее всего очень скоро я исследую этот вопрос и отпишусь.
Вот таким образом я настроил кэширование этого блога. В плагине есть еще некоторые опции, но они не стоят рассмотрения, так как на практике не нужны. Если вам будут интересно, то можете покопаться в настройках. Если не знаете английского (как я), то можете воспользоваться Google Crome, который умеет переводит и админку wordpress.
СОВЕТ ВЕБМАСТЕРУ: Умение зарабатывать в интернете - это только пол дела, вторая половина - это умение ВЫГОДНО обналичивать электронные деньги. Вот список офшорных банковских карт, на которые можно выводить средства и потом снимать с них хрустящие купюры:
1. Payoneer - Самая популярная в мире платежная система для фрилансеров. Выдает карты, находится в США.
2. EpayService - Американская платежная система, очень популярна во многих странах, бесплатно дает карту MasterCard в EVRO для жителей СНГ и Европы.
3. Skrill - Единственная платежная система которая работает с криптовалютами и при этом выпускает бесплатные банковские карты MasterCard.
4. AdvCash - Офшорный банк находится в Белизе, можно открыть счет в долларах, евро, фунтах и рублях.
5. Payeer - Штаб квартира этой платежной системы находится в Грузии, тут так же можно открыть счет в долларах, евро и рублях.
Домен RU - 99 руб Домен РФ - 99 руб |
Плагин – WP Fastest Cache является одним из лучших плагинов для кэширования файлов на сайте wordpress. Плагин достаточно простой и имеет минимум настроек. Особенности и преимущества плагина:
Настройки плагина на Русском языке!
Использует быстрый модуль Mod_rewrite, используется в файле htaccess.
Все файлы кэша удаляются при публикации записи или страницы.
Можно вручную удалять весь кэш.
Можно вручную удалять оптимизированные CSS и JS файлы на странице Параметры.
Функция “Блок кэш” для конкретной записи или страницы. Если вставить на страницу специальный шорткод, то страница не будет кэшироваться.
Можно установить временной период для автоматического обновления кэша.
Включить или отключить кэш для мобильных устройств.
Включение или отключение кэширования для зарегистрированных пользователей.
Уменьшение размера HTML страницы.
Уменьшить размеры CSS файлов.
GZIP сжатие.
Браузерное кэширование, уменьшить время загрузки страницы для повторных посетителей.
Объединение CSS файлов, для уменьшения http запросов.
Установить плагин вы сможете прямо из админ-панели wordpress. Перейдите на страницу: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте плагин.
После установки и активации плагина, перейдите на страницу: WP Fastest Cache , чтобы настроить плагин. Чтобы включить Русский язык, внизу страницы, в последнем поле, выберите Русский язык и Сохраните настройки .
– Кэширование, поставьте галочку, чтобы включить кэширование на вашем сайте.
– Preload, можно заранее создавать кэш для всех страниц, не дожидаясь пока посетитель зайдёт на ваш сайт. Поставьте галочку, в открывшемся окне поставьте 4 галочки и нажмите – ОК.
– Мобильные, поставьте галочку, чтобы отключить кэш на мобильных устройствах.
– Новая запись, поставьте галочку, чтобы очистить кэш при публикации записи или страницы.
– Сжатие HTML, поставьте галочку, чтобы уменьшать размер HTML кода страницы.
– Сжатие CSS, поставьте галочку, чтобы уменьшать размер CSS файлов.
– Объединение CSS, поставьте галочку, чтобы объединять CSS файлы в один, для уменьшения http запросов.
– Объединение JS, поставьте галочку, чтобы объединять JS файлы, для уменьшения http запросов.
– Компрессия Gzip, включение GZIP сжатия файлов. Внимание! перед тем как включать данную функцию, . Если у вас уже включено GZIP сжатие, то галочку ставить НЕ нужно!
– Кэш в браузере, поставьте галочку, чтобы включить браузерное кэширование, для уменьшения времени загрузки страниц для повторных посетителей.
Сохраните настройки .
Очистка кэша, здесь можно – Очистить весь кэш или Очистить весь кэш и сжатые CSS/JS файлы .
Таймаут кэша, здесь можно установить временной период для авто-обновления кэша. Нажмите на кнопку – Add New Rule . В открывшемся окне выберите страницы для кэширования, укажите временной период и нажмите на кнопку – Save .
– Исключения, можно исключить определённые страницы из кэширования.
– CDN, можно подключить функцию CDN для доставки контента с другого сервера. Можно перенести файлы на другой сервер, тем самым вы снимите нагрузку со своего сервера. Платная услуга.
Вы можете установить на любой странице блок кэш, чтобы не кэшировать определённую страницу или запись. На странице редактирования записи или страницы, в визуальном редакторе, у вас появится новая кнопка в виде головы леопарда. Нажав на данную кнопку, у вас в записи появится специальный знак, который означает – Блок кэш, но на самом сайте знак не отображается.
Обновлено: Апрель 17, 2018 автором: Илья Журавлёв