Биткойн Стартапы и венчурный капитал

Переход на Eleventy: как мы повысили производительность сайта на 24%

Биткойн Стартапы и венчурный капитал
We migrated our site to Eleventy and increased performance by 24%

Опыт миграции сайта с Next. js на Eleventy, разбирающий ключевые аспекты повышения скорости загрузки, уменьшения количества зависимостей и оптимизации кода для комфортного пользовательского опыта.

В эпоху стремительного развития веб-технологий важность производительности сайта невозможно переоценить. Быстрая загрузка страниц и минимальное количество лишнего кода становятся решающими факторами не только для удовлетворенности пользователей, но и для успешного продвижения в поисковых системах. Мы решили поделиться нашим опытом кардинальной миграции с популярного фреймворка Next.js на статический генератор Eleventy (или 11ty) и рассказать, как этот шаг позволил увеличить производительность сайта на 24%. Изначально наш контентный ресурс etch.

co был построен на базе Next.js — современного React-фреймворка, предлагающего мощные инструменты для разработки динамичных приложений. Однако несмотря на все преимущества Next.js, со временем мы столкнулись с вызовами, связанными с избыточной сложностью, большим количеством Javascript на странице, а также высоким числом зависимостей, которые негативно влияли на скорость работы сайта и его устойчивость к обновлениям. Основным моментом, подтолкнувшим нас к переосмыслению архитектуры, стала необходимость адаптировать сайт для бесперебойной и быстрой работы с минимальным вмешательством после сборки.

Мы понимали, что современные пользователи и поисковые роботы ценят сайты, которые быстро отдают содержимое без перегрузки скриптами и лишними запросами. Выбор в пользу Eleventy был вызван его минимализмом и принципом «build-time only» — генерации статического HTML на этапе сборки без внедрения избыточных JavaScript-скриптов в браузер пользователя. Eleventy не предлагает сложных абстракций или специфических синтаксисов; вместо этого он предоставляет базовые инструменты для шаблонизации HTML, бандлинга CSS и аккуратного вкрапления JavaScript только в необходимых местах. Такое решение обеспечивало чёткое разделение ответственности между сборщиком и браузером, что положительно сказывалось на скорости загрузки страницы. Переход от Next.

js к Eleventy сопровождался впечатляющими изменениями в ключевых метриках. Производительность по Lighthouse выросла с 76 до 97 баллов. Количество JavaScript-кода на главной странице сократилось с 2161 килобайта до 11,3. Вместо 33 скриптов теперь грузится всего 2, что значительно уменьшило нагрузку на браузер и улучшило реактивность интерфейса. Число npm-зависимостей упало с 1115 до 13, а количество строк кода сократилось примерно на треть — с 6877 до 4307.

Такие параметры однозначно свидетельствуют о более чистом и лёгком коде, что способствует стабильности и упрощает поддержку сайта. При этом стоит отметить, что Eleventy не накладывает ограничений на выбор языка шаблонов. Этот факт открывает разработчикам широчайшие возможности для творчества и оптимизации. Мы выбрали язык WebC — современный и удобный формат, который позволяет формировать компоненты из чистого HTML с встроенными стилями и скриптами. Такой подход снизил зависимость от JSX и React, приближая разработку к работе с обычными веб-компонентами.

Хотя освоение WebC потребовало определённых усилий и корректировок, результат оправдал ожидания: мы получили гибкую и понятную структуру кода, позволяющую эффективно управлять компонентами и стилями. Особое внимание мы уделили стилизации. С помощью встроенного бандлера WebC мы аккуратно объединили CSS-файлы в единые пакеты, которые дополнительно прошли процесс минификации и оптимизации с помощью Lightning CSS и Browserslist. Это обеспечило оптимальную загрузку стилей и сокращение общего веса страницы. Такой метод улучшил рендеринг страницы, сделав внешний вид сайта при первом получении пользователем контента максимально быстрым и плавным.

Интерактивность на клиенте была сведена к разумному минимуму. Мы внедрили кастомные веб-компоненты, написанные на стандартном JavaScript, которые активировались только на стороне браузера. Это позволило выводить готовый HTML во время сборки, а уж затем динамически расширять функционал по мере загрузки страницы. Результат оказался впечатляющим: пользователи сразу видели содержимое, без долгого ожидания, а интерактивные элементы дополнялись плавно и без блокировок. Отдельным пунктом стала реализация сервис-воркера для поддержки PWA-функционала.

В отличие от Next.js, для которого мы использовали плагин next-pwa, в Eleventy не существует подобного инструмента. Это оказалось даже плюсом, поскольку мы получили полный контроль над настройками кеширования с помощью Workbox. Мы создали конфигурацию, в которой с помощью injectManifest формировался список предзагружаемых ресурсов, а отдельные стратегии кеширования были прописаны для различных типов контента: изображений, статических страниц и API-запросов. Это позволило добиться стабильной работы оффлайн и быстрой отдачи данных даже при медленном интернете.

В ходе миграции мы столкнулись с некоторыми трудностями. Использование WebC было не всегда интуитивным, существовало несколько способов передачи свойств и переменных в шаблоны, часть решений требовала дополнительной настройки и экспериментов. Однако осознанный выбор в пользу простоты и контроля над кодом позволил отказаться от избыточных плагинов и зависимостей, что повысило стабильность и сократило время на исправление неожиданных ошибок. Стоит подчеркнуть, что мы могли достичь схожих показателей, оставаясь на Next.js, применяя тонкую настройку и оптимизацию бандлов, анализатор и разделение кода.

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

Переход к Eleventy — пример того, как правильный выбор технологии может решить множество проблем и улучшить качество продукта в целом. Этот опыт подтверждает, что иногда стоит отказаться от громоздких инструментов ради простоты, которая часто оказывается более мощной и эффективной.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
MCP with Postgres – Querying my data in plain English
Понедельник, 27 Октябрь 2025 MCP и PostgreSQL: как запрашивать данные на обычном языке

Обзор эффективного способа взаимодействия с базой данных PostgreSQL с помощью MCP-сервера и возможностей искусственного интеллекта для преобразования запросов на естественном языке в SQL-запросы.

YASA's axial flux motor achieved a record, doubling industry benchmarks
Понедельник, 27 Октябрь 2025 Революция в электрических моторах: осевой электродвигатель YASA устанавливает мировой рекорд

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

OpenAI launches personal assistant capable of controlling files and web browsers
Понедельник, 27 Октябрь 2025 OpenAI представила персонального помощника с управлением файлами и браузерами

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

Musk's Neuralink falsified federal forms, claims to qualify for DEI program
Понедельник, 27 Октябрь 2025 Скандал с Neuralink: Фальсификация федеральных документов и попытка участия в программе DEI

В центре внимания — обвинения в подделке документов компанией Neuralink, принадлежащей Илону Маску, с целью получения преимуществ в рамках программы разнообразия, справедливости и инклюзивности (DEI). Разбираем детали скандала и его возможные последствия для компании и технологии нейроинтерфейсов.

Decomposition of phenotypic heterogeneity in autism show underlying programs
Понедельник, 27 Октябрь 2025 Разложение фенотипической гетерогенности аутизма: раскрытие генетических программ и новых горизонтов понимания

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

Chip Equipment Giant Applied Materials Emerges From Dark Period; Earns Key IBD Rating Upgrade
Понедельник, 27 Октябрь 2025 Applied Materials: Возвращение гиганта полупроводникового оборудования и обновление рейтинга IBD

Applied Materials успешно преодолела сложный период, показав значительный рост и получив важное повышение рейтинга IBD. Рассмотрим ключевые факторы возрождения компании, текущие финансовые показатели и перспективы на рынке полупроводникового оборудования.

Longer-Term Inflation Expectations Tick Higher
Понедельник, 27 Октябрь 2025 Рост Долгосрочных Ожиданий Инфляции: Что Это Значит для Рынков и Экономики

Анализ последних тенденций в долгосрочных ожиданиях инфляции и их влияние на финансовые рынки и экономическую политику, а также перспективы для инвесторов и потребителей.