Скорость — одна из немногих характеристик сайта, которую посетитель ощущает раньше, чем видит дизайн или читает текст. Если страница открывается несколько секунд, часть людей закрывает вкладку, так и не узнав, что вы предлагаете. Особенно это заметно на мобильном интернете в метро или за городом. Хорошая новость: в большинстве случаев медленная загрузка вызвана типовыми причинами, и их можно устранить без переделки сайта. В этой статье — практический разбор того, что тормозит сайты на WordPress и что мы делаем, чтобы их ускорить.
Что именно измерять
«Сайт грузится медленно» — слишком размытая формулировка. Время загрузки состоит из нескольких этапов, и проблемы на каждом из них решаются по-разному.
- Время ответа сервера — сколько проходит от запроса браузера до получения первых данных. Если оно велико, проблема в хостинге, базе данных или тяжёлом коде.
- Отрисовка основного контента — когда пользователь видит главный элемент первого экрана: заголовок, баннер, фото товара.
- Интерактивность — насколько быстро страница реагирует на нажатия. Тормозит обычно из-за избытка скриптов.
- Стабильность вёрстки — не «прыгают» ли элементы при загрузке, когда подгружаются картинки или рекламные блоки.
Именно эти показатели учитывают поисковые системы, оценивая качество страниц. Измерять их удобно бесплатными инструментами анализа скорости, которые показывают и оценку, и конкретные рекомендации. Важно смотреть результаты для мобильных устройств — они почти всегда хуже, и именно они важнее.
Совет от студии: замеряйте не только главную, но и самые посещаемые внутренние страницы — карточку товара, страницу услуги, статью блога. Нередко главная «вылизана», а каталог открывается вдвое дольше.
Хостинг: фундамент, который нельзя игнорировать
Можно оптимизировать сайт до последнего байта, но если сервер отвечает медленно, результат будет посредственным. Дешёвый виртуальный хостинг, где на одном сервере живут сотни сайтов, часто становится узким местом, особенно в часы пик.
На что обратить внимание:
- Актуальная версия PHP. Переход со старой версии на современную нередко сам по себе ускоряет WordPress в разы. При этом нужно проверить совместимость темы и плагинов.
- Расположение сервера. Для аудитории в Москве и России сервер должен находиться поблизости — каждая тысяча километров добавляет задержку.
- Наличие серверного кеширования и быстрых дисков.
- Достаточный объём памяти для PHP — при нехватке сайт начинает тормозить и выдавать ошибки.
Для интернет-магазинов с большим каталогом мы часто рекомендуем переезд на VPS или специализированный хостинг для WordPress. Сам перенос сайта при правильной подготовке проходит без простоя.
Изображения: главный источник лишнего веса
В подавляющем большинстве проектов, которые приходят к нам на ускорение, больше половины веса страницы составляют картинки. Типичная ситуация: фото загружено прямо с камеры, весит несколько мегабайт и имеет размер, рассчитанный на печать плаката, а на сайте отображается в окошке шириной в пару сотен пикселей.
Что делать с изображениями
- Уменьшать размеры до реально нужных. Нет смысла загружать фото шире, чем самый широкий экран, на котором оно покажется.
- Сжимать без видимой потери качества. Современные инструменты уменьшают вес в несколько раз, и глазом разницы не видно.
- Использовать современные форматы — WebP и AVIF весят заметно меньше JPEG при том же качестве.
- Включить отложенную загрузку для картинок ниже первого экрана — они подгружаются, только когда пользователь до них долистает.
- Указывать размеры изображений в коде, чтобы вёрстка не прыгала при загрузке.
Для WordPress есть плагины, которые выполняют сжатие и конвертацию автоматически при загрузке новых файлов и пакетно обрабатывают уже имеющиеся. Один раз настроили — и сотрудникам не нужно думать о весе каждой фотографии.
Кеширование: не собирать страницу заново каждый раз
WordPress — динамическая система. При каждом запросе он обращается к базе данных, выполняет код темы и плагинов и собирает страницу заново. Для страницы «О компании», которая меняется раз в год, это пустая трата ресурсов.
Кеширование решает эту проблему на нескольких уровнях:
| Уровень | Что делает | Эффект |
|---|---|---|
| Страничный кеш | Сохраняет готовый HTML и отдаёт его без обращения к PHP | Резко снижает время ответа сервера |
| Объектный кеш | Хранит результаты запросов к базе в памяти | Ускоряет админку и динамические страницы магазина |
| Кеш браузера | Сохраняет стили, скрипты и картинки у посетителя | Повторные визиты почти мгновенны |
| CDN | Раздаёт статические файлы с ближайшего к посетителю сервера | Полезно при широкой географии аудитории |
Важный нюанс для интернет-магазинов: корзину, оформление заказа и личный кабинет кешировать нельзя, иначе один покупатель увидит корзину другого. Настройка исключений — работа, которую стоит доверить специалисту.
Плагины, тема и скрипты
Каждый плагин WordPress может добавлять на страницу собственные стили и скрипты — причём на все страницы, даже там, где он не используется. Слайдер, который показывается только на главной, грузит свои файлы и в блоге, и в каталоге. Форма с одной страницы тянет библиотеку на весь сайт.
Наш порядок работы с этим слоем:
- Проводим ревизию плагинов: удаляем неиспользуемые, заменяем тяжёлые на лёгкие аналоги, объединяем функции.
- Отключаем загрузку ресурсов плагинов там, где они не нужны.
- Откладываем выполнение второстепенных скриптов — чатов, виджетов, счётчиков — до момента, когда основной контент уже отрисован.
- Минимизируем и при необходимости объединяем CSS и JavaScript.
- Оцениваем тему: многофункциональные «темы на все случаи жизни» с визуальным конструктором часто тяжелее, чем нужно.
Шрифты
Отдельный, часто недооценённый пункт. Подключение пяти начертаний шрифта с внешнего сервиса может задерживать отображение текста. Лучше хранить шрифты на своём сервере, подключать только нужные начертания и наборы символов и разрешать браузеру сначала показывать текст системным шрифтом.
База данных и «невидимый» мусор
Со временем база данных WordPress обрастает лишним: сотни ревизий каждой страницы, удалённые комментарии со спамом, временные данные плагинов, которые давно удалены, но оставили свои таблицы. Всё это замедляет запросы, особенно в админке. Периодическая чистка и оптимизация таблиц — простая процедура, которую мы включаем в регулярное администрирование сайтов. Перед ней обязательно делается резервная копия.
С чего начать: план на один день
Если хочется быстрого результата, вот порядок действий, который в большинстве случаев даёт наибольший эффект за наименьшее время:
- замерить скорость ключевых страниц и сохранить результаты для сравнения;
- проверить версию PHP и обновить, предварительно сделав резервную копию;
- включить страничный кеш и кеш браузера;
- сжать и конвертировать изображения, включить отложенную загрузку;
- удалить неиспользуемые плагины;
- повторить замеры и сравнить.
Более тонкие доработки — отложенная загрузка скриптов, оптимизация шрифтов и критических стилей — требуют аккуратности и тестирования, потому что могут нарушить работу отдельных элементов.
Вывод
Скорость загрузки складывается из работы сервера, веса страницы и количества кода, который браузер должен обработать. Самые большие резервы обычно кроются в изображениях, отсутствии кеширования и избытке плагинов, а фундаментом служит нормальный хостинг с актуальной версией PHP. Ускорение — не разовая акция: каждый новый плагин и каждая загруженная без сжатия фотография постепенно возвращают сайт к прежнему состоянию. Поэтому мы рекомендуем не только провести оптимизацию, но и периодически контролировать показатели. Если ваш сайт стал заметно медленнее, чем хотелось бы, напишите нам — проведём диагностику и предложим конкретный план ускорения.