Руководства

Как ускорить сайт: практический чек-лист

Чтобы ускорить сайт, сначала измерьте его с помощью PageSpeed Insights, затем исправьте главную причину, которую он покажет, — обычно это слишком большие изображения, лишний JavaScript, тяжёлые шрифты или сторонние скрипты. Ориентируйтесь на целевые значения Core Web Vitals от Google «хорошо»: основной контент виден в течение 2,5 секунды, реакция на касания — в пределах 200 миллисекунд, и почти никакого прыгания макета. Большинство сайтов достигают этого несколькими изменениями, а не переписыванием.

Сначала измерьте, потом меняйте

Догадки тратят время. Два бесплатных инструмента подходят почти всем:

  • PageSpeed Insights (pagespeed.web.dev) — вставьте живой URL. Он показывает полевые данные от реальных пользователей Chrome (если у сайта достаточно трафика) и лабораторные данные от имитированной загрузки, а также список конкретных проблем.
  • Lighthouse в Chrome DevTools — тот же лабораторный тест, который можно запустить на любой странице, до которой можно дотянуться, включая превью. Тестируйте в мобильном режиме: проблемы проявляются на телефонах с медленной сетью.

Важны показатели Core Web Vitals от Google. По состоянию на сентябрь 2026 года документация Google на web.dev задаёт такие пороги «хорошо», измеряемые по 75-му перцентилю загрузок страниц:

МетрикаЧто измеряетХорошо
Largest Contentful Paint (LCP)Как быстро появляется главный контент (главное изображение, заголовок)2,5 с или меньше
Interaction to Next Paint (INP)Как быстро страница реагирует на клики, касания и ввод текста200 мс или меньше
Cumulative Layout Shift (CLS)Насколько сильно макет прыгает во время загрузки0,1 или меньше

INP заменил старую метрику First Input Delay в 2024 году. Если инструмент всё ещё показывает FID, он устарел.

Запишите стартовые показатели. После каждого исправления проверяйте снова, чтобы понимать, что помогло.

Куда уходит время: варианты и компромиссы

У каждой частой причины есть решение, и у каждого решения есть цена. Начните с тех, что сверху, — они самые дешёвые и самые распространённые.

ПричинаТипичное решениеКомпромисс
Большие изображенияУменьшить до отображаемого размера, сжать, использовать WebP или AVIFНебольшая потеря качества при сильном сжатии
Изображения грузятся в неправильном порядкеЛенивая загрузка изображений ниже первого экрана; высокий приоритет для главного изображенияНет, если главное изображение не загружается лениво
Слишком много JavaScriptРазделить код по страницам, убрать неиспользуемые библиотекиНекоторый рефакторинг
Рендеринг только на клиентеПререндеринг или серверный рендеринг публичных страницБольше настройки сборки или сервера
Веб-шрифтыМеньше семейств и начертаний, предзагрузка основного, font-display: swapМеньше типографического разнообразия
Сторонние скриптыУбрать неиспользуемые, остальные загружать после страницыПотеря виджета или трекера
Медленный ответ сервераКеширование, CDN, статический хостинг для контентных страницНужно продумать инвалидацию кеша

Изображения

Изображения — самая частая проблема и самая лёгкая для исправления. Фотография 4000 пикселей, показанная шириной 800 пикселей, заставляет каждого посетителя скачивать в пять раз больше, чем он видит.

  • Отдавайте изображения того размера, в котором они отображаются, с адаптивными srcset для телефонов и компьютеров.
  • Используйте современные форматы (WebP или AVIF) и разумное сжатие.
  • Задавайте width и height каждому изображению, чтобы браузер резервировал место. Только это устраняет большую часть сдвигов макета.
  • Загружайте изображения ниже первого экрана лениво с помощью loading="lazy".
  • Никогда не загружайте лениво главное изображение вверху страницы. Рекомендации Google по LCP на этот счёт прямолинейны: ленивая загрузка LCP-изображения всегда его задерживает. Вместо этого задайте fetchpriority="high".

