Оптимизация шрифтов для 1С-Битрикс: ускорение загрузки и LCP

Оптимизация шрифтов для 1С-Битрикс Мы постоянно сталкиваемся с проектами, где шрифты Google Fonts, подключенные через `@import`, становятся главным тормозом загрузки. Один наш клиент — интернет-магазин на редакции «Бизнес» — имел LCP 4,8 с на мобильных, и 70% этого времени приходилось на шрифты.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Оптимизация шрифтов для 1С-Битрикс: ускорение загрузки и LCP
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    880
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Оптимизация шрифтов для 1С-Битрикс

Мы постоянно сталкиваемся с проектами, где шрифты Google Fonts, подключенные через @import, становятся главным тормозом загрузки. Один наш клиент — интернет-магазин на редакции «Бизнес» — имел LCP 4,8 с на мобильных, и 70% этого времени приходилось на шрифты. После аудита мы перенесли шрифты на сервер, применили subsetting и preload — LCP упал до 2,1 с. Такие результаты возможны только при системном подходе.

Почему Google Fonts замедляет ваш сайт?

Типичная ситуация на Битрикс-проекте: сайт подключает 4–6 начертаний Google Fonts через @import прямо в CSS. Каждый @import блокирует рендер, браузер ждёт CSSOM, а пользователь видит пустую страницу или «мигание невидимого текста» (FOIT). В Lighthouse это фиксируется как «Ensure text remains visible during webfont load» и напрямую бьёт по метрике LCP (Largest Contentful Paint).

Загрузка шрифтов с внешнего CDN добавляет DNS-lookup, TCP handshake и TLS negotiation — суммарно от 100 до 300 мс на холодном соединении. Плюс каждый файл шрифта может весить 150–200 КБ. Без оптимизации render-blocking задержка легко достигает 500 мс и более.

Как правильно подключить шрифты в Битрикс?

Self-hosted шрифты

Перенос шрифтов на свой сервер устраняет зависимость от внешнего CDN. Скачиваем файлы через google-webfonts-helper и размещаем в /local/templates/[template]/fonts/. CSS-правила с font-display: swap гарантируют, что текст не будет скрыт во время загрузки:

@font-face { font-family: 'Roboto'; src: url('/local/templates/main/fonts/roboto-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0400-045F, U+0490-0491; /* только кириллица */ } 

Preload для критических начертаний

В header.php шаблона добавляем preload для начертания, используемого в первом экране. Preload даёт браузеру указание скачать шрифт с высоким приоритетом:

$APPLICATION->AddHeadString( '<link rel="preload" href="/local/templates/main/fonts/roboto-400.woff2" as="font" type="font/woff2" crossorigin="anonymous">' ); 

Preload работает только для одного-двух начертаний. Preload всех вариантов контрпродуктивен — браузер скачивает их с высоким приоритетом, конкурируя с HTML и критическим CSS.

Subsetting: выбрасываем лишние глифы

Полный Roboto весит 150–200 КБ на начертание. Для русскоязычного сайта нужны только latin + cyrillic. С помощью pyftsubset (fonttools) удаляем ненужные символы:

pyftsubset roboto-regular.ttf \ --unicodes="U+0020-007E,U+0400-045F,U+0490-0491,U+00A0" \ --flavor=woff2 \ --output-file=roboto-400-subset.woff2 

Результат — файл 20–35 КБ вместо исходных 150+ КБ.

Variable fonts

Если дизайн использует несколько начертаний одной гарнитуры, рассмотрите variable font — один файл заменяет несколько. Например, Roboto VF весит ~75 КБ и покрывает все веса, тогда как отдельные subset-файлы четырёх начертаний весят ~120 КБ. Подключение:

@font-face { font-family: 'Roboto'; src: url('/fonts/Roboto-VF.woff2') format('woff2 supports variations'), url('/fonts/Roboto-VF.woff2') format('woff2'); font-weight: 100 900; font-display: swap; } 

Кейс из нашей практики: интернет-магазин строительных материалов

Магазин на Битрикс «Бизнес» подключал 3 семейства через Google Fonts: Roboto (3 начертания), Open Sans (2), Oswald (1). Итого 6 HTTP-запросов к fonts.googleapis.com + 6 запросов к fonts.gstatic.com. Render-blocking задержка составляла 480–620 мс, LCP на мобильных — 4,8 с.

После переноса на self-hosted с subsetting и одним preload для Roboto 400:

  • LCP снизился до 2,1 с
  • Суммарный вес шрифтов: с 820 КБ до 94 КБ
  • Render-blocking шрифтов: 0 мс (благодаря font-display: swap + preload)

Работы заняли 2 дня: анализ текущего подключения, подготовка subset-файлов, правка header.php и fonts.css, тестирование в Lighthouse и WebPageTest. Это — пример системной оптимизации, доступной каждому проекту.

Диагностика проблем

Быстрая проверка через DevTools: вкладка Network → Font. Если в столбце Initiator написано stylesheet (а не preload), шрифт загружается реактивно, а не проактивно. Метрика FCP в Lighthouse ниже 1,8 с при наличии render-blocking шрифтов — практически недостижима без описанных оптимизаций. Подробнее о метриках читайте на Wikipedia.

Сравнение методов подключения шрифтов:

Метод Render-blocking Размер запросов LCP (пример) Поддержка браузеров
Google Fonts @import Да 600+ КБ, 12 запросов 4,8 с Все
Self-hosted + swap + preload Нет 94 КБ, 1 запрос 2,1 с Все
Variable fonts + subsetting Нет 75 КБ, 1 запрос 1,9 с Современные (95%)

Что входит в работу

Наш пакет оптимизации шрифтов для Битрикс включает:

  • Аудит текущих подключений шрифтов (скрипты, стили, заголовки)
  • Перенос шрифтов на self-hosted с поддержкой subsetting
  • Настройка preload для критических начертаний
  • Конфигурация кэширующих заголовков (Cache-Control, ETag)
  • Применение font-display: swap для всех @font-face
  • Тестирование LCP, FCP и общего веса страницы
  • Предоставление отчёта с рекомендациями

Сроки

Масштаб Состав Срок
Базовый Self-hosted + font-display: swap + preload 1–2 дня
Полный Subsetting, variable fonts, аудит всех шаблонов, настройка заголовков кэширования 3–5 дней

Как заказать оптимизацию?

Свяжитесь с нами для бесплатного аудита текущего состояния шрифтов. Оценим проект за 1 день и предложим конкретный план работ. Закажите консультацию — мы покажем, как шрифты влияют на вашу скорость и конверсию. Гарантируем снижение LCP минимум на 40% или вернём деньги.