# Страницы datool.ru стали грузиться быстрее: что мы ускорили

> Страницы datool.ru открываются быстрее: склеенные и сжатые стили и скрипты, лёгкие шрифты WOFF2 и аватары WebP, картинки через CDN и по мере прокрутки, вкладки канала из кеша и заранее, быстрые расчёты в базе.

Новости · 2026-11-01 · Евгений Химич · https://hi.datool.ru/news/faster-pages/

Страницы datool.ru стали открываться заметно быстрее. Мы оптимизировали код сайта: стили и скрипты склеены и сжаты, шрифты и аватары каналов стали в разы легче, картинки идут через CDN и подгружаются по мере прокрутки, а тяжёлые вкладки страницы канала берутся из кеша и начинают загружаться ещё до нажатия. Каталог каналов MAX, рейтинги, «Сегодня в MAX» и страница любого канала теперь открываются почти сразу.

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

## Меньше файлов: склеенные стили и скрипты

Раньше страница канала загружала 30 отдельных файлов стилей и 31 скрипт, главная — 14 и 9. Каждый файл — это отдельный запрос, и на мобильном интернете они заметно тормозили показ страницы.

Теперь стили и скрипты собираются в несколько общих файлов: у страницы канала их 3 и 3, у главной — 3 и 2. Внешний вид при этом не изменился, порядок стилей тот же.

- **Минификация.** Из файлов убраны комментарии и лишние отступы. Стили страницы канала стали весить 36 КБ вместо 66 КБ, скрипты — 28 КБ вместо 59 КБ. У остальных страниц экономия похожая.
- **Сжатие при передаче.** Статика дополнительно сжимается алгоритмом brotli, который примерно на 15 % экономнее привычного gzip.
- **Вечный кеш браузера.** В имени каждого файла есть отпечаток его содержимого. Браузер скачивает файл один раз и дальше берёт его из своего кеша, пока мы не выпустим новую версию.

## Шрифты и аватары в разы легче

- **Шрифт PT Sans в формате WOFF2** весит около 25 КБ на начертание вместо примерно 120 КБ, при этом все буквы на месте. Браузер начинает скачивать шрифт сразу, ещё до разбора стилей, и текст быстрее появляется в нужном начертании.
- **Маленькие аватары.** В списках — каталоге, рейтингах, «Сегодня в MAX», «Статистике MAX» и вкладках канала — аватар показывается маленькой копией: 96 точек и 1–2 КБ вместо 320 точек и до 30 КБ. На странице «Сегодня» аватары весили около 0,75 МБ, теперь примерно в 10 раз меньше. Крупный аватар остался там, где он нужен: в шапке канала и на странице поста.
- **Формат WebP.** Аватары и превью картинок постов хранятся в WebP и уменьшены до размеров, в которых их показывает сайт: превью поста — не больше 800 точек по длинной стороне.

## Картинки через CDN и по мере прокрутки

Аватары каналов и картинки постов отдаёт сеть доставки контента (CDN), а не сервер сайта. CDN хранит копии картинок ближе к посетителю и разгружает наш сервер.

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

## Вкладки канала — из кеша и заранее

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

- **Готовые вкладки в кеше.** Посчитанная вкладка хранится в отдельном кеше страниц: неделя и месяц — 10 минут, квартал — 30 минут, год и всё время — час. Когда срок вышел, посетитель сразу видит прошлый ответ, а свежий считается в фоне. Ждать расчёта приходится только самому первому посетителю периода.
- **Загрузка до нажатия.** Вкладка начинает загружаться, когда вы наводите курсор на её кнопку или переходите к ней с клавиатуры. К моменту нажатия ответ обычно уже пришёл, и вкладка открывается без «Загрузки…». На телефоне запрос уходит при касании.
- **Рейтинги, подборки, «Сегодня в MAX» и «Статистика MAX»** считаются заранее, раз в час, поэтому страница только показывает готовый результат.

## Быстрее работает база данных

Часть ускорения не видна снаружи: мы переписали самые медленные расчёты.

- **Итоги «За всё время»** раньше у каналов с сотнями тысяч постов считались до 53 секунд. Теперь они берутся из дневной статистики и считаются за доли секунды.
- **«Часы выхода месяц за месяцем»** во вкладке «График публикаций» у самых крупных каналов считались до 6 секунд при первом открытии. Теперь расчёт идёт по почасовой сводке и занимает около 0,05 секунды.
- **«Вовлечённость подписчиков»** за год у крупных новостных каналов считается в полтора-два раза быстрее: посты и вложения читаются одним запросом, а не несколькими.
- **Поиск по тексту публикаций** работает по полнотекстовому индексу, а поиск канала по имени — по точному индексу, поэтому не перебирает всю таблицу.

Каждое такое ускорение мы сначала замеряем на самых больших каналах и только потом выкладываем.

## Кому это заметно

- **Тем, кто смотрит с телефона**: меньше файлов и лёгкие картинки особенно важны на мобильном интернете.
- **Аналитикам и рекламодателям**: вкладки крупных каналов за год и всё время больше не заставляют ждать.
- **Тем, кто приходит из поиска**: страница появляется быстро, а поисковые системы видят быстрый сайт.

## Как проверить

1. Откройте [«Сегодня в MAX»](https://max.datool.ru/today/): аватары лидеров и итоги дня появляются сразу.
2. Перейдите на страницу крупного канала, например [«Краснодарские известия»](https://max.datool.ru/channels/ki_krd/).
3. Наведите курсор на вкладку [«Охваты публикаций»](https://max.datool.ru/channels/ki_krd/#reach) и нажмите её: данные откроются без ожидания.
4. Прокрутите [каталог каналов](https://max.datool.ru/channels/) или [рейтинги](https://max.datool.ru/ratings/): аватары подгружаются по ходу прокрутки.

## Частые вопросы

### Почему иногда вкладка всё же показывает «Загрузку…»?

Так бывает, если вы первым открыли этот канал за выбранный период, например за год, после того как истёк срок кеша. Тогда расчёт идёт прямо сейчас, а следующие посетители получат готовый ответ.

### Устаревают ли данные из-за кеша?

Кеш вкладок живёт от 10 минут до часа, в зависимости от длины периода. Для коротких периодов это несколько минут, а у года и всего времени данные за последний час почти не меняют картину.

### Нужно ли чистить кеш браузера после обновлений сайта?

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

### Будет ли сайт ещё быстрее?

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

Быстрый сайт — это уважение к вашему времени. Откройте [каталог каналов MAX](https://max.datool.ru/channels/) и посмотрите, как быстро он теперь работает.
