Marcus Halloway

Marcus has spent the last 9 years on Core Web Vitals, mostly on the browser side. He worked at Cloudflare on the Workers team, shipping early-hints and 103 response support for the Pages product, and before that did two years at Vercel debugging Next.js hydration regressions across enterprise customers. He still maintains a small open-source library for measuring CLS on client-side route transitions, which he refuses to rewrite in TypeScript on principle. His current obsession is third-party script governance: the embedded chat widgets, A/B testing tags, and CDP snippets that quietly destroy TBT on real devices. He consults part-time for two DTC brands and writes here about lab-vs-field discrepancies, the actual cost of a 200KB JS bundle on a Moto G Power, and why your synthetic Lighthouse score is lying to you.

Статьи автора Marcus Halloway

Long Animation Frames API в 2026: как диагностировать INP с помощью LoAF
Оптимизация рендеринга

Long Animation Frames API в 2026: как диагностировать INP с помощью LoAF

Long Tasks API устарел для диагностики INP. Long Animation Frames API в Chrome 123+ даёт детальную атрибуцию скриптов, связь с INP через web-vitals 4.0 и точные данные о forced reflow. Гайд с примерами кода и чек-листом внедрения в RUM.

Marcus Halloway 10 мин чтения
Оптимизация INP в 2026: как добиться отзывчивости за 200 мс
Оптимизация рендеринга

Оптимизация INP в 2026: как добиться отзывчивости за 200 мс

INP — самая проблемная метрика Core Web Vitals: 43% сайтов не укладываются в 200 мс. Разбираем три фазы INP, диагностику через DevTools и LoAF API, а также scheduler.yield(), Web Workers и подходы для React и Vue.

Marcus Halloway 14 мин чтения
CSS content-visibility и Containment: ленивый рендеринг, который ускоряет страницу в 7 раз
Оптимизация рендеринга

CSS content-visibility и Containment: ленивый рендеринг, который ускоряет страницу в 7 раз

Две строчки CSS ускоряют рендеринг в 7 раз. Разбираем CSS content-visibility и containment: как работает ленивый рендеринг, реальные кейсы с цифрами, пошаговое внедрение и типичные ошибки.

Marcus Halloway 12 мин чтения
Оптимизация JavaScript-бандла в 2026: tree shaking, code splitting и анализ размера
Оптимизация загрузки ресурсов

Оптимизация JavaScript-бандла в 2026: tree shaking, code splitting и анализ размера

Как уменьшить JavaScript-бандл в Vite и Webpack: tree shaking, code splitting, vendor splitting и анализ размера. Рабочие примеры конфигов, чек-лист из 10 шагов и реальные кейсы Dropbox и redBus.

Marcus Halloway 14 мин чтения
Speculation Rules API в 2026: пререндеринг и мгновенная навигация с нулевым LCP
Мгновенная навигация

Speculation Rules API в 2026: пререндеринг и мгновенная навигация с нулевым LCP

Speculation Rules API позволяет браузеру загружать и рендерить страницы в фоне, обеспечивая мгновенные переходы с LCP близким к нулю. Синтаксис, стратегии prefetch + prerender, интеграция с WordPress 6.8+ и реальные данные Core Web Vitals.

Marcus Halloway 14 мин чтения
Приоритизация загрузки ресурсов в 2026: fetchpriority, preload, preconnect и 103 Early Hints
Оптимизация загрузки ресурсов

Приоритизация загрузки ресурсов в 2026: fetchpriority, preload, preconnect и 103 Early Hints

Практическое руководство по управлению приоритетами загрузки ресурсов. Разбираем fetchpriority, preload, preconnect и 103 Early Hints — с примерами кода, таблицами приоритетов и пошаговой стратегией оптимизации LCP.

Marcus Halloway 21 мин чтения