JavaScript

Многие сайты, созданные ИИ, — это одностраничные приложения (SPA): браузер скачивает JavaScript-бандл, а затем рисует страницу. Чем больше бандл, тем дольше пустой экран. Исправления по возрастанию трудоёмкости:

  1. Уберите то, что не используете. Попросите список зависимостей и удалите библиотеки, которые однажды добавили и забыли, — библиотеку дат ради одной даты, полный набор иконок ради пяти иконок.
  2. Разделите по маршрутам. Загружайте код панели администратора только тогда, когда её открывают, а не на главной странице.
  3. Пререндерите публичные страницы. Маркетинговая страница, которая отдаётся как настоящий HTML, появляется до того, как запустится любой JavaScript. Это также помогает поисковым системам; см. SEO для сайтов, созданных ИИ.

Медленный INP обычно означает одну длинную задачу, которая блокирует страницу, — фильтрацию огромного списка при каждом нажатии клавиши или перерисовку всей таблицы при изменении одной ячейки. Панель Performance в Chrome DevTools покажет, какая именно.

Шрифты

Каждое семейство шрифтов и каждое начертание — ещё один файл. Обычно достаточно двух семейств и трёх-четырёх начертаний. Предзагружайте шрифт, который используется над первым экраном, применяйте font-display: swap, чтобы текст показывался сразу, и хостите шрифты сами, если внешний сервис шрифтов медленный для ваших посетителей.

Сторонние скрипты

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

Ответ сервера

Time to first byte (TTFB) — сколько времени сервер тратит, чтобы начать отвечать, — лежит под всеми остальными метриками. Статические страницы, которые отдаются с CDN (сети серверов, расположенных близко к посетителям; см. что такое CDN), быстрые почти везде. Страницы, которые сервер собирает на каждый запрос, зависят от этого сервера и его базы данных. Обычные решения — кеширование повторяющейся работы и индексы в базе данных для медленных запросов.

Промпты, которые работают

Будьте конкретны: назовите страницу, метрику и ограничение. Вставьте результаты PageSpeed Insights, если они у вас есть.

PageSpeed Insights показывает LCP 4,8 с на мобильном для главной страницы, а LCP-элемент — главное изображение. Уменьши и преобразуй главное изображение в WebP, отдавай адаптивные размеры, задай width и height, поставь fetchpriority="high" и убедись, что оно не загружается лениво. Загружай лениво каждое изображение ниже первого экрана. Не меняй дизайн.

Проверь зависимости этого приложения. Перечисли каждый пакет, что его использует и примерно сколько он добавляет к бандлу. Удали неиспользуемые и раздели маршруты /admin и /settings на отдельные чанки, которые загружаются только при посещении.

Поле поиска на /products тормозит. Добавь debounce для фильтра, не перерисовывай весь список при каждом нажатии клавиши и разбей список на страницы или виртуализируй его, если в нём больше 200 элементов.

Пошагово

  1. Проверьте живую страницу в PageSpeed Insights на мобильном. Запишите LCP, INP и CLS и три главные проблемы из списка.
  2. Сначала изображения: размеры, форматы, размеры в пикселях, ленивая загрузка ниже первого экрана, приоритет для главного.
  3. Уберите сторонние скрипты, которыми не пользуетесь, остальные отложите.
  4. Сократите шрифты до того, что нужно дизайну.
  5. Уменьшите JavaScript: уберите неиспользуемые пакеты, разделите по маршрутам.
  6. Пререндерите публичные страницы, если они всё ещё рендерятся на клиенте и LCP всё ещё медленный.
  7. Проверьте сервер: кеширование, индексы базы данных, статический хостинг для редко меняющегося контента.
  8. Опубликуйте и перепроверьте. Полевые данные в PageSpeed Insights обновляются в течение следующих недель по мере поступления реальных визитов, поэтому ранние результаты оценивайте по лабораторным данным.

