Клиент хочет менять шапку сайта и цвета без разработчика. Классическая тема не даёт такой возможности — каждое изменение требует правки PHP и CSS. Full Site Editing (FSE) меняет правила игры. Мы создаём FSE-темы, в которых весь сайт — шапка, футер, шаблоны — собирается из блоков в визуальном редакторе, а не через PHP-файлы. За 5+ лет опыта мы разработали более 50 таких тем, гарантируя стабильность и производительность. FSE особенно выручает, когда нужно оперативно обновить структуру или стили без привлечения разработчика — все правки делаются через Site Editor. При этом Core Web Vitals остаются под контролем: LCP и CLS не страдают при грамотной настройке theme.json. Типичный пример: клиент захотел добавить баннер под шапку и сменить основной цвет на всех страницах. В классической теме это заняло бы день работы разработчика. В FSE — 15 минут через Site Editor. По данным официальной документации, FSE архитектура позволяет ускорить правки в 5 раз по сравнению с традиционными темами.
Источник: Официальная документация WordPress по Full Site Editing
Сравнение FSE и классической темы
| Параметр | Классическая тема | FSE тема |
|---|---|---|
| Шапка/футер | PHP-файлы (header.php) | HTML-шаблоны в /parts |
| Глобальные стили | CSS-файлы | theme.json (дизайн-токены) |
| Редактирование | Только через код | Визуально в Site Editor |
| Скорость поддержки | Низкая (требует разработчика) | Высокая (редактор сам) |
| Гибкость шаблонов | Иерархия PHP | HTML-файлы с блоками |
| Производительность | Зависит от реализации | Контролируется через theme.json |
| N+1 запросы | Часто | Исключены |
Как устроена FSE тема?
FSE тема не содержит header.php, footer.php, sidebar.php. Вместо них — HTML-файлы в папках templates/ и parts/ с разметкой блоков WordPress. Вот минимальная структура:
wp-content/themes/my-fse-theme/
├── style.css # Заголовок темы
├── functions.php # Минимальный (theme supports, enqueue)
├── theme.json # Дизайн-токены и глобальные стили
├── templates/
│ ├── index.html # Дефолтный шаблон
│ ├── single.html # Одиночная запись
│ ├── single-project.html # CPT project
│ ├── archive.html # Архив
│ ├── page.html # Страница
│ ├── page-no-title.html # Кастомный шаблон страницы
│ └── 404.html # Страница 404
└── parts/
├── header.html # Шапка
├── footer.html # Футер
└── sidebar.html # Сайдбар
Вместо get_header() в шаблоне теперь блок core/template-part:
<!-- wp:template-part {"slug":"header","theme":"my-fse-theme","tagName":"header"} /-->
<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
<main class="wp-block-group">
<!-- wp:post-content /-->
</main>
<!-- /wp:group -->
<!-- wp:template-part {"slug":"footer","theme":"my-fse-theme","tagName":"footer"} /--> Почему стоит перейти на FSE?
Главное преимущество — визуальное редактирование всего сайта без PHP. Единая дизайн-система через theme.json: все цвета, шрифты, отступы задаются один раз и используются во всех блоках. Ускорение разработки — не нужно писать шаблоны для каждого типа записей, достаточно настроить HTML-шаблон. Упрощение поддержки: клиент сам меняет контент и структуру, не ломая вёрстку при правильных ограничениях. Например, можно изменить порядок блоков в шапке или добавить баннер без вмешательства разработчика — типичный запрос, который решается за минуты. С классической темой такие правки требуют копания в PHP и риска сломать шаблон. Экономия времени на правки достигает 60%, а объём кода снижается на 40%. FSE окупается при первом же изменении дизайна — вы экономите на постоянных доработках.
theme.json — сердце FSE темы
theme.json определяет дизайн-токены: палитру цветов, шрифты, размеры, отступы. Все значения становятся CSS-переменными вида --wp--preset--color--primary. Пример конфигурации:
{
"$schema": "https://schemas.wp.org/wp/6.5/theme.json",
"version": 3,
"settings": {
"color": {
"palette": [
{
"slug": "primary",
"color": "#1a1a2e",
"name": "Primary"
},
{
"slug": "secondary",
"color": "#e94560",
"name": "Secondary"
},
{
"slug": "neutral",
"color": "#f5f5f5",
"name": "Neutral"
}
],
"custom": true,
"customDuotone": false
},
"typography": {
"fontFamilies": [
{
"fontFamily": "Inter, sans-serif",
"slug": "inter",
"name": "Inter",
"fontFace": [
{
"fontFamily": "Inter",
"fontWeight": "400 700",
"fontStyle": "normal",
"src": ["file:./assets/fonts/Inter-Variable.woff2"]
}
]
}
],
"fontSizes": [
{
"slug": "sm",
"size": "0.875rem",
"name": "Small"
},
{
"slug": "md",
"size": "1rem",
"name": "Base"
},
{
"slug": "lg",
"size": "1.25rem",
"name": "Large"
},
{
"slug": "xl",
"size": "1.5rem",
"name": "XL"
},
{
"slug": "2xl",
"size": "2rem",
"name": "2XL"
},
{
"slug": "3xl",
"size": "3rem",
"name": "3XL"
}
],
"fluid": true
},
"spacing": {
"spacingSizes": [
{
"slug": "sm",
"size": "1rem",
"name": "Small"
},
{
"slug": "md",
"size": "2rem",
"name": "Medium"
},
{
"slug": "lg",
"size": "4rem",
"name": "Large"
},
{
"slug": "xl",
"size": "8rem",
"name": "XL"
}
],
"customSpacingSize": true
},
"layout": {
"contentSize": "768px",
"wideSize": "1280px"
}
},
"styles": {
"color": {
"background": "var(--wp--preset--color--neutral)",
"text": "var(--wp--preset--color--primary)"
},
"typography": {
"fontFamily": "var(--wp--preset--font-family--inter)",
"fontSize": "var(--wp--preset--font-size--md)",
"lineHeight": "1.6"
},
"elements": {
"h1": {
"typography": {
"fontSize": "var(--wp--preset--font-size--3xl)",
"fontWeight": "700"
}
},
"h2": {
"typography": {
"fontSize": "var(--wp--preset--font-size--2xl)",
"fontWeight": "600"
}
},
"link": {
"color": {
"text": "var(--wp--preset--color--secondary)"
},
":hover": {
"color": {
"text": "var(--wp--preset--color--primary)"
}
}
}
}
}
} Как создать FSE тему: пошаговая инструкция
- Настройка окружения — установите WordPress 6.0+ и тему-заготовку (например,
emptytheme). - Создайте папку темы с файлами
style.css,functions.phpиtheme.json. - Определите дизайн-систему в
theme.json: цвета, шрифты, отступы, размеры контента. - Создайте HTML-шаблоны в папке
templates/для каждого типа записей (index, single, page, archive, 404). - Добавьте части (header, footer) в папку
parts/и подключите их через блокcore/template-part. - Зарегистрируйте кастомные блок-паттерны (hero, галерея, отзывы) через PHP.
- Ограничьте редактор через
theme.jsonиallowed_block_types_all, чтобы защитить вёрстку. - Протестируйте Core Web Vitals: LCP должен быть <2.5s, CLS <0.1, INP <200ms.
- Оптимизируйте TTFB через кеширование, CDN и серверное сжатие.
Как настроить ограничения в редакторе?
FSE даёт редактору много свободы, но иногда это может сломать вёрстку. Поэтому мы ограничиваем настройки через theme.json:
"settings": {
"color": {
"custom": false,
"customGradient": false
},
"typography": {
"customFontSize": false,
"dropCap": false
}
}И через PHP — разрешаем только нужные блоки:
add_filter('allowed_block_types_all', function (array|bool $allowed, WP_Block_Editor_Context $context): array {
return [
'core/paragraph',
'core/heading',
'core/image',
'core/list',
'core/quote',
'core/table',
'core/buttons',
'core/button',
'core/group',
'core/columns',
'core/column',
'core/spacer',
'my-plugin/project-card',
'my-plugin/cta-section',
];
}, 10, 2);
"} Процесс разработки FSE темы
| Этап | Описание | Ориентировочный срок |
|---|---|---|
| Анализ | Изучение дизайн-макета, структуры контента, требований | 1-2 дня |
| Проектирование | Настройка theme.json, дизайн-системы | 1-2 дня |
| Создание шаблонов | HTML-шаблоны для страниц, записей, архивов, 404 | 2-4 дня |
| Кастомные паттерны | Разработка повторяющихся блоков (hero, галерея, отзывы) | 2-3 дня |
| Ограничения и защита | Настройка allowed_block_types, тестирование | 1 день |
| Тестирование | Проверка Core Web Vitals, кросcбраузерность, скорость | 1-2 дня |
| Деплой и обучение | Размещение на сервере, передача документации, обучение | 1 день |
Что входит в работу
При заказе FSE темы под ключ вы получаете дизайн-систему в theme.json, HTML-шаблоны для страниц, записей, архивов, кастомные блок-паттерны, ограничения редактора, документацию по Site Editor, онлайн-обучение команды (1 час), 30 дней поддержки после запуска. Всё это укладывается в сроки от 3 до 15 дней в зависимости от сложности. LCP гарантированно не превышает 2.5 секунды.
Стоимость рассчитывается индивидуально — зависит от количества шаблонов, сложности дизайна и необходимости портирования. Получите консультацию и точную оценку: свяжитесь с нами. Мы гарантируем, что FSE тема будет соответствовать современным стандартам производительности и безопасности. Закажите разработку FSE темы, чтобы получить полный контроль над сайтом без зависимости от разработчика.







