20 плагінів для кешування WordPress, Клуб WordPress

Сподіваюся, нікому не треба пояснювати, навіщо потрібний плагін для кешування і наскільки важливо вибрати той, який реально допоможе, а не просто створить зайве навантаження на БД своєю присутністю. При аналізі враховуватимемо всі показники, а не тільки час завантаження.
Користь кешування
Є кілька способів покращити продуктивність свого сайту і зменшити час його завантаження, але для більшості початківців (і не тільки) оптимізаторів кешують плагіни є не одним з, а єдиним інструментом для досягнення поставленої мети.
WordPress формує сторінки динамічно, що призводить до великої кількості запитів до БД. Кешування ж сторінок, що динамічно створюваються, дозволяє користувачам бачити звичайні HTML-сторінки, що значно зменшує час завантаження сторінки і знижує навантаження на сервер.
Деталі тесту з кешування
У результаті ми будемо використовувати лише одну тему (тема Novelty від Tesla Themes). Тестова сторінка оформлена із застосуванням графіки та тексту. Також є сайдбар і кілька плагінів (новини, фід з Twitter/Instagram). Хостинг використовувався від WP Dev Shed. У результаті ми отримали сторінку з досить великим часом завантаження.
Т.к. сайт новий, то він не був відвідуваності (у тому числі, під час тестування, не було навіть ботів ПС). Сервер працював у зв'язці Apache + Ngnix.
У тесті брали участь такі плагіни:
- AIO Cache
- WP Fast Cache
- WP-Cache.Com
- Alpha Cache
- Flexicache
- Bodi0's Easy Cache
- Hyper Cache
- Hyper Cache Extended
- Cachify
- Lite Cache
- Next Level Cache
- Really Static
- Super Static Cache
- W3 Total Cache
- Gator Cache
- Wordfence Falcon
- WP Fastest Cache
- WP Rocket
- WP Super Cache
- Zen Cache (Formerly Quick Cache)
За тестом залишились:
Brutal Cache - не працював;
Batcache — плагін із залежністю від Memcache, що не використовувалось у поточному тесті.
Autoptimize і Widget Cache залишилися за бортом, т.к. вони є не самостійними плагінами, а підтримкою інших.
Інструменти бенчмаркінгу
- оптимізація зображень;
- мініфікація та оптимізація js- та css-коду;
- використання кешування у браузері;
- тимчасова затримка сервера;
- використання Gzip-стиснення;
- розміщення скриптів;
- кількість HTTP-запитів.
- використання CDN, розпаралелювання/доменного шардингу;
Google PageSpeed Insights
Сайт перевіряється як з точки зору десктопного ПК, так і мобільного пристрою. Результат видається за 100-бальною шкалою. Сервіс простий у використанні, але надає відносно сирий результат, що не дає повного розуміння всього, що може бути покращено.
GTMetrix та YSlow
Засновані на керівництві щодо підвищення продуктивності ресурсу від Yahoo. Знову використовується 100-бальна шкала. Сервіси працюють більш ніж з 50 різними метриками. GTMetrix навіть візуалізує дані в діаграму-водоспад процесу завантаження. На нашу думку – це один із найкращих інструментів для визначення способів підвищення продуктивності сайту.
Для визначення швидкості завантаження сторінок та перевірки роботи сервера під навантаженням використовувалися наступні інструменти:
Служить для визначення навантаження на сайт, обчислює максимальнекількість запитів за секунду. Під час тесту надсилалося 1000 запитів з 10 різних потоків. Тест проводився 10 разів. Записувався найкращий результат щодо кожного з плагінів.
Дуже відомий сервіс з моніторингу та тестування сайтів. Проводилося 20 тестів з кожним плагіном та фіксацією найкращого результату.
Простий, але корисний сервіс показує час повного завантаження сторінки саме у вашому браузері. Не серверний інструмент, а сервіс, запускаемый локально. Ми вибрали спосіб завантаження через Ethernet, браузер Opera. Кожна сторінка була завантажена 101 раз із фіксуванням середнього часу завантаження.
Отже, приступимо до тестів.
Google, GTMetrix та Yslow
Результат тестування сторінок сайту з використанням вказаних сервісів:

Як видно з таблиці, деякі плагіни тут ніяк не виявили себе — оцінка така сама або дуже близька до оцінки без кешування. Google поставив найкращу оцінку Super cache (і для робочого столу, і для мобільного пристрою). У GTmetrix та Yslow найкращий результат показали Fastest Cache та Rocket. Як ми казали, оцінка від Google менш інформативна, т.к. він використовує менше факторів для оцінки.
Отже, найкращими плагінами виявилися WP Super Cache, WP Fastest Cache та WP Rocket Cache.
Оціночні бали переважно показують якість коду сайту. Це дає розуміння, що можна зробити для прискорення сайту. При цьому високі оцінки сайту не означає, що він завантажується швидше за інші. І в цьому головна помилка — оціночні інструменти дають велику кількість ідей щодо покращення сайту для зниження часу завантаження, але при цьому сам час завантаження практично не береться до уваги. Нижче наочний приклад (скриншот з Pingdom).
Сторінка заробила 96 зі 100 балів (це краще,що у 99% сторінок будь-яких сайтів). При цьому сторінка вантажиться близько 35 секунд. До чого може довести сліпа оптимізація.
Таймінг - дуже важливий тест, т.к. проводяться реальні виміри швидкості завантаження сторінок.
Виявимо максимальну кількість запитів за секунду, яка здатна підтримувати наш сервер. Чим більша цифра, тим краще.

Без кешування завдяки Nginx результат сервера – 18 запитів за секунду.
Найкращий результат показав WP Rocket. Друге та третє місце поділили WP-Cache.com та WP Fastest Cache.
Результат без кешування – 2,78 секунди. Усі плагіни змогли покращити цей показник.

Безперечний лідер – знову WPRocket. Super Cache – другий, W3 Total Cache – третій.
Тут ми вирішили вивести не лише середній, а й медіанний результат тестування.
Середній час завантаження

Ситуація аналогічна до попереднього тесту. Трійка лідерів не змінилася - WPRocket, WPSuperCache та W3 TotalCache.
Медіанний час завантаження

Лідер все ще WP Rocket, але при цьому практично невідомий WP-Cache.com знову показує непоганий результат.
Не кешуванням єдиним
Безперечно, не все залежить тільки від кешування. Свою роль грають вибір зв'язки Apache+Nginx, вірність налаштування сервера та його тип (виділений, VPS, шаред), кількість і якість (оптимізація) зображень та багато іншого.
У всіх представлених плагінів різна функціональність. Деякі до непристойності прості, інші можна порівняти зі швейцарським ножем. Super Cache, W3 та інші аналогічні плагіни часто у своїй роботі використовують профі, знайомі з CDN та іншими хитрощами. Інші користувачі (особливо початківці) зупиняють свій вибір набільш простих плагінах (Lite Cache або WP-Cache.com). До речі, WP-Cache.com, незважаючи на маловідомість, зміг показати відмінні результати.
Який же плагін для WordPress краще кешує?
На першому місці (з великим відривом) – WP-Rocket. Він має багато плюсів, але є одне АЛЕ (для багатьох це буде мінусом) – він платний. Розробники хочуть за нього $39 (причому оновлення не life-time, а лише рік)
На другому місці (хоча з огляду на безкоштовність, його можна також поставити на перше) - WPSuperCache. Результати майже, як і у лідера, зате він абсолютно free!
На третьому – WP-cache.com. Бентежить лише те, що він востаннє оновлювався у 2014 році.
Але він простий, безкоштовний і показує гідні результати.