Частые ошибки

  • Тестирование только на быстром ноутбуке. Ваши посетители сидят с телефонами среднего класса и нестабильным мобильным интернетом. Тестируйте в мобильном режиме.
  • Гонка за идеальными 100 баллами. Лабораторная оценка — ориентир. Когда Core Web Vitals в хорошем диапазоне, контент и удобство важнее последних нескольких баллов.
  • Ленивая загрузка всего, включая главное изображение. Это ухудшает LCP.
  • Добавление плагина или библиотеки для ускорения. Удаление лишнего почти всегда лучше, чем добавление кода для управления им.
  • Оптимизация превью, а не живого сайта. Режимы разработки работают с неоптимизированными сборками. Измеряйте опубликованный URL.
  • Ускорение один раз. Каждый новый виджет, изображение и функция добавляют вес. Перепроверяйте после крупных изменений.

Чек-лист скорости

  • LCP ≤ 2,5 с, INP ≤ 200 мс, CLS ≤ 0,1 на мобильном
  • Изображения уменьшены, сжаты, в современном формате, с width и height
  • Главное изображение не загружается лениво; изображения ниже первого экрана — лениво
  • Нет неиспользуемых библиотек JavaScript; тяжёлые маршруты вынесены отдельно
  • Два семейства шрифтов или меньше, основной шрифт предзагружен
  • Только те сторонние скрипты, которыми вы действительно пользуетесь, и загружаются они поздно
  • Публичные страницы пререндерены или статичны, где это возможно
  • Перепроверено на живом URL после публикации

Скорость и мобильная вёрстка идут вместе; см. как сделать сайт адаптивным для телефонов. Для полной проверки перед запуском как вывести прототип ИИ в продакшен описывает остальное.

Скорость на Mythex

На Mythex вы вносите эти изменения, попросив в чате, или в редакторе кода на Pro. Проверяйте опубликованный URL, а не Preview, потому что Preview работает на сервере разработки. Статические фронтенды развёртываются как статические сайты при публикации (статические сайты), что подходит для контентных страниц. Приложения с сервером масштабируются до нуля: они засыпают, когда простаивают, и просыпаются при следующем визите, поэтому первый запрос после тихого периода медленнее, а подключённая база данных засыпает через 5 минут простоя (ограничения хостинга). Если публичная страница медленная только при первом визите, скорее всего, причина в этом. Статические маркетинговые страницы помогают. После изменений опубликуйте снова и обновите страницу с полной перезагрузкой.

Вопросы

Какое время загрузки страницы считается хорошим?

Core Web Vitals от Google дают самые понятные ориентиры: основной контент должен появиться в течение 2,5 секунды (LCP), страница должна реагировать на ввод за 200 миллисекунд (INP), а смещение макета должно оставаться на уровне 0,1 или ниже (CLS), измеряемом по 75-му перцентилю реальных визитов.

Влияет ли скорость сайта на SEO?

Немного, да. Google учитывает сигналы качества страницы, включая Core Web Vitals, но релевантный контент важнее во много раз. Скорость сильнее влияет на посетителей, которые уходят с медленных страниц ещё до того, как что-то прочитают.

Почему оценка PageSpeed Insights каждый раз разная?

Лабораторная оценка получается из одной имитированной загрузки, поэтому тайминги сети и сервера меняются от запуска к запуску. Запустите проверку несколько раз и смотрите на тенденцию, а больше доверяйте разделу полевых данных, который собирается с реальных пользователей Chrome.

Что чаще всего тормозит сайты?

Обычно слишком большие изображения, слишком много JavaScript, веб-шрифты и сторонние скрипты, такие как виджеты чата, пиксели рекламы и встраиваемые элементы. Медленный ответ сервера или бэкенд, который запускается с холодного старта, добавляет задержку ко всему этому.

Mythex · Pricing · Создавайте что угодно с ИИ · Шаблоны сайтов и приложений · Сравнения Mythex · Глоссарий по созданию приложений с ИИ · Бесплатные инструменты для создания приложений с ИИ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)