CMS

Весь сайт в двух файлах

Без возни с сервером и плагинами: только программа Eile и база SQLite. PHP и MySQL ставить не нужно, а сайт с менеджером запускается одной командой.

curl -fsSL https://eile.site/install.sh | bash

посмотреть скрипт проверяет SHA256

Linux, macOS и Windows, x64 и arm64 v0.1.5 GPL-3.0

Где обычно уходит время

Сам сайт делается быстро. Время уходит на всё вокруг: сервер, плагины, переезды и правки по звонку пользователя. Вот что Eile берёт на себя.

Что заменяют два файла

Обычный сайт держится на веб-сервере, PHP, базе данных и десятке плагинов, и у каждого свои обновления и поломки. В Eile весь сайт — это исполняемый файл и база SQLite. Только их и нужно обновлять, переносить и копировать.

Обычно

типичный сайт на PHP-CMS

  1. Веб-сервер и его настройка
  2. PHP с расширениями
  3. Сервер базы данных
  4. Сама CMS
  5. Плагин кэша
  6. Плагин SEO и карты сайта
  7. Плагин форм
  8. Плагин резервных копий
  9. Cron для фоновых задач
  10. Certbot для HTTPS

У каждого слоя свои обновления, настройки и способы сломаться.

Eile

весь сайт

cmsисполняемый файл
сервер, менеджер, компилятор Svelte, миграции, HTTPS, статистика
site.dbбаза SQLite
страницы, шаблоны, медиа, пользователи, заявки, статистика

cms backup copy.db делает копию всего сайта одним файлом, а на новом сервере её поднимает cms service install --from copy.db.

Быстрый сайт без плагина кэша

Не нужно подбирать кэш, CDN и сжатие. Страницу сервер отдаёт готовым HTML из памяти, кэш сбрасывается ровно там, где что-то изменилось, а JavaScript попадает на страницу, только если без него не обойтись.

Бинарник Eile 0.1.0 на этом сайте, одно ядро. 0,5 мс — время ядра на ответ при 1 900 запросах в секунду; 3,1 мс — медиана 48 первых отрисовок 16 страниц (три запуска), с сетью localhost. Шкала логарифмическая.
Что происходит Результат
20 человек одновременно открывают страницы 1 900 страниц в секунду на одном ядре, из кэша; главная, самая тяжёлая страница, — 1 040
Сколько памяти берёт сайт 59 МБ в покое, до 93 МБ под этой нагрузкой после прогрева и в пике за 20 секунд
Вы загружаете видео на 21 МБ, пока идёт нагрузка загрузилось за 0,3 с, памяти — не больше 118 МБ три раза из трёх, сайт не падал; страницы в это время — около 1 700 в секунду
Бинарник Eile 0.1.0 с этим сайтом, 4 ноября 2026: systemd-run с CPUQuota=100 % и MemoryMax=330M без подкачки, 20 клиентов с keep-alive, во время загрузки — ещё 8 скачиваний ролика. Память — anon из memory.stat. Процессор настольный (Ryzen 7 5700X3D), ядро VPS обычно медленнее: это верхняя оценка. Как мерили

Эта страница тоже на Eile Замер вашего браузера, прямо сейчас.

HTML
…
скрипты островов
…
ответ сервера с учётом сети
…
Двухфазный кэш
Страница целиком лежит в памяти, а живые места (формы, корзина) дорисовываются на каждом запросе.
Точный сброс
Правка страницы или компонента сбрасывает только те страницы, которые от них зависят.
ETag, br и стили файлами
Сжатые копии готовятся заранее, повторный визит получает 304 без тела, а CSS шаблонов приходит файлами с хэшем — на этой странице 10 КБ в brotli — и дальше берётся из кэша браузера.
JavaScript только у островов
Страница без островов уходит без единого скрипта. Здесь три острова (копирование, ролик и замер выше) и строка в шапке: она помнит тему и закрывает меню.

Хватает VPS с одним ядром и 512 МБ

