Оптимізуємо сайт на WordPress: W3 Total Cache (частина 2)

wordpress logoВ першій статті присвяченій оптимізації сайту на WordPress, ми налаштували базове кешування використовуючи опції які надає безкоштовна версія плагіна W3 Total Cache та встановили деякі PHP розширення які дозволили прискорити виконання PHP скриптів сайту. В другій частині ми перейдемо до більш тонкого налаштування плагіну використовуючі розширені налаштування.

Що це “Advanced Settings” у W3 Total Cache ?

Розширені налаштування (Advanced Settings) у W3 Total Cache відкривають доступ до тонкого налаштування кешування та оптимізації для прискорення роботи сайту. Тут можна більш гнучко налаштувати кеш сторінок, об’єктів і бази даних, а також параметри стиснення та об’єднання CSS і JavaScript (minify). Крім того, доступні опції інтеграції з CDN і керування заголовками браузерного кешу. Це дозволяє максимально оптимізувати швидкість завантаження, але потребує уважного підходу до конфігурації.

Налаштовуємо Page Cache (кеш сторінок):

В адмін панелі вашого WordPress сайту перейдіть до “Performance” і потім натисніть на “Page Cache“. Тут ми зможемо більш тонко налаштувати кешування сторінок.

Розділ “General”

  • Cache posts pageАктивуйте. В WordPress це сторінка сайту на якій відображаються останні статті. Насайтах блогах це зазвичай головна сторінка яка на яку йде сама більша кількість запитів. Кожного разу коли користувач відкриває цю сторінку, сайт генерує її повторно що забирає певний час. Активація цієї опції створює готову версію цієї сторінки що значно зменшує час віддачи сторінки користувачу.
  • Don’t cache front pageДеактивуйте. Відключає кешування для головної сторінки сайту. Зазвичай це “posts page” якщо не вказано використовувати будь яку іншу сторінку.
  • Cache feeds: site, categories, tags, commentsАктивуйте, що і радять зробити розробники W3TC.
  • Handle XML mime typeАктивуйте.
  • Cache SSL (HTTPS>) requestsАктивуйте. Для встановлення безпечного (HTTPS) з’єднання браузер користувача та сервер домовляються один з одним і виконують певні обчислення, це викликає затримку. Кешування SSL запитів дозволяє мінізувати час необхідний для встановлення HTTPS з’єднання.
  • Cache URI with query string variables – деактивуйте. Опція дозволяє кешувати сторінки до яких передаються додаткові параметри. Зазвичай це сторінки з результатами пошуку, тощо.
  • Cache 404 (not found) pagesДеактивуйте, якщо у вас використовуєть кешування “Disk Enhanced”. В разі використання іншого типу кещування: “Disk Basic”, “APCu”, “Memcache” тощо, опцію можна активувати, але обов’зково перевірте який код віпдвіді повертає сервер коли виконується звернення до сторінок які не існують. В разі відповіді “200”, вимкніть опцію т.я. це зашкодить просування сайту в пошукових системах.
  • Don’t cache pages for logged in usersАктивуйте. Користувачі які авторизувались на вашому сайті не будуть отримувати сторінки з кешу. Для таких користувачів сторінки будуть генеруватись. Якщо вам необхідно віддавати сторінки з кешу для всіх окрім певної категорії авторизованих користувачів, використовуйте опцію “Don’t cache pages for following user roles”.
  • Don’t cache pages for following user roles – Якщо необхідно, щоб сторінки не кешувались (постійно генерувались) для певної категорії користувачів, активуйте необхідні категорії, та відключить опцію Don’t cache pages for logged in users.
  • Cache alias hostnames – Якщо до сайту можна доступитись через кілька різних доменів/піддоменів. Додайте всі домені та піддомени в поле “Additional home URLs“, так ктивуйте опцію.
    Якщо до вашого сайту можна доступитись використовуючи різні домені, краще налаштуйте HTTP/HTTPS перенаправлена на один конкретний домен.
  • Automatically Prime The Page CacheАктивуйте. Створює кеш сторінок автоматично на базі параметрів які налаштовуються нижче, не очікуючи коли користувач відкриє сторінку. Це може створювати сплески навантаження, в такому випадку спробуйте збільшити інтвервал через який створюється кеш та/або зменшити кількість сторінок для яких оновлюється кеш (див. “Update interval“, “Pages per interval” ).
  • Update interval – інтвервал через який оновлюється/створюється кеш сторінок (в секундах). Збільшіть, якщо оновлення еншу викликає сплески навантаження.
  • Pages per interval – кількість сторінок для яких створюється кеш. Зменшіть, якщо оновлення кешу викликає сплески навантаження
  • Sitemap URL – вкажіть URL до мапи сайту (sitemap.xml). Також можна вказати пріорітет сторінок.
  • Preload cache upon publishing a postУвімкніть
  • Preload cache upon updating a postУвімкніть

