Арбитражники редко пользуются одной платформой для сбора трафика. Чаще вебы заводят или покупают аккаунты в соцсетях, работают с приложениями и сайтами. Важна маневренность и возможность охватить как можно больше источников. Чтобы упростить сложную схему подачи контента, существует Безголовая CMS. Благодаря ей контент создается и хранится вне зависимости от технических изменений, которые нужны для демонстрации этого контента на гаджете юзера.
Подробнее о том, как работать с Headless CMS, в новом материале!
Что такое Безголовая CMS и как она работает
Классическая CMS — это схема управления контентом, предназначенная для работы с одним сайтом или интерфейсом. Если пользователь хочет загрузить страницу, то запрос отправляется на web-сервер. Этот сервер и запускает выполнение кода, а при надобности — настраивает сообщение с сервером базы данных. То есть страница строится динамически из частей HTML, логики JavaScript и других данных. Каждое обращение = новая отстройка страницы. При этом сервер каждый раз тратит время и ресурсы.
Безголовая CMS или Headless CMS взаимодействует с генератором статических сайтов. Система ориентируется на подход Jamstack. Интерфейс всех страниц сайта можно отрендерить изначально на сервере, а в дальнейшем — хранить контент на серверах CDN-провайдеров. На практике это означает, что страницы будут отрисовываться быстрее, потому что гаджет уже получает статический контент. Это возможно, так как CDN-сервер находится рядом с пользователем.
Соберем различия между классической и безголовой CMS в таблицу для удобства:
Функционал | Классическая CMS | Безголовая CMS |
Хостинг | Внутренний | Облачный, нужно докупать дополнительно |
Безопасность | Классический сервер просто взломать | Если у сервера есть проблемы, они не влияют на интерфейс. Но лучше не блокировать контент для SaaS-сервисов |
Производительность | Могут возникать трудности, но итоговый результат зависит от ресурса и разработчика | Просто выстроить достаточную производительность благодаря архитектуре. Уместна для сайтов и приложений с невысокой или средней нагрузкой. |
Затраты | Выгодно, так как у большей части классических CMS открытый исходный код и есть экосистема дешевых хостингов | Менее выгодно, если использовать Безголовую CMS и SaaS |
Настройки | Довольно сложные. Облегчают настройки готовые плагины. Но и у них есть ряд ограничений | Простые и понятные |
Масштабируемость | Трудная | Простая |
К примеру, существует фронтендер Игорь. Он получает задачу создать приложение без сложных функций. Игорь будет использовать Headless CMS, чтобы сэкономить время на программировании бэкенда. Так всю техничку можно создать за несколько часов, а потом — перейти к фронту.
Поэтому система и называется «безголовой». Бэкенд — это тело, и оно не связано в этом случае с головой — фронтендом. При желании к «телу» можно пришить разные «головы». Так разработчик получает один бэкенд, чтобы править всеми фронтендами. Централизованное управление контентом для проекта облегчает арбитражнику или разработчику продвижение оффера.
Виды CMS, как выбрать подходящую
Всего существует больше сотни безголовых CMS. Но все их можно условно поделить на 2 вида: API Driven и Git-based. Первые похожи на классическую модель: есть сервер, который занимается запросами пользователей, а также база данных.
Схема работы Безголовой CMS, а также место API
API Driven хороша в таких случаях:
- для нескольких сайтов требуется одинаковый контент;
- одинаковые публикации постятся для разных интерфейсов;
- система справляется с большой загрузкой.
Если CMS не обеспечивает API, у системы есть интерфейс для редактирования информации в Git-хранилищах или репозиториях. Их также называют Git-based. То есть сначала все корректировки контента отправляются в это хранилище, а потом сайт «пересобирается» с их учетом. Преимущества Git-based:
- с контентом удобнее работать, потому что он организован в формате плоских файлов;
- легко вернуться к предыдущей версии в сжатые сроки;
- оперативно внедряется.
Разница двух систем в формате хранения информации. Если вы не собираетесь каждый день постить десятки и сотни страниц или часто пересобирать ресурс, удобнее будет Git-based. Если требуется более мощная система — лучше API Driven.
Безопасны ли Безголовые CMS
Headless CMS не всегда безопасна. Убедиться в том, что все в порядке, можно, опираясь на технологии, которые использует система. Стандарт — использование технологии OAuth2. Более того — система должна отвечать рекомендациям безопасности API. Узнать об этом можно в описании программы.
Когда Безголовая CMS будет плохим решением
Впрочем, Безголовая CMS подходит далеко не для всех ситуаций. Управлять контентом без программирования удобно, но функционал системы ограничен. Вот несколько ситуаций, в которых лучше обойтись без Headless CMS:
- Проект предполагает полноценный бэкенд. Если сайту или приложению нужна сложная логика, Безголовая CMS не справится. Почему? Ее мощности могут работать с информацией в стиле CRUD (create — создать, read — прочитать, update — обновить, delete — удалить). Фактически «безголовка» не справится с высокой нагрузкой и поддерживает только базовые операции. Но плюс в том, что такая система лучше защищает от внешних атак благодаря архитектуре CMS.
- Если код проекта подходит для хранения данных. К примеру, сайт СМИ. Статьи с ресурса можно хранить в исходнике, рядом с кодом фронтенда.
- Можно обойтись конструктором. Главный плюс — доступны все мощности, чтобы вообще не кодить. Это самый простой вариант подготовки сайта. Из минусов — вы будете ограничены функционалом конструктора. Реализовать какие-то фишки и дополнительные функции на сайте часто невозможно, и тогда приходится все равно идти в код.
Заключение
Безголовая CMS — удобная система централизованного управления контентом. Она отображает его на гаджете без встроенного интерфейса. Из плюсов — согласованная и простая работа системы, быстрая загрузка страниц, можно тратить меньше времени на разработку бэкенда. Из минусов — нужны дополнительные затраты на покупку облака, а также система хорошо себя показывает только в работе с небольшими сайтами и приложениями.
А вы уже работали с Headless CMS? Делитесь своими впечатлениями в комментариях!