Под нагрузкой сервер держит до 93 МБ: замеры выше сняты с пределом в 330 МБ, столько остаётся сайту на таком VPS. Swap на 1 ГБ — с запасом, cms service install подскажет, как его сделать. На сервер Eile ставится одной командой, службой systemd в песочнице.

Служба одной командой
cms service install проверит DNS, порты и память, поставит службу systemd в песочнице с HTTPS и дождётся ответа сайта.
Обновление с откатом
cms update сверяет SHA256, снимает копию базы и перезапускает службу; не поднялась — возвращаются программа и база.
Мониторинг
Адрес /_cms/health отвечает монитору 200 или 503, а о сбоях сайт сам пишет в Telegram и на почту.
Копии вне сервера
Автокопии уходят зашифрованными в хранилище S3, а ночью сервер сжимает базу. На новой машине копию откроет ключ восстановления.
Переезд
Файл настроек под паролем переносит почту, Telegram и ключи, а cms diagnose domain до правки DNS скажет, что сломается.
И на Windows
install.ps1 ставит cms.exe без прав администратора, и cms update работает и здесь. Запущенным сайт держит планировщик заданий или обёртка вроде WinSW.

Пользователь правит сам, а любую правку можно откатить

Весь сайт виден деревом, как он вложен. Текст собирается из блоков, картинки берутся из медиатеки, страница выходит сразу или по расписанию. Если правка не удалась, история вернёт любую версию одной кнопкой, а черновик можно показать клиенту ссылкой.

Обзор сайта в менеджере: все страницы в таблице, где адрес, шаблон, меню и публикацию можно править прямо в строке Обзор сайта в менеджере: все страницы в таблице, где адрес, шаблон, меню и публикацию можно править прямо в строке
Дерево страниц
id у каждой страницы, перетаскивание мышью и курсив у черновиков.
Текст блоками
Абзацы, заголовки и картинки вперемешку с компонентами; форма параметров строится сама.
Публикация по расписанию
Страница выйдет и снимется сама в назначенный час.
История правок
Сравнение версий по словам и возврат любой из них одной кнопкой.
Медиатека
Копии картинок для разных экранов сервер делает сам, откуда бы картинка ни пришла, а описание для alt подставляется при вставке.
Ссылка клиенту
Черновик открывается по ссылке без входа в менеджер: со сроком, отзывом и плашкой «не опубликовано».

Вёрстка без сборки и деплоя

Шаблоны пишутся на обычном Svelte и правятся прямо в браузере. Сохранили, и сайт уже другой: без npm, сборщика и выкладки. Шаблон с ошибкой не сохранится, поэтому опечатка не положит сайт.

<script>
  import Layout from '$components/Layout';
  import { link, listing } from '$core';

  let { page, site } = $props();
  const posts = listing(page.id, { perPage: 10 });
</script>

