Автор блога убрал Next.js и получил 100 баллов во всех категориях Lighthouse

Автор Bloffy заменил Next.js на Hono в публичной части блога и получил 100 баллов Lighthouse во всех категориях. Объясняем, почему кеша и оптимизации изображений оказалось недостаточно.

· 4 мин чтения · 5 комментариев

Автор платформы Bloffy убрал Next.js из публичной части своего блога и получил 100 баллов во всех категориях Lighthouse. В материале от 26 октября 2026 года он объясняет, почему для почти неинтерактивных страниц выбрал Hono. Как пишет автор блога, кеширование и оптимизация изображений уже были настроены, но на страницы продолжал загружаться JavaScript фреймворка.

Почему кеша и изображений оказалось недостаточно

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

Сначала от Next.js отказываться не собирались. Автор использовал кеширование фреймворка и CDN, чтобы уменьшить задержки для посетителей из разных регионов. Затем решил, что статическому сайту достаточно CDN: при публикации записи управлять ещё и кешем Next.js, сбрасывая оба кеша, было неудобно.

Изображения он доверил Cloudflare Image Transformations вместо собственной схемы обработки файлов, которую пришлось бы поддерживать. По его словам, на бесплатном уровне доступны 5000 изображений. После этих изменений блог на Next.js 16.1.6 уже получал высокие оценки, но не 100 баллов. Замеры автор проводил через pagespeed.web.dev.

Что изменилось после перехода на Hono

При дальнейшем разборе автор обнаружил устаревший JavaScript, который не добавлял сам. Он убрал клиентские компоненты приложения и оставил только серверные, но оценка не изменилась. По его наблюдениям, на статической странице всё равно оставались части клиентской среды Next.js: скрипты, необходимые для маршрутизации и гидратации. Компоненты next/link и next/image также подключали клиентский код.

Даже отказ от этих двух компонентов не устранял код App Router. Чтобы убрать скрипты полностью, пришлось бы обходным способом вырезать их из готового HTML. Автор предпочёл перенести публичную часть на Hono: ему подошли простота фреймворка и поддержка JSX. Приложение для управления блогом при этом осталось на Next.js — для него автор считает такой инструмент подходящим.

До перехода объём неиспользуемого JavaScript составлял 230 460 байт, после — 407 байт. На новой публичной странице, по словам автора, JavaScript не загружается. Время сборки сократилось примерно на 40%. Длительная задача перед выводом страницы занимала 309,3 мс на Next.js и 68,01 мс на Hono — примерно на 78% меньше.

Автор сообщает о 100 баллах во всех категориях для страницы блога. При этом в материале есть и результат тестового сайта с оценкой SEO 69: на нём специально закрыта индексация. Эти показатели относятся к разным страницам, а выигрыш в миллисекундах не следует принимать за обещание такого же результата на любом сайте.

Что это значит для владельца сайта

Главный практический вопрос — что посетитель делает на конкретной странице. Если он в основном читает материал, разработчику полезно проверить, сколько кода загружается ради возможностей, которыми страница не пользуется. Для интерфейса со сложными действиями решение может быть другим: автор оставил Next.js в приложении управления блогом.

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

Моё мнение: простота должна окупать переделку

Мне близка мысль не держать на странице сложный инструмент только из-за того, что он уже выбран. Но я бы не ставил целью 100 баллов во всех четырёх категориях любой ценой. Для небольшого магазина, вроде нашей мастерской с запчастями, скорость важна, однако мне ещё нужно самому обновлять остатки. Если погоня за оценкой усложнит эту обычную задачу, польза окажется сомнительной.

Я бы сначала определил объём работ и бюджет, а затем сравнивал варианты на тех страницах, которые действительно нужны магазину. Пока ассортимент и процессы простые, готовая платформа мне кажется разумнее собственного решения. WordPress для небольшого магазина тоже подходит, если за ним регулярно следить. Фиксированная стоимость удобна, когда заранее ясно, какие страницы и процессы меняются. Поэтому я читаю этот опыт не как совет отказаться от Next.js, а как повод сверить возможности инструмента с повседневной работой сайта.

Источники

Откуда новость. Текст — пересказ своими словами, факты — из источника, мнение — автора.

  1. Removing Next.js Got My Blog to 100 on Every Lighthouse Category korindiehacker.bloffy.blog

Об авторе

Феликс Уус

владелец мастерской по ремонту велосипедов

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

Все публикации автора

Бэкенд 3 мин чтения

Next.js выпустил обновления безопасности для веток 15.5 и 16.3

Next.js выпустил версии 16.3.8 и 15.5.27, исправляющие уязвимости кеширования, раскрытия данных и оптимизации изображений. Командам рекомендуют обновить приложения и проверить используемые функции.

Фронтенд 4 мин чтения

Представлен Proa — Rust-фреймворк с серверным рендерингом и выводом в разные форматы

На Hacker News представили Proa — веб-фреймворк на Rust для серверного рендеринга и вывода компонентов в HTML и Markdown. Авторы предлагают проверить его на одном маршруте действующего проекта.

Написать комментарий

Не публикуется. Пришлём ссылку, чтобы подтвердить комментарий.

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

  1. Для владельца сайта здесь важна не только скорость, но и стоимость сопровождения. Переделка оправдана, если публичные страницы почти не меняются и их можно обновлять без разработчика; иначе экономия на JavaScript может обернуться постоянными расходами на поддержку отдельной реализации. Кто будет вносить изменения в шаблоны после перехода на Hono?

    1. Феликс Уус Автор публикации

      В описанном случае шаблоны будет менять сам автор Bloffy: Hono обслуживает публичную часть, а неинтерактивные страницы блога проще оставить без тяжёлого клиентского кода. Но это действительно выгодно только пока разметка и процесс публикации остаются понятными без отдельной разработки. Я бы перед переходом отдельно оценил, кто сможет править шаблоны и сколько времени это будет занимать; если каждое изменение придётся отдавать разработчику, экономия на загрузке может не окупиться.

      1. Феликс, правильно понимаю, что Hono здесь не только отдаёт HTML, но и заменяет Next.js именно в публичной части, а остальная платформа остаётся на прежнем стеке? Спрашиваю, потому что объём поддержки сильно отличается, если нужно сопровождать отдельный рендеринг блога или переносить весь проект.

        1. Для оценки объёма работ стоит ещё уточнить, где лежат данные блога и как устроена публикация: если Hono только рендерит те же записи, это одна задача, а перенос схемы контента и редакторских процессов — совсем другая. В небольшом центре я бы не стал переносить весь сайт ради скорости публичных страниц, если расписание и объявления сотрудники правят в Next.js без разработчика.

    2. Это зависит от того, где живут шаблоны и контент: переход на Hono сам по себе не означает, что каждую правку должен делать разработчик. Если автор оставил публикации и настройки в админке Bloffy, а шаблон меняется редко, сопровождать отдельный публичный слой может быть недорого. Но если новые блоки и варианты страниц требуют правок кода, экономию на загрузке JS надо сравнивать с часами поддержки — метриками до и после одной Lighthouse тут не обойтись.