Главная » Создание сайтов » Как ускорить загрузку сайта: простые и рабочие способы
Как ускорить загрузку сайта: простые и рабочие способы

Как ускорить загрузку сайта: простые и рабочие способы

Создание сайтов|17 мая|Валентин Емельянов|Время чтения: 9 мин

Приветствую вас, друзья! Представьте: человек нашёл ваш сайт в поиске, кликнул и смотрит на белый экран. Секунда, две, три... Большинство людей на этом месте жмут «назад» и открывают следующий результат. Медленный сайт теряет посетителей ещё до того, как они увидели ваш контент. Хорошая новость в том, что большую часть проблем со скоростью можно решить без глубоких знаний программирования. В этой статье я расскажу, как понять, что именно тормозит ваш сайт, и какие способы ускорения дают самый ощутимый эффект.

Почему скорость загрузки так важна

Скорость влияет сразу на несколько вещей, и все они напрямую связаны с деньгами.

  • Поведение посетителей. Чем дольше грузится страница, тем больше людей уходит, не дождавшись. Особенно это заметно на мобильном интернете.
  • Позиции в поиске. Поисковые системы учитывают скорость и удобство страниц. Сама по себе скорость не выведет сайт в топ, но медленный сайт проигрывает при прочих равных.
  • Конверсия. Если корзина или форма заявки открывается с задержкой, часть клиентов не доходит до оплаты.
  • Нагрузка на сервер. Оптимизированный сайт выдерживает больше посетителей на том же тарифе хостинга.

Важно понимать: пользователю неважны технические цифры, ему важно ощущение. Если основной контент появился быстро, а какой-нибудь виджет догрузился через пару секунд внизу, сайт воспринимается как быстрый. Поэтому оптимизация — это не только «сделать меньше килобайт», но и «показать главное первым».

Как измерить скорость и найти узкие места

Начинать нужно с диагностики, иначе вы будете оптимизировать то, что и так работает нормально. Вот инструменты, которыми я пользуюсь:

  • PageSpeed Insights от Google — даёт оценку для мобильной и десктопной версии и список конкретных рекомендаций.
  • Вкладка Network в инструментах разработчика браузера — показывает, какие файлы загружаются, сколько они весят и сколько времени занимает каждый.
  • Вкладка Lighthouse там же — аудит производительности прямо в браузере.
  • Отчёты в Яндекс Метрике — позволяют увидеть время загрузки у реальных посетителей, а не в лабораторных условиях.

Обращайте внимание на ключевые метрики, которые поисковики используют для оценки удобства:

МетрикаЧто показываетК чему стремиться
LCPКогда отрисовался самый крупный элемент первого экрана — обычно главная картинка или заголовокДо 2,5 секунды
INPНасколько быстро страница реагирует на клики и нажатияДо 200 миллисекунд
CLSНасколько «прыгает» вёрстка во время загрузкиМеньше 0,1
TTFBСколько времени сервер думает, прежде чем начать отдавать страницуЧем меньше, тем лучше; ориентир — до 0,8 секунды

Проверяйте несколько типичных страниц, а не только главную: статью блога, карточку товара, страницу услуги. Часто главная вылизана, а внутренние страницы грузятся в три раза дольше.

Изображения — главный источник лишнего веса

По моему опыту, на большинстве сайтов, которые мне приходилось разбирать, самый большой выигрыш дают именно картинки. Типичная история: владелец загружает фото прямо с камеры телефона весом в несколько мегабайт, а на странице оно отображается размером с ладонь.

  1. Уменьшайте размеры до нужных. Если картинка в статье занимает ширину около 800 пикселей, нет смысла загружать файл шириной в несколько тысяч. Для экранов с высокой плотностью достаточно двукратного запаса.
  2. Сжимайте. Сервисы вроде TinyPNG или Squoosh уменьшают вес в разы практически без видимой потери качества.
  3. Используйте современные форматы. WebP и AVIF при том же качестве весят заметно меньше, чем JPEG и PNG. Браузеры их давно поддерживают.
  4. Включите ленивую загрузку. Атрибут loading="lazy" говорит браузеру загружать картинку, только когда пользователь до неё докрутит. Но не ставьте его на главное изображение первого экрана — оно должно грузиться сразу.
  5. Указывайте ширину и высоту. Атрибуты width и height позволяют браузеру заранее зарезервировать место, и вёрстка не прыгает при загрузке. Это напрямую улучшает показатель CLS.

На WordPress большую часть этой работы берут на себя плагины оптимизации изображений: они сжимают новые загрузки, конвертируют в WebP и умеют обработать уже загруженную медиатеку. На адаптивности картинок я подробно останавливался в статье про адаптивную вёрстку — там же рассказано про srcset, который позволяет отдавать телефону файл поменьше.

Кэширование и сжатие на стороне сервера

Каждый раз, когда посетитель открывает страницу на динамическом сайте, сервер собирает её заново: обращается к базе данных, выполняет код темы и плагинов. Кэширование позволяет сохранить готовую страницу и отдавать её следующим посетителям мгновенно.

Виды кэша, о которых стоит знать

  • Страничный кэш — готовый HTML-файл страницы. Даёт самый большой прирост для блогов и сайтов-визиток. На WordPress реализуется плагинами вроде WP Super Cache, W3 Total Cache, LiteSpeed Cache (если хостинг на сервере LiteSpeed).
  • Браузерный кэш — сервер сообщает браузеру, что стили, скрипты и картинки можно хранить у себя какое-то время. При повторном визите они не скачиваются заново.
  • Объектный кэш — хранение результатов запросов к базе данных в оперативной памяти (Redis, Memcached). Актуально для крупных сайтов и магазинов.

