Проблема: дефолтний WordPress — повільний та ненажерливий
WordPress з дефолтними налаштуваннями повільний: кожен запит до сторінки виконує 60–120 SQL-запитів, завантажує десятки плагінів і генерує HTML заново. Типовий сайт на WordPress видає TTFB 1–3 секунди, LCP перевищує 4 секунди — відвідувачі йдуть, не дочекавшись завантаження. Ми щодня стикаємося з такими проектами і знаємо, як це виправити. Оптимізація продуктивності WordPress з кешуванням (OPcache, Redis, Nginx-кеш) та очищенням БД дає значний приріст швидкості. Наша команда має 5+ років досвіду в цій сфері. Зв'яжіться з нами для проведення аудиту продуктивності — пишіть нам, ми оцінимо ваш проект безкоштовно.
Наша методика оптимізації продуктивності WordPress включає комплекс заходів: від налаштування OPcache і Redis до конвертації зображень у WebP та оптимізації SQL-запитів. За роки роботи (з 2019) ми провели понад 50 аудитів і гарантуємо зниження TTFB до 200 мс і Core Web Vitals у зеленій зоні. Як показує практика, навіть базова оптимізація окупається за 2–3 місяці за рахунок скорочення навантаження на хостинг.
Згідно з дослідженням Pingdom, кожні зайві 100 мс TTFB знижують конверсію на 1%.
Аудит продуктивності WordPress: що гальмує ваш сайт
Перед оптимізацією — діагностика. Інструменти:
- Query Monitor — показує всі SQL-запити та хуки на кожній сторінці
- New Relic або Tideways — профілювальник PHP для production
- GTmetrix / PageSpeed Insights — зовнішні метрики Core Web Vitals
Типові причини повільної роботи:
- Відсутність PHP OPcache
- Немає object cache (Redis/Memcached)
- Повільні плагіни з неоптимальними WP_Query
- Таблиця
wp_optionsз тисячами autoload-опцій (деякі розміром >1 МБ) - Величезна таблиця
wp_postmeta(сотні тисяч записів) - Відсутність кешування сторінок
Як OPcache і Redis зменшують кількість SQL-запитів?
Налаштування OPcache
# /etc/php/8.3/fpm/conf.d/10-opcache.ini opcache.enable=1 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.fast_shutdown=1 opcache.jit=tracing opcache.jit_buffer_size=64m Згідно з документацією PHP, ці налаштування дають 30–50% зниження часу виконання PHP.
Redis для object cache
Встановіть Redis через apt, активуйте плагін Redis Cache. Пропишіть у wp-config.php:
define('WP_CACHE_KEY_SALT', 'yourdomain.com_'); define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PORT', 6379); define('WP_REDIS_DATABASE', 0); define('WP_REDIS_TIMEOUT', 1); define('WP_REDIS_READ_TIMEOUT', 1); Redis кешує результати WP_Query, опції (get_option), дані користувачів. На одному проекті з 2000 постами і 50 плагінами Redis знизив кількість SQL-запитів на сторінку з 90 до 12. Redis object cache в 5-10 разів ефективніший за стандартний transient API.
Чому Nginx FastCGI Cache кращий за плагіни кешування?
Для високонавантажених сайтів використовуємо Nginx FastCGI Cache — він минає PHP і WordPress повністю.
fastcgi_cache_path /var/cache/nginx/wordpress levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; server { location ~ \.php$ { fastcgi_cache WORDPRESS; fastcgi_cache_valid 200 301 302 60m; fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; set $skip_cache 0; if ($http_cookie ~* "wordpress_logged_in|woocommerce_cart_hash") { set $skip_cache 1; } if ($request_method = POST) { set $skip_cache 1; } fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; } } Порівняння Nginx та плагінів:
| Параметр | Nginx FastCGI Cache | Плагін (WP Super Cache) |
|---|---|---|
| TTFB | < 10 мс | 50–200 мс |
| Навантаження на сервер | Мінімальна | Вища (PHP + WordPress) |
| Складність налаштування | Вимагає root-доступу | Проста |
| Сумісність з динамікою | Складніше обходити | Легко налаштовується |
Кешовані сторінки віддаються з TTFB < 10 мс. Nginx FastCGI Cache в 10–20 разів швидший за плагіни.
Очищення бази даних та оптимізація зображень
Очищення БД
-- Удаление старых ревизий (оставить последние 5 на пост) DELETE p FROM wp_posts p LEFT JOIN ( SELECT ID FROM wp_posts WHERE post_type = 'revision' ORDER BY post_date DESC LIMIT 5 ) keep ON p.ID = keep.ID WHERE p.post_type = 'revision' AND keep.ID IS NULL; -- Удаление орфанных postmeta DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts p ON p.ID = pm.post_id WHERE p.ID IS NULL; -- Анализ autoload options SELECT option_name, LENGTH(option_value) as size FROM wp_options WHERE autoload = 'yes' ORDER BY size DESC LIMIT 20; -- Отключить autoload для ненужных опций UPDATE wp_options SET autoload = 'no' WHERE option_name IN ('_transient_some_plugin_cache', 'some_large_option'); WebP-конвертація
Підключаємо автоматичну конвертацію при завантаженні медіафайлів через плагін ShortPixel або свій обробник на Imagick. Це дозволяє без ручної роботи перевести весь контент у сучасний формат, заощаджуючи до 30% трафіку.
Які ще техніки прискорення ми застосовуємо?
Додатково налаштовуємо lazy loading для зображень, мініфікацію CSS/JS (через Autoptimize або збірку на Webpack), підключаємо CDN (Cloudflare) і використовуємо WebP-файли з srcset. Комплексний підхід дає максимальний приріст швидкості.
Покроковий план оптимізації
- Аудит: профілювання з Query Monitor і New Relic.
- OPcache: увімкнути та налаштувати JIT.
- Redis: встановити, налаштувати object cache.
- Nginx-кеш: налаштувати FastCGI Cache з обходом для авторизованих.
- БД: очистити ревізії, orphaned meta, відключити autoload для великих опцій.
- Зображення: конвертувати в WebP, налаштувати lazy loading.
- Моніторинг: перевірка Core Web Vitals через PageSpeed Insights.
- Фінальний звіт та рекомендації під ключ.
Що входить у роботу та які результати?
- Детальний аудит продуктивності зі звітом
- Налаштування OPcache та Redis
- Конфігурація Nginx FastCGI Cache (або іншого кешу)
- Очищення та оптимізація бази даних
- Мініфікація CSS/JS, конвертація зображень у WebP
- Рекомендації щодо покращення LCP, CLS, INP
- Гарантія: TTFB < 200 мс та Core Web Vitals у зеленій зоні
- Документація та навчання команди
Вартість: від 200$ за базову оптимізацію, повний аудит — від 500$. Терміни: базова оптимізація — 2–3 дні, повний аудит — 5–7 днів.
Типові результати:
| Метрика | До | Після |
|---|---|---|
| TTFB (без кешу) | 800–2000 мс | 150–400 мс |
| TTFB (з FastCGI кешем) | — | 5–15 мс |
| SQL-запитів на сторінку | 60–120 | 5–15 |
| LCP | 3–6 с | 1–2 с |
Терміни та досвід
Ми працюємо з WordPress з 2019 року і реалізували понад 50 успішних проектів. Надішліть нам посилання на ваш сайт — проведемо безкоштовний глибокий аналіз. Маєте питання? Напишіть нам — ми оцінимо ваш проект і запропонуємо оптимальний план оптимізації під ключ.







