+7 499 938 8452 пн.-пт. 10:00 – 17:00

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

Прогон «гигабит офиса врёт, смотрите 4G» — про канал и маршрут замера. Здесь канал уже не главный. TTFB (сервер начал отвечать) короткий. Файлы сотни килобайт. Телефон всё равно занят: разобрать, скомпилировать, выполнить. Мегабайты в отчёте этого не показывают.

Проблема

Страх «тяжёлый сайт»: привыкли лечить картинкой. Жажда зелёной полоски размера. Стыд не сжать ещё раз, когда подрядчик прислал «осталось 180 КБ». На слабом аппарате 180 КБ скриптов дороже, чем 180 КБ фото: фото рисует видеокарта по готовым пикселям, скрипт занимает главный поток. Пока поток занят, INP (кнопка отозвалась) красный, даже если LCP (когда появилось главное фото) уже прошёл.

Композит (сохранённый каркас витрины) как раз отдаёт HTML рано. Дальше телефон один на один со скриптами шаблона, виджетов и «улучшайзеров». Сервер свою работу закончил. Касса ещё нет.

Причина

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

  • Размер файла в сети маленький, время «выполнился скрипт» — сотни миллисекунд на слабом телефоне.
  • Главный поток занят дольше, чем пауза до текста: человек видит витрину и не может нажать.
  • Повторный заход берёт файлы из памяти телефона, а разбор часто повторяется — «уже скачано» не значит «уже можно жать».
  • Десктоп офиса с восемью ядрами эту паузу прячет. Приёмка — слабый аппарат, не окно на столе.

Сжимать фото ещё раз эту паузу не снимает. Менять хостинг — тоже: хостер не исполняет JavaScript гостя. Новый тариф быстрее отдаст тот же файл, который телефон не успевает прожевать.

Решение

  1. На слабом телефоне открыть карточку и форму записи. Записать: когда приехал HTML, когда появилось фото, когда кнопка впервые ответила. Если фото рано, а кнопка поздно — смотрят скрипты, не мегабайты.
  2. В журнале производительности телефона найти длинные задачи после загрузки. Снять с карточки то, что не рисует цену и кнопку: календарь слотов до клика, сравнение, анимацию слайдера.
  3. Счётчик и цель заказа или заявки оставить. Остальные скрипты — по жесту или только на той странице, где они нужны.
  4. Повторить холодный заход и повторный: повтор не должен снова держать палец две секунды, если файлы уже в памяти.
  5. Сверить с офисным компьютером только как контроль: если десктоп живой, а телефон нет — это процессор аппарата, не сервер.

Проверка

Не ставят ещё один «ускоритель JavaScript» поверх пачки: он добавит работу главному потоку. Не закрывают месяц скрином размера файлов. Не винят 4G, если файлы уже в памяти, а кнопка молчит. Записывают три времени: ответ сервера, главное фото, живая кнопка на карточке и на заявке. Останавливаются, когда палец отвечает сразу после того, как цена на экране. Мегабайты оставляют в соседней строке: они про канал. Эта строка — про процессор телефона.

Чек-лист

  • На слабом телефоне открыть карточку и форму записи. Записать: когда приехал HTML, когда появилось фото, когда кнопка впервые ответила. Ес…
  • В журнале производительности телефона найти длинные задачи после загрузки. Снять с карточки то, что не рисует цену и кнопку: календарь сл…
  • Счётчик и цель заказа или заявки оставить. Остальные скрипты — по жесту или только на той странице, где они нужны.
  • Повторить холодный заход и повторный: повтор не должен снова держать палец две секунды, если файлы уже в памяти.
  • Сверить с офисным компьютером только как контроль: если десктоп живой, а телефон нет — это процессор аппарата, не сервер.


Назад в раздел

Подписаться на новые материалы раздела:












CAPTCHA

Каталог для ИИ