Техническое задание: Оптимизация скорости крупного сайта на WordPress
Требуется выполнить комплекс работ по ускорению загрузки страниц сайта, созданного на CMS WordPress. Основная проблема - низкая скорость работы, особенно заметная в административной панели при отключенном кэшировании и на ключевых страницах для пользователей.
Исходные данные и текущая конфигурация
Масштаб сайта:
- Количество рубрик (категорий): 45 000
- Количество записей (постов): 250 000
- Размер базы данных MySQL: ~3.4 ГБ
Технический стек:
- Версия WordPress: 6.7.4
- Версия PHP: 8.3.22 (модуль Apache)
- СУБД: MySQL 8.0.44
- Ключевые плагины: Advanced Custom Fields, Clearfy Pro, Contact Form 7, Index WP MySQL For Speed, WP Super Cache, Yoast SEO Premium.
Серверная инфраструктура:
- Процессор: 8 ядер по 3.3 ГГц
- Оперативная память: 12 ГБ
- Диск: 100 ГБ NVMe
Текущие показатели:
- Время до загрузки DOM (по данным метрики): 4.711 секунды.
- Административная панель работает крайне медленно при отключенном кэшировании.
Основные задачи
1. Приоритетная оптимизация производительности:
- Ускорить загрузку страниц записей (постов) и страниц рубрик (архивов категорий). Это ключевые точки входа для пользователей.
- Повысить общую отзывчивость и скорость работы сайта.
2. Оптимизация базы данных и запросов:
- Провести глубокий анализ и оптимизацию структуры большой базы данных (~3.4 ГБ).
- Выявить и устранить «тяжелые» или неоптимальные SQL-запросы, особенно те, что влияют на скорость генерации страниц записей и рубрик.
- Настроить индексы и конфигурацию MySQL 8.0 для работы с большими объемами данных.
- Оценить эффективность плагина Index WP MySQL For Speed и при необходимости провести дополнительную настройку.
3. Настройка сервера и кэширования:
- Проанализировать и оптимизировать конфигурацию PHP (Apache модуль) для данного объема данных и трафика.
- Оценить текущую настройку плагина кэширования WP Super Cache и предложить/внедрить улучшения для максимальной эффективности, особенно для страниц записей и рубрик.
- Дать рекомендации или выполнить настройку сервера (Apache, MySQL, PHP) исходя из предоставленных аппаратных ресурсов (8 ядер, 12 ГБ ОЗУ, NVMe).
Ожидаемый результат
- Сокращение времени загрузки страниц, особенно страниц записей и рубрик, что должно отразиться в метриках (например, время до DOM).
- Повышение скорости и отзывчивости административной панели WordPress.
- Стабильная работа сайта с текущим объемом данных.
- Предоставление отчета о проделанных работах и внесенных изменениях в конфигурацию.