<Layout {page}>
  <h1>{page.longTitle || page.title}</h1>
  {#each posts.items as post (post.id)}
    <a href={link(post.id)}>{post.title}</a>
  {/each}
  <p>{site.custom.phone}</p>
</Layout>
Правка видна сразу
Шаблоны и компоненты компилируются при сохранении, без сборки и деплоя.
Ошибка не роняет сайт
Если код не компилируется, сохранение отклоняется с указанием места ошибки, а сайт работает на прежней версии.
JavaScript по требованию
Страница уходит чистым HTML. Компонент-остров гидрируется в браузере, только если его так подключили.

Черновик текста по паре слов

Пустое поле больше не держит работу. Палочка у поля пишет черновик заголовка, описания, текста страницы или даже шаблона на Svelte. Напишите, что нужно, посмотрите вариант и вставьте его или попросите другой. Агенты вроде Claude и Cursor подключаются по MCP, и их правки могут ждать вашей проверки.

Окно «Сгенерировать с ИИ» в редакторе шаблона: просьба добавить кнопку записи на замер Окно «Сгенерировать с ИИ» в редакторе шаблона: просьба добавить кнопку записи на замер
  1. Нажмите палочку у поля или Alt+I.
  2. Напишите пару слов: «короче», «анонс в одно предложение», «добавь кнопку записи».
  3. Посмотрите вариант и нажмите «Вставить» или «Ещё вариант».
Тексты и код
Заголовки, описания, текст страницы, а ещё шаблоны, компоненты и плагины.
Знает ваш сайт
С просьбой уходят название и язык сайта, поле и где оно стоит, поэтому хватает пары слов.
Ваша модель
DeepSeek, OpenAI или любая модель с таким же API, хоть локальная. Ключ хранится только на сервере и в копию сайта не попадает.
Агенты с проверкой
Claude, Cursor и Codex подключаются по MCP. Их правки страниц и шаблонов могут ждать проверки: набором, с разницей и предпросмотром, как pull request.

Всё, ради чего ставят плагины, уже внутри

SEO и находимость для ИИ, формы с защитой от спама, поиск, статистика без cookie, копии вне сервера, картинки под любой экран и переводы. Их не нужно подбирать, совмещать и обновлять по отдельности: они приходят и обновляются вместе с Eile.

Обычно ставят В Eile

Находимость

плагин SEO canonical, Open Graph и JSON-LD без настройки
плагин карты сайта sitemap.xml и robots.txt с правилами для ИИ-ботов
обычно этого нет llms.txt и Markdown-версия каждой страницы для ИИ
плагин редиректов старые адреса сами ведут на новые после переименования, а правила переадресации понимают и /?p=12

Формы и заявки

плагин форм форма пишется обычной HTML5-разметкой, ошибки видны прямо у поля, заявки приходят в менеджер со статусами
SMTP-плагин и бот уведомления в Telegram и на почту: по SMTP или через HTTP API Brevo, Postmark, Mailgun, Resend и Amazon SES, если хостинг закрыл SMTP
капча защита от спама без капчи и cookie: браузер незаметно решает задачу, а ловушка, печать и лимит ловят остальное

Статистика

счётчик на чужом сервере и баннер согласия посетители, источники, UTM и цели считает сам сервер, без cookie; образец абзаца для политики конфиденциальности лежит в настройках

Поиск по сайту

плагин поиска или внешний сервис поиск понимает русские окончания («книги» находят «книгу») и подсвечивает отрывки

Картинки и стили

плагин оптимизации картинок копии 480, 960 и 1920 px в WebP сервер делает сам для каждой загрузки, даже от агента по MCP
плагин сборки CSS стили шаблонов уходят файлами с хэшем, и браузер держит их в кэше

Спокойствие владельца

плагин версий история правок со сравнением и возвратом версии
плагин копий и cron автокопии по расписанию и зашифрованные копии вне сервера, в хранилище S3
проверка ссылок вручную диагностика: битые ссылки, страницы без описания, картинки без alt

Языки

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

Eile или WordPress

WordPress — самая распространённая CMS, поэтому сравнивать стоит с ним. Вот разница на деле: что держать на сервере, что уже внутри, как обновляться и как переехать. И отдельно о том, где сильнее WordPress.

Тема WordPress Eile

Что держать на сервере

Веб-сервер (Apache или Nginx), PHP, MySQL или MariaDB, сам WordPress и плагины. Рекомендуются PHP 8.3 и MySQL 8.0 или MariaDB 10.11; на PHP 7.4 он тоже работает, но такие версии уже без поддержки1. Обычно всё это держит хостинг.

Один исполняемый файл и файл SQLite; HTTPS, кэш и фоновые задачи внутри. Как он живёт на сервере

Встроено или плагин

В ядре есть карта сайта2, уменьшенные копии картинок для srcset3 и поиск по сайту. SEO-разметку, формы, защиту от спама, копии, кэш страниц, статистику, мультиязычность и редиректы обычно ставят плагинами, MCP для агентов — официальным плагином MCP Adapter4.

Всё это уже внутри и обновляется вместе с Eile: раздел «Возможности».

Обновления и откат

Неудачное обновление ядра откатывается с версии 3.7, а плагин, который уронил сайт при автообновлении, возвращается к прежней версии с 6.65. Ядро, тема и каждый плагин обновляются отдельно, у каждого свой автор.

Одно обновление на всё: cms update откатывает и программу, и базу. Подробнее

Поверхность атаки

Каждый плагин сайта — PHP-код с доступом ко всему сайту, и уязвимость плагина — уязвимость сайта. Именно в плагинах их и находят: в 2025 году там было 91 % новых уязвимостей WordPress, в темах — 9 %, в ядре — 6 штук6.

На сайте — программа и ваши шаблоны; чужого кода нет, пока вы его не поставили, а служба работает в песочнице systemd. Но код Eile молод.

Приватность по умолчанию

Зависит от темы и плагинов: счётчик, капча и шрифты могут приходить с чужих серверов, и тогда о них нужно написать в политике конфиденциальности, а иногда и спросить согласие.

Статистика выключена и считает без cookie, формы защищены без капчи, а сам Eile не грузит на страницу ничего с чужих серверов.

Переезд

Экспорт есть в админке («Инструменты → Экспорт», файл WXR), подойдёт и дамп MySQL.

cms import-wp переносит страницы, записи, картинки, меню, SEO-поля и старые адреса; вёрстку конструкторов — нет. Как переехать

С MODX Evo — cms import-evo: дерево с id, шаблоны, чанки и TV. Как переехать

Где сильнее WordPress

Плагины и темы
73 917 бесплатных плагинов7 и 8 877 тем8 в каталоге WordPress.org.
Хостинг
WordPress запускается почти на любом хостинге с PHP. Eile нужен VPS или свой компьютер, где можно запустить программу.
Привычность
На WordPress работают 39,5 % всех сайтов9: его редактор знают многие, агентство найти легко.
Зрелость
WordPress развивается с 2003 года10, у него огромное сообщество.

Где Eile пока уступает

Молодость
Версия 0.1.5: до 1.0 возможны несовместимые изменения.
Один сервер
Один процесс и одна база SQLite: сайт растёт вверх, а не вширь, реплик нет.
Svelte
Шаблоны пишутся на Svelte: для своей вёрстки нужен разработчик, который его знает или готов выучить.
Готовое
Каталога плагинов и тем нет: пять каркасов, пакет кухонной студии и набор компонентов, остальное пишется самому.

Источники

  1. Требования WordPress, wordpress.org
  2. XML-карты сайта в WordPress 5.5, make.wordpress.org
  3. Адаптивные картинки в WordPress 4.4, make.wordpress.org
  4. Плагин MCP Adapter, нужен WordPress 6.9+
  5. Откат автообновлений плагинов, make.wordpress.org
  6. Patchstack, State of WordPress Security in 2026
  7. Число плагинов, api.wordpress.org, 4.11.2026
  8. Число тем, api.wordpress.org, 4.11.2026
  9. W3Techs, доля WordPress, 4.11.2026
  10. История выпусков WordPress

Данные о WordPress проверены 4 ноября 2026.

Первый сайт уже сегодня

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

  1. Установить

    curl -fsSL https://eile.site/install.sh | bash

    Скрипт выберет сборку под систему, сверит SHA256 и положит cms в PATH. На Windows — irm https://eile.site/install.ps1 | iex в PowerShell.

  2. Развернуть сайт

    cms new blog --db site.db

    Каркасы: blog, portfolio, company, showcase, shop. kuechenstudio — официальный пакет: сайт кухонной студии для Германии. Свой пакет ставится из файла .zip или папки. Без каркаса получится пустая база с приветствием.

  3. Запустить

    cms --db site.db

    Сайт и менеджер откроются на localhost:8080. При первом запуске сервер напечатает ссылку, чтобы создать администратора.

Подробно и по шагам, от пустой папки до сайта в интернете: Кукбук

Попробуйте на своём компьютере

Одна команда ставит Eile, вторая запускает сайт с менеджером. PHP, базу данных и веб-сервер ставить не нужно.

curl -fsSL https://eile.site/install.sh | bash

посмотреть скрипт проверяет SHA256

Linux, macOS и Windows, x64 и arm64 v0.1.5 GPL-3.0