Назад к блогу

Engineering & Performance

Categories

7 мин чтенияEngineering & Performance

Переход состояния видимости: измеряем просмотры страниц без надёжных beacon-запросов

pagehide, visibilitychange и Beacon API ведут себя по-разному в разных браузерах. Вот как надёжно зафиксировать конец сессии без cookie и постоянных идентификаторов.

Читать далее
6 мин чтенияEngineering & Performance

Заголовок Sec-GPC теперь есть везде: серверное определение для аналитики

Global Privacy Control передаётся как заголовок запроса Sec-GPC в каждом запросе. Разбираем, как читать его на edge и соблюдать в аналитике без cookie.

Читать далее
6 мин чтенияEngineering & Performance

Timing-Allow-Origin: что аналитика видит в Resource Timing API

Заголовок Timing-Allow-Origin определяет, сколько деталей о времени загрузки cross-origin ресурсов может прочитать страница. Вот что это значит для измерения производительности с приоритетом конфиденциальности.

Читать далее
7 мин чтенияEngineering & Performance

Правила спекулятивной загрузки и предварительный рендеринг: что аналитика неправильно понимает о предзагруженных страницах

API Speculation Rules в Chrome может отрендерить страницу ещё до того, как пользователь щёлкнет по ссылке. Вот как это искажает наивную аналитику — и как измерение без cookie на границе сети остаётся честным.

Читать далее
4 мин чтенияEngineering & Performance

Ваш скрипт аналитики, скорее всего, отключает back/forward cache

Back/forward cache делает навигацию по кнопке «назад» почти мгновенной, но один слушатель unload отключает его для всей страницы. Обычно виноваты трекинговые скрипты — и теперь CrUX измеряет ущерб.

Читать далее
5 мин чтенияEngineering & Performance

Ваш скрипт аналитики — это дыра в вашей Content-Security-Policy

Строгая CSP закрывает XSS. Сторонний тег аналитики снова его открывает. Почему host-allowlist и отсутствие SRI подрывают политику — и что чинит first-party трекер.

Читать далее
5 мин чтенияEngineering & Performance

Приватность по умолчанию на уровне HTTP: заголовки, сокращающие поверхность трекинга

Два заголовка ответа — Permissions-Policy и Referrer-Policy — определяют, сколько ваши страницы отдают ad-tech и третьим сторонам. Задайте их один раз, и поверхность слежки закроется по умолчанию.

Читать далее
4 мин чтенияEngineering & Performance

INP Наказывает за Тяжёлую Аналитику: Почему Ваш Трекер Работает в Главном Потоке

Interaction to Next Paint — это Core Web Vital, который чаще всего не проходят сайты, и данные с реальных устройств показывают, что скрипты поведенческого трекинга — одна из главных причин. Решение — отправлять меньше работы в главный поток.

Читать далее
3 мин чтенияEngineering & Performance

Soft Navigations: измеряем производительность SPA так, как это делает браузер

Эвристики soft navigation в Chrome наконец позволяют Core Web Vitals привязываться к клиентским сменам маршрута. Разбираем, как работает API и как измерять это без слежки.

Читать далее
4 мин чтенияEngineering & Performance

Добавление аналитики с приоритетом конфиденциальности на сайт Astro

View Transitions в Astro молча ломают стандартные скрипты аналитики. Вот правильный шаблон для отслеживания каждого изменения маршрута без cookie или баннера согласия.

Читать далее
4 мин чтенияEngineering & Performance

Добавление аналитики с приоритетом конфиденциальности в приложение SvelteKit

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

Читать далее
5 мин чтенияEngineering & Performance

Как трекер аналитики весом 2 КБ сохраняет ваши Core Web Vitals зелёными

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

Читать далее
4 мин чтенияEngineering & Performance

Добавление аналитики с приоритетом конфиденциальности в приложение Next.js

Пошаговое руководство по интеграции Monoid в Next.js без cookie, баннеров согласия или головной боли соответствия.

Читать далее