Второй обязательный пункт — сжатие передаваемых данных. Gzip или более эффективный Brotli уменьшают текстовые файлы (HTML, CSS, JavaScript) в несколько раз. Часто это включается одной галочкой в панели хостинга или строкой в конфигурации сервера. Проверить, работает ли сжатие, можно в той же вкладке Network: в заголовках ответа должно быть content-encoding.

Практический совет: после включения любого кэширования обязательно проверьте сайт в режиме инкогнито и попробуйте ключевые сценарии — отправку формы, добавление в корзину, вход в личный кабинет. Агрессивный кэш иногда показывает посетителям чужие данные или устаревшую корзину, поэтому такие страницы нужно исключать.

Скрипты, стили, шрифты и сторонние виджеты

После картинок следующий по значимости источник тормозов — JavaScript. Браузер, встретив обычный скрипт в коде, останавливает отрисовку страницы, пока не скачает и не выполнит его. Что с этим делать:

  • Атрибуты defer и async. Скрипты, которые не нужны для первого экрана, подключайте с defer — они загрузятся параллельно и выполнятся после разбора страницы.
  • Минификация. Удаление пробелов, комментариев и переносов уменьшает размер файлов. Большинство плагинов оптимизации делают это автоматически.
  • Удаление лишнего. Часто на сайте подключена целая библиотека ради одного слайдера или анимации, которая давно не используется. Проведите ревизию.
  • Шрифты. Каждое начертание — отдельный файл. Если вы подключили шрифт в шести вариантах толщины, а используете два, остальные четыре грузятся впустую. Добавьте font-display: swap, чтобы текст показывался сразу системным шрифтом, а не оставался невидимым до загрузки.

Отдельная боль — сторонние виджеты: онлайн-чаты, виджеты обратного звонка, встроенные карты, видео с YouTube, кнопки соцсетей, многочисленные счётчики. Каждый из них тянет свои скрипты с чужих серверов, и вы не можете контролировать их скорость. Мой подход простой: оставлять только то, что реально приносит пользу, а остальное загружать отложенно. Например, вместо встроенного видеоплеера показывать картинку-превью с кнопкой, и подгружать плеер только после клика. Карту на странице контактов можно грузить, когда пользователь до неё докрутил.

На WordPress источником проблем часто становятся плагины. Бывает, что на сайте их установлено несколько десятков, и половина подключает свои стили на каждой странице, даже если функция нужна на одной. Отключайте ненужные плагины, а для остальных используйте инструменты, которые позволяют выключить загрузку ресурсов там, где они не используются. Меньше плагинов — ещё и меньше уязвимостей, о чём я писал в статье о безопасности сайта на WordPress.

Хостинг, CDN и база данных

Можно идеально оптимизировать страницу, но если сервер отвечает медленно, всё упрётся в него. Высокий TTFB — главный признак того, что проблема на стороне хостинга или в тяжёлом серверном коде.

  • Хостинг. Самые дешёвые тарифы виртуального хостинга часто перегружены: на одном сервере сотни сайтов делят ресурсы. Если сайт растёт, имеет смысл перейти на более мощный тариф или VPS. Обратите внимание на актуальную версию PHP — новые версии работают заметно быстрее старых. Как выбирать хостинг под задачу, я разбирал в статье о выборе хостинга и домена.
  • Расположение сервера. Если аудитория в России, а сервер на другом континенте, каждый запрос проходит лишний путь. Выбирайте площадку ближе к своим посетителям.
  • CDN. Сеть доставки контента хранит копии статических файлов на серверах в разных регионах и отдаёт их с ближайшего к посетителю. Для небольшого блога это не обязательно, но для сайта с широкой географией и большим количеством картинок — заметное ускорение.
  • База данных. Со временем в ней накапливаются ревизии записей, спам-комментарии, временные данные плагинов. Периодическая очистка и оптимизация таблиц снижает нагрузку. Только перед любыми манипуляциями с базой обязательно делайте резервную копию.

План действий на один вечер

Чтобы не утонуть в рекомендациях, вот порядок, который даёт максимальный эффект при минимуме усилий:

  1. Прогоните главную и пару внутренних страниц через PageSpeed Insights, сохраните результаты для сравнения.
  2. Сделайте резервную копию сайта.
  3. Сожмите и конвертируйте изображения, включите ленивую загрузку для всего, что ниже первого экрана.
  4. Включите страничный кэш и проверьте, что формы и корзина работают корректно.
  5. Убедитесь, что на сервере включено сжатие Gzip или Brotli и стоит актуальная версия PHP.
  6. Проведите ревизию плагинов и сторонних виджетов, удалите всё неиспользуемое.
  7. Настройте отложенную загрузку скриптов и уберите лишние начертания шрифтов.
  8. Снова измерьте скорость и сравните с исходными цифрами.

Делайте изменения по одному и проверяйте сайт после каждого шага. Если что-то сломалось, вы сразу поймёте, какая настройка виновата.

Вместо заключения

Ускорение сайта — это не разовая акция, а привычка. Новые статьи с тяжёлыми картинками, свежие плагины, дополнительные виджеты постепенно снова утяжеляют страницы. Раз в пару месяцев стоит проверять скорость и проводить небольшую ревизию. Не гонитесь за идеальными ста баллами в тестах: для бизнеса важнее, чтобы реальный посетитель быстро увидел нужную информацию и смог выполнить действие. Начните с картинок и кэша — эти два шага на большинстве сайтов дают больше половины всего возможного результата, а дальше двигайтесь по плану, спокойно и последовательно.

Понравилась статья? Сохраните её в закладки.

Остались вопросы по теме?

Напишите на [email protected] — отвечу лично, а интересные вопросы разберу в следующих статьях.

Читайте также