Каталог недвижимости Таиланда на WordPress: тяжёлый кастомный шаблон, около двадцати плагинов, карты и фотогалереи. Почти все метрики в красной зоне.
В результате аудита стало понятно, что требует доработок. Текущее состояние следующее:
Lighthouse на десктопе: главная 40 из 100, каталог 32 из 100. LCP на главной появлялся за 5,5 секунды, на каталоге за 11. Сервер отдавал первый байт за 2-3 секунды, всё качалось по HTTP/1.1 очередью по 6 файлов, кэша в браузере не было, стили и скрипты грузились на каждой странице целиком, на некоторых страницах до двух разных слайдеров параллельно
Отдельной проблемой была графика. Сайт оброс годами контента. В библиотеке загрузок лежало 766 тысяч изображений общим весом 41.7 ГБ, база данных раздулась до 340 МБ.
Шёл слоями, от сервера к шаблону. Включил HTTP/2, перенастроил серверное сжатие и кэширование статики, поставил страничный кэш WP Rocket. Убрал дублирующий слайдер. Обрезал шрифты с 18 начертаний Montserrat до реально используемых. Загрузку тяжелых скриптов, вроде reCAPTCHA и Яндекс.Карт отложеил. Включил минификацию и удаление неиспользуемого CSS, перевёл картинки на ленивую загрузку, расставил приоритеты на ключевых изображениях.
Графика: пересжал библиотеку через mozjpeg + pngquant, привёл к 1920px по длинной стороне, догенерировал 744 тысячи WebP-версий, настроил подмену формата на уровне nginx и собрал fallback-инфраструктуру на случай битых ссылок + mu-plugin с записью логов замен
Главная по Lighthouse на десктопе: с 40 до 98 баллов. Каталог: с 32 до 93. Мобилка: главная 80, каталог 73. LCP главной с 5,5 до 0,9 секунды, FCP с 5,0 до 0,4, TBT с 398 до 0 миллисекунд, Speed Index с 5,3 до 1,2 секунды.
Каталог, самая тяжёлая страница, по LCP с 11 секунд сбросил до 0,9. Сервер за счёт кэша отвечает почти мгновенно.
Библиотека графики ужалась с 41.7 до 35 ГБ(с учётом роста количества изображений с 760 тыс до 1.5млн), трафик к посетителям с WebP сократился на 57 процентов, база похудела на 95 МБ за счёт ревизий и неиспользуемых мета-записей.