Розділ “Purge Policy”

Тут налаштовується політика очистки кешу. Залиште налаштування які пропонуються за замовченням.

Розділ “REST API”

Залиште налаштування які пропонуються за замовченням.

Розділ “Advanced”

В розділі “Advanced” налаштовуються додаткові параметри кешування вашого сайту. Тут можна відключити кешування для певних сторінок сайту, налаштувати час дії кешу, кук і т.д. але більшості користувачів тут нічого не треба змінювати.

ВАЖЛИВО: Користувачам WooCommerce необхідно додати:
/cart/*, /my-account/*, /checkout/*, /addons/*
до “Never cache the following pages“.
Натисніть на “Save Settings” щоб зберегти і налаштування.

Налаштовуємо Minify Settings (мініфікація):

Щоб перейти до налаштувань мініфікації натисніть на “Performance” в лівому верикальному меню WordPress і потім на “Minify

Розділ “General”

  • Rewrite URL StructureУвімкніть.
  • Disable minify for logged in usersВиключіть.
  • Minify error notification – Якщо виникають проблеми з мініфікацією увімкніть один з видів сповищень (повідомлення в адмінці, сповіщення по пошті або обидва).
  • HTML Minify SettingsУвімкніть.
    • Inline CSS minificationУвімкніть.
    • Inline JS minificationУвімкніть.
    • Don’t minify feedsУвімкніть.
    • Line break removalУвімкніть, але якщо це ламає вигляд сайту, вимкніть цю опцію. Використовуйте з обережністью.

Ignored comment stems – В більшості випадків нічого не треба додавати.

Важливо: Користувачам WooCommerce необхідно додати “mfunc” до “Ignored comment stems“.

Розділ “JS”

  • JS Minify SettingsУвімкніть.
  • Minify MethodMinify Only.
  • Minify Engine SettingsПротестуйте. Налаштування “non-blocking” мають дати більше балів в тестах PageSpeed Insights, але також можуть зламати сайт.
    • Before </head> : Default (blocking)
    • After <body> : Default (blocking)
  • Don’t minify feedsУвімкніть.
  • Preserved comment removalУвімкніть. Ця опція видаляє коментарії з JS щоб зменшити об’єм файлів.
  • Line break removalУвімкніть, але якщо це ламає вигляд сайту, вимкніть цю опцію. Використовуйте з обережністью.
  • HTTP/2 pushАктивуйте, але перевірте роботу сайту. Працює тільки якщо до сайту доступаються по HTTPS і сервер підтримує протокол HTTP/2. Використовуйте з обережністью.

Розділ “CSS”

  • CSS Minify SettingsУвімкніть.
  • Minify MethodMinify Only.
  • Minify Engine Settings:
    • Preserved comment removalУвімкніть. Ця опція видаляє коментарії з CSS щоб зменшити об’єм файлів.
    • Line break removalУвімкніть, але якщо це ламає вигляд сайту, вимкніть цю опцію. Використовуйте з обережністью.
  • @import HandlingProcess.
  • HTTP/2 pushАктивуйте, але перевірте роботу сайту. Працює тільки якщо до сайту доступаються по HTTPS і сервер підтримує протокол HTTP/2. Використовуйте з обережністью.

Розділ “Advanced”

Якщо налаштування мініфікації ломають ваш сайт, виявіть сторіники та файли мініфікація яких спотворює сайт і додайте їх до:

  • Never minify the following pages – не застосовувати мініфікацію до сторінок сайту.
  • Never minify the following JS files – не застосовувати мініфікацію до JS файлів сайту.
  • Never minify the following CSS files – не застосовувати мініфікацію до CSS файлів сайту.

Збережіть налаштування натиснувши на “Save Settings” в правому верхньому кутку.

Налаштовуємо Database Cache (кеш бази даних):

Згідно з рекомендацій розробників плагіну, нічого не треба змінювати.

Важливо: Користувачам WooCommerce необхідно переконатись що “_wc_session_” додано до “Ignored query stems:”.
Якщо ви вносили зміни, збережіть налаштування натиснувши на “Save Settings” в правому верхньому кутку.

Налаштовуємо Object Cache (кеш об’єктів):

Згідно з рекомендацій розробників плагіну, нічого не треба змінювати.
Якщо були зроблені зміни в налаштуваннях, збережіть їх натиснувши на “Save Settings” в правому верхньому кутку.

Налаштовуємо Browser Cache (кеш браузера):

В лівому вертикальному меню WordPress натисніть на “Performance” і потім на “Browser Cache

Розділи “General”, “HTML & XML”, “Media & Other Files”:

    • Set Last-Modified HeaderУвімкніть.
    • Set Expires HeaderУвімкніть у всіх розділах (General, CSS & JS, Media & Other Files) окрім HTML & XML.
    • Set cache control headerУвімкніть.
    • Set entity tag (eTag)Увімкніть.
    • Set W3 Total Cache headerУвімкніть. Ця опція дозволяє плагіну W3TC ідентифікувати оптимізовані елементи.
    • Enable HTTP (gzip) compressionУвімкніть. Активує компрессію файлів чим зменшує об’єм даних які передаються від сервера до користувача.
    • Enable HTTP (brotli) compressionУвімкніть. Brotli робить те саме що і GZIP компреіся але більш ефективно. Для активації ваш сервер має підтримувати PHP розширення brotli (дивись “активувати PHP розширення в cPanel” якщо необхідно активувати розширення). Якщо розширення не підтримається, опцію активувати не можливо.
  • Prevent Caching Of Objects After Settings ChangeУвімкніть. Змушує браузер користувача завантажити об’єкт повторно, якшо він оновився
  • Remove Query Strings From Static ResourcesВимикніть.
  • Prevent Caching Exception List – Залиште пустим.
  • Don’t Set Cookies For Static FilesУвімкніть.
  • Do Not Process 404 Errors For Static Objects With WordPressВимкніть. Активація цієї опції дозволить трохи знизити навантаження, але деактивація цієї опції гарантує більшу сумісність з іншими плагінами.
  • 404 Error Exception List – Залиште пустим.
  • Rewrite URL Structure Of ObjectsВимкніть.
  • Expires Header Lifetime – Залиште значення за замовченням. Google радить встановити значення 1 рік (31536000 секунд) для статичних елементів.

Розділ “Security Headers”

Залиште значення за замовченням.
Збережіть налаштування натиснувши на “Save Settings” в правому верхньому кутку.

Налаштовуємо Cache Groups (групи кешу):

  • User Agent Groups – використовується для прив’язки мобільних браузерів “useragent” до певної теми сайту. Наймовірніше ваш сайт використовує адаптивну тему, тому сенсу в налаштуванні опцій цього розділу немає. Залиште все як є.
  • Manage Referrer Groups – використовується для прив’язки певних реферрерів “referrers” (Google, Yahoo) до певної тем сайту. Залиште як є.
  • Manage Cookie Groups – використовується для прив’язки користувачів до певної тем сайту на базі Cookies. Залиште як є.

Завершивши налаштування “Advanced Settings”

Як ми вже  писали у минулій статті «Оптимізація сайту на WordPress: W3 Total Cache» присвяченій оптимізації WordPress-сайту, плагін W3 Total Cache є одним із найпотужніших інструментів для кешування. У деяких випадках, щоб досягти максимальної ефективності, може знадобитися звернення до розробників плагіна або теми. Втім, ми сподіваємося, що наші матеріали про оптимізацію WordPress за допомогою W3 Total Cache стануть для вас корисними: допоможуть прискорити роботу сайту та позитивно вплинуть на його позиції в пошукових системах.

Якщо у вас виникають сумніви щодо активації певних налаштувань, пам’ятайте: ви завжди можете безпечно протестувати конфігурацію W3 Total Cache, увімкнувши режим попереднього перегляду. У разі будь-яких проблем достатньо вимкнути цей режим і повернутися до попередніх параметрів.

Однак для стабільної та надійної роботи сайту важлива міцна технічна база. Купуйте надійний SSD/NVMe-хостинг і забезпечте своєму сайту швидкість та безперебійну роботу.

Прокрутка до верху