jw-dev.pro
Все записи
/ru/log/page-weight-after-tilda/

Вес страницы после Tilda: три поправки к замеру

замерскорость

В описании переезда салона с Tilda стояло «−51…−60% веса страниц». Цифра пришла из презентации, а не из замера, и проверить её было нечем: старого сайта больше нет. Сохранился экспорт предшественника — и по нему получилось посчитать честно.

Вес страницы и вес кода — разные числа

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

Полифилл не считается. Tilda отдаёт 181 КБ совместимости с атрибутом nomodule. Браузер, который понимает модули, этот файл не запрашивает вовсе. В сохранённой папке он лежит и весит, в сети его нет.

Иконка сайта не считается. У старого сайта ей был SVG на 2,3 МБ. Он качается один раз за визит и кешируется, а не приходит с каждой страницей. В вес одной страницы он попадать не должен — иначе первый же экран выглядит вчетверо тяжелее, чем он есть.

Из srcset берётся один файл. Браузер выбирает одну картинку из набора, а не весь набор. Я считал ту, что стоит в src, то есть самую крупную из возможных — так «после» заведомо не льстит себе.

Как посчитать

Проще всего не по папке, а по HAR: в нём записано ровно то, что ушло по сети.

# Вес по типам ресурсов из HAR — так, как их качает браузер
jq -r '
  .log.entries
  | map(select(.response.status == 200))
  | map({ type: .response.content.mimeType, bytes: .response.content.size })
  | group_by(.type)
  | map({ type: .[0].type, kb: (map(.bytes) | add / 1024 | floor) })
  | sort_by(-.kb)[]
  | "\(.kb) КБ  \(.type)"
' page.har

Что получилось

Медиана по девятнадцати одинаковым страницам: код страницы — разметка, стили и скрипты — стал легче на 70% в сыром виде и на 75% по сети. Скриптов было одиннадцать файлов на 189 КБ, стало четыре на 6 КБ. Запросов на страницу — 14 вместо 20.

Оговорка, без которой цифра врёт

Легче стал код. Страница целиком у части разделов стала тяжелее прежней: на новых страницах появились фотографии, которых на Tilda не было вовсе — старые сервисные страницы состояли из одного текста. Сравнивать «страницу с фото» и «страницу без фото» по мегабайтам бессмысленно, поэтому в кейс вынесены только медианы по коду.

Замер 22.08.2026 по сохранённому экспорту doctor.cosmetolog.pro. Внешние адреса — шрифты Google, GTM, CDN — не считались ни у одной из сторон: их размер недоступен, и есть они только у старого сайта.