Код 8 октября 2026 г. · 1 мин чтения
Общие причины: как один скрипт тормозит 1 240 страниц
Тысяча красных страниц — это обычно три причины. Как искать корень по шаблонам, а не чинить страницы по одной.
Типичный отчёт об аудите — это таблица на тысячу строк: каждая страница, каждая метрика, каждый совет. Команда открывает его, смотрит на первую сотню красных строк и закрывает. Чинить страницы по одной невозможно, а понять, с чего начать, таблица не помогает.
Страницы не болеют по отдельности
Сайт — это не тысяча страниц, а несколько шаблонов. Каталог, карточка товара, статья, лендинг. Если в шаблоне каталога подключён тяжёлый скрипт, он тормозит все 812 страниц каталога одинаково. Это одна проблема, а не 812.
Полный скан лаборатории группирует страницы по шаблонам и для каждого ресурса считает две цифры:
- на скольких страницах он грузится;
- на скольких он действительно нужен.
Разница между ними — это и есть потери.
Типичная картина
| Ресурс | Вес | Грузится | Нужен |
|---|---|---|---|
| slider.js | 214 КБ | 1 240 | 1 |
| reviews-widget.js | 61 КБ | 1 240 | 312 |
| map-embed.js | 120 КБ | 96 | 4 |
Слайдер главной попал в общий бандл и уехал на все страницы сайта. Исполнялось из него 19% кода — и только на одной странице. Одно изменение — динамический импорт в шаблоне главной — убрало 214 КБ JavaScript с 1 239 страниц.
Как это превращается в рецепт
Для каждой общей причины лаборатория пишет одно задание, а не тысячу: где подключён ресурс, как подключить его только там, где он нужен, и сколько это даст в килобайтах и миллисекундах. Задание приходит с диффом — его можно отдать разработчику или AI-агенту.
Три общие причины в этом примере давали 71% всех потерь. Это три задачи на один спринт вместо таблицы, которую никто не дочитал.