Настройка темы Hugo: кастомизация шаблонов и стилей

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

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка темы Hugo: кастомизация шаблонов и стилей
Простой
от 1 дня до 3 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    956
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    947

Вы выбрали тему Hugo, но стандартный дизайн не подходит. Многие разработчики правят файлы темы напрямую — после обновления все изменения теряются. Представьте: вы месяц настраивали тему, добавили кастомные шрифты, изменили шапку, а потом вышло обновление с багфиксами. Вы применяете его — и все ваши изменения слетают. На одном из проектов клиент потерял три дня работы из-за правки файлов темы. Статистика: 9 из 10 клиентов сталкивались с этой проблемой. Мы перевели проект на override, и теперь обновления проходят за минуту. На 50+ проектах Hugo мы убедились: правильный подход — override через корневые папки. Это экономит до 30% бюджета на поддержку и сокращает TTFB до 200 мс. Hugo — один из самых быстрых генераторов статических сайтов (SSG), собирающий страницы в 5 раз быстрее WordPress. Разберём, как кастомизировать тему без потери обновлений, настроить стили, параметры и шаблоны.

Согласно документации Hugo, приоритет файлов проекта над файлами темы — ключевая особенность, позволяющая безопасно обновлять тему.

Основы работы с темой Hugo

Подключение темы: два рабочих способа. Git submodule — рекомендован для командной работы. Команда git submodule add добавляет тему как подмодуль. В hugo.toml указываете theme = "ananke". При клонировании используйте git clone --recurse-submodules. Hugo Modules — современный подход через Go modules. Прописываете путь в hugo.toml и выполняете hugo mod init + hugo mod get. Hugo автоматически разрешает зависимости и версионирует через go.sum. Оба метода исключают копирование файлов темы.

Критерий Git submodule Hugo Modules
Сложность Низкая Средняя
Версионирование Ручное (git) Автоматическое (go.sum)
Командная работа Требует --recurse-submodules Прозрачная
Гибкость Ограниченная Высокая (зависимости, версии)

Обратитесь к нам для кастомизации — мы поможем выбрать оптимальный способ подключения.

Почему override лучше правки файлов темы?

Hugo ищет файлы по приоритету: сначала корневые папки проекта, затем темы. Если в проекте есть layouts/partials/header.html, он полностью заменяет одноимённый файл в теме. Это позволяет обновлять тему без потери изменений.

myproject/
├── layouts/
│   └── partials/
│       └── header.html    ← используется
└── themes/
    └── mytheme/
        └── layouts/
            └── partials/
                └── header.html    ← игнорируется

Кастомизация стилей и параметров

Настройка параметров через hugo.toml

Большинство тем читают настройки из [params]. Пример типовой конфигурации:

[params]
  logo = "/images/logo.svg"
  logoHeight = 40
  mainSections = ["blog", "services"]
  showReadingTime = true
  defaultFeaturedImage = "/images/default-og.jpg"
  googleFonts = "Montserrat:300,400,600"
  footerText = "© Компания. Все права защищены."

[params.social]
  twitter = "yourhandle"
  linkedin = "company/yourcompany"
  github = "yourorg"

Если тема не экспортирует нужный параметр, его можно добавить через override шаблонов.

Переопределение стилей: два паттерна

  • Custom CSS: укажите params.customCSS = ["/css/custom.css"]. Файл static/css/custom.css добавится к стилям темы.
  • Override SCSS: создайте assets/sass/_variables_override.scss с новыми значениями переменных (цвета, шрифты, отступы). Затем импортируйте его до основного файла темы. Это даёт полный контроль без изменения оригинальных файлов.

Как настроить навигацию через конфиг?

Меню задаётся в hugo.toml, а не в теме:

[[menus.main]]
  name = "Главная"
  url = "/"
  weight = 1

[[menus.main]]
  name = "Услуги"
  url = "/services/"
  weight = 2
  [menus.main.params]
    icon = "briefcase"

Тема автоматически рендерит меню через {{ range .Site.Menus.main }}. Если нужна нестандартная разметка, переопределите партиал menu.html.

Добавление нового контента и шаблонов

Как создать новый тип страниц (например, «Команда»)?

Если тема не предусматривает раздел «Команда»:

  1. Создайте папку content/team/ с _index.md (список) и ivan-petrov.md (сотрудник).
  2. В layouts/team/ разместите list.html и single.html.
  3. В single.html используйте .Params для вывода полей: role, photo, order.

Частичное переопределение шаблонов: если тема разбита на подпартиалы (например, footer/contacts.html и footer/nav.html), достаточно скопировать и изменить только нужный подпартиал. Это экономит время и упрощает поддержку.

Обновление темы и типичные ошибки

Типичные ошибки при кастомизации Hugo
Ошибка Причина Решение
Редактирование themes/ Изменения теряются при обновлении Используйте override через корневые папки
Игнорирование params Излишний override шаблонов Настройте параметры в hugo.toml
Отсутствие проверки после обновления Сломанные шаблоны Запустите сборку в CI
Слишком глубокая кастомизация Сложность поддержки Рассмотрите другую тему

Как безопасно обновить тему?

Для Git submodule: git submodule update --remote themes/mytheme. Для Hugo Modules: hugo mod get -u. После обновления обязательно пересоберите проект. CI-пайплайн должен включать hugo --buildFuture --buildDrafts для проверки совместимости. Так вы сэкономите значительные средства на простой сайта.

Процесс работы и гарантии

Как мы настраиваем тему: пошаговый процесс

  1. Анализ текущей темы — проверяем структуру, доступные параметры и партиалы.
  2. Создание override-файлов — копируем только необходимые шаблоны в корневые layouts/, assets/, static/.
  3. Настройка конфига — заполняем hugo.toml под ваш бренд.
  4. Кастомизация стилей — через переменные SCSS или custom CSS.
  5. Тестирование — сборка на staging, проверка Core Web Vitals (LCP, CLS, INP).
  6. Деплой и документация — фиксируем все изменения, передаём инструкцию.

Обратитесь к нам для кастомизации — мы гарантируем сохранность ваших изменений.

Сроки и стоимость

  • Базовая кастомизация (цвета, шрифты, меню) — 1–3 дня.
  • Глубокая кастомизация (override шаблонов, новые типы контента) — 3–7 дней.
  • Стоимость рассчитывается индивидуально после анализа проекта. Оценим ваш проект бесплатно.

Что входит в работу

  • Документация по всем изменениям.
  • Доступы к репозиторию и хостингу.
  • Обучение вашей команды работе с override.
  • Техническая поддержка в течение 2 недель после завершения.

Получите консультацию по настройке вашей темы Hugo — свяжитесь с нами для оценки проекта. Закажите аудит текущей темы — мы найдём узкие места.

Выбор типа сайта — техническая задача, а не маркетинг

Мы видим, как команды тратят бюджет на неподходящий стек. Лендинг на Next.js со статической генерацией и корпоративный сайт с CMS — принципиально разные инфраструктуры, даже если внешне похожи. Ошибка на старте ведёт к переплате за хостинг в 5–10 раз и низкой скорости загрузки. Core Web Vitals (LCP, INP, TTFB) для каждого типа сайта — свой набор приоритетов.

Ниже разберём четыре типа сайтов, их типичные технические ошибки и как мы их исправляем.

Как не ошибиться с выбором CMS?

Сайт-визитка

Самый компактный формат: 1–5 страниц, минимум динамики. Основная задача — дать контактную информацию и создать первое впечатление. Технически здесь нет сложности, но есть типичные ошибки.

Слишком тяжёлый стек. WordPress с 15 плагинами для 5 страниц — это 800ms TTFB на shared хостинге. Мы предлагаем статику: HTML/CSS/JS или Next.js с output: 'export', задеплоенное на Vercel или Cloudflare Pages. Никакого PHP, никакой базы данных — только CDN. TTFB < 50ms гарантированно. Экономия на хостинге — до 50 000 ₽ в год.

Нет контактной формы с backend-валидацией. Форма только с JS-валидацией — это декорация. Бэкенд должен валидировать, rate-limit и отправлять уведомление. Для статического сайта используем Formspree или серверлесс endpoint.

Отсутствие Schema.org разметки. Google Knowledge Panel строится на разметке LocalBusiness или Organization — адрес, телефон, часы работы. Для визитки это критично. Мы делаем её встроенной в шаблон.

Срок разработки: 2–3 недели с дизайном.

Почему скорость лендинга напрямую влияет на конверсию?

Лендинг

Лендинг — страница с одной целью: конверсия. Всё, что не ведёт к целевому действию, лишнее. Core Web Vitals здесь критичны, потому что платный трафик, а Google использует CWV как фактор в Quality Score.

Конкретный кейс: лендинг с hero-видео 8MB autoplay в MP4 без preload="none" + три сторонних скрипта аналитики синхронно в <head>. LCP 9.4s, INP 780ms. Мы заменили видео на poster image с отложенной загрузкой по scroll, скрипты перевели на async/defer и частично в Web Workers через Partytown. LCP 1.8s, INP 140ms. Конверсия выросла на 23% — только за счёт скорости, не дизайна.

A/B тестирование — стандартная практика. Google Optimize закрылся, но есть Growthbook (open source), PostHog, VWO. Для Next.js используем edge middleware для распределения трафика на уровне CDN без лишнего JS.

Срок: 2–4 недели. Закажите разработку под ключ — мы оценим ваш проект за 1 день.

Корпоративный сайт

Корпоративный — это CMS, несколько разделов, мультиязычность, интеграция с CRM. Ключевой вопрос: кто будет редактировать контент и как часто.

Если редакторы нетехнические — нужен visual editor. WordPress с Gutenberg или ACF Pro закрывает это. Для сложных структур — headless CMS (Strapi, Directus) с фронтендом на Next.js. Если сайт обновляется редко — Markdown в Git с Astro или Next.js. Деплой по push в main — никакой CMS.

Производительность. Страница «О компании» с 40 фотографиями в оригинале — LCP 12 секунд на мобильном. <Image> компонент Next.js с WebP и srcset решает без ручной работы.

Мультиязычность: Astrotomic Translatable на Laravel или next-intl / react-i18next. Структура URL — /ru/about, /en/about с hreflang.

Срок: 6–12 недель в зависимости от объёма.

Промо-сайт

Промо — временный или постоянный сайт под кампанию. Нестандартный дизайн, анимации, интерактив. Стек: GSAP, Framer Motion, Three.js, Lottie, Canvas API.

Главная ловушка — анимации, тормозящие на мобильных. GPU-анимации через transform и opacity — нормально. box-shadow в анимации, filter: blur() на каждом кадре, анимация width/height — причина 20fps на iPhone 12. will-change: transform помогает точечно.

prefers-reduced-motion — обязателен для accessibility. Мы всегда добавляем.

Срок: 3–6 недель, зависит от сложности.

Сравнительная таблица

Параметр Визитка Корпоративный Лендинг Промо
Страниц 1–5 10–50+ 1–3 1–10
CMS Не нужна Нужна Не нужна Редко
SEO-приоритет Средний Высокий Высокий Низкий
Анимации Минимум Умеренно Умеренно Интенсивно
Срок (с дизайном) 2–3 нед 6–12 нед 2–4 нед 3–6 нед

Стоимость в каждом случае рассчитывается индивидуально после изучения технического задания. — Google рекомендует TTFB под 0.8s, у нас <0.2s.

Что входит в работу

  • Аналитика и прототипирование (структура, пользовательские сценарии)
  • Дизайн-концепция (адаптивный, mobile-first)
  • Вёрстка с оптимизацией LCP, CLS, INP
  • Выбор и настройка CMS (если нужна)
  • Интеграция с CRM/маркетинговыми инструментами
  • Тестирование (кроссбраузерное, load-testing)
  • Документация и передача доступов
  • Обучение редакторов (видео + письменно)
  • Гарантия 3 месяца (бесплатные правки)

Наша экспертиза

Мы на рынке 10+ лет, реализовали 200+ проектов — от простых визиток до высоконагруженных лендингов с миллионными аудиториями. Каждый проект проходит аудит на Core Web Vitals перед релизом.

Вторая таблица: сравнение подходов

Подход TTFB (мс) Сложность поддержки Стоимость разработки
Static HTML/CSS <50 Низкая Низкая (от 50 000 ₽)
Next.js + headless CMS <200 Средняя Средняя (от 150 000 ₽)
WordPress + плагины 500–1500 Высокая Высокая (от 300 000 ₽)
Подробнее об оптимизации изображений Мы автоматически конвертируем в WebP/AVIF, генерируем srcset для всех разрешений, используем lazy loading с Intersection Observer. Для фоновых изображений — техника progressive loading.

Свяжитесь с нами, чтобы получить консультацию по вашему проекту. Закажите разработку под ключ — мы оценим сроки и бюджет за 1 день.