Fast Blocks Документация

Что делает модуль

Две независимые возможности, у каждой свой переключатель в Модули → [TH] Fast Blocks → Настройки.

1. Блоки по устройствам

CS-Cart умеет скрывать блок на телефоне, планшете или десктопе галочками видимости в Дизайн → Макеты. Без модуля это правило отображения: блок всё равно собирается и уезжает в браузер, а прячут его уже стили. С модулем блок для этого устройства не собирается вовсе.

Настраивать заново ничего не нужно. Включите настройку, и галочки, которыми вы и так пользуетесь, начнут экономить трафик.

Два следствия, к которым стоит быть готовым:

  • Блок, скрытый на телефонах, отсутствует в исходном коде страницы на телефоне. Это норма, а не ошибка.
  • Кеш блоков хранится отдельно для телефона, планшета и десктопа, поэтому первый посетитель не прогревает кеш за всех.

2. Ленивые блоки

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

За сколько экранов начинать загрузку, задаётся один раз на весь магазин. По умолчанию 2: блок начнёт грузиться, когда до него останется два экрана.

Какие блоки отмечать

Отмечать ленивыми Не трогать
Товарные скроллеры ниже первого экрана Всё, что на первом экране
Полосы брендов, баннеры, блоки отзывов Основное содержимое, фильтры товаров, хлебные крошки
Блог и плитки категорий ниже по странице Блоки корзины и оформления заказа

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

Скелетон

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

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

Кеш перед магазином

Модуль решает, что собирать, по User-Agent, поэтому любой кеш перед PHP должен знать, что ответ от него зависит. Модуль отдаёт Vary: User-Agent, пока включена раздача по устройствам, и правильно настроенному кешу этого хватает. Два случая требуют внимания:

  • Микрокеш nginx или FastCGI cache. Добавьте $http_user_agent в ключ кеша или хотя бы производный от него признак устройства. Кеш по одному URL сохранит десктопную страницу и отдаст её телефонам.
  • Varnish и Cloudflare. Оба по умолчанию игнорируют Vary: User-Agent для HTML. В Varnish приведите User-Agent к классу устройства в vcl_recv и добавьте его в хэш. В Cloudflare используйте Cache Rules со своим ключом кеша либо отключите кеширование HTML.

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

Поисковые системы

Google индексирует mobile-first. Блок, скрытый на телефонах, отсутствует и на той странице, которую видит Google, поэтому скрытие текстового контента на телефоне убирает его из индекса. Скрывайте оформительские блоки, а не те, которые должны находиться в поиске.

Ленивых блоков это не касается: они запрашиваются и отрисовываются, пока страница оценивается, поэтому робот, выполняющий JavaScript, их видит.

Если что-то пошло не так

Что видите Что проверить
Скрытые блоки всё равно приходят на телефон Кеш перед магазином, см. выше. Проверяйте со свежим параметром в адресе.
Блок остаётся скелетоном Откройте консоль браузера. Если запрос возвращает пусто, блок скорее всего уже не помечен ленивым: сервер сверяется с базой, а не с запросом.
Страница дёргается при появлении блока Задайте этому блоку резервируемую высоту.
Модуль сам выключился Не заполнен номер лицензии или он не совпадает с доменом. Модули → [TH] Fast Blocks → Настройки → Активация.

Скорость магазина

Этот модуль убирает то, что витрине незачем отправлять. Вторая половина скорости зависит от сервера: кэш, сжатие, HTTP/2, формат картинок. Всё, что мы применили на своём демо-сервере, и цифры, которые это дало, собраны на отдельной странице:

Рекомендации к серверу

Две настройки оттуда делаются в админке за минуту и сильнее всего влияют на вес картинок:

Список изменений

1.00 (5 августа 2026)
Первый релиз