Headless CMS
3.99K subscribers
16 photos
3 videos
63 links
Headless CMS — про Sanity, Contentful, Strapi, Storyblok, DAM,
content infrastructure. Канал сети public.tg.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Как уходят из арбитража трафика: интервью с бывшим медиабайером

Интервью с арбитражником, который отработал в сфере с 2019 года и ушёл в другую профессию. Герой рассказывает о работе в Adcombo с тизерками, переходе в криптовертикаль и прямом выкупе трафика, а затем о причинах ухода: выгорание, сложности с поиском новой позиции и переоценка приоритетов. Статья развенчивает миф о лёгких деньгах в арбитраже — это обычная работа с высокими рисками, дефицитом информации и эмоциональным истощением. Выво…

➡️ Читайте на сайте: https://aff.top/blog/kak-ukhodiat-iz-arbitrazha-trafika-interviu-s-byvshim-mediabaierom

🧠 Ещё больше инсайтов → в канале AFF.top
Payload CMS берут не за «хайп», а за контроль над структурой и API

Если нужен headless без лишней обвязки, Payload обычно выбирают за три вещи: • коллекции и поля описываются близко к коду; • права доступа можно зашить в саму модель; • админка собирается под бизнес-структуру, а не под шаблон. Для контентных команд это значит меньше компромиссов между редактором и разработчиком.

Сильная сторона Payload — когда схема данных меняется чаще, чем фронт. Новые сущности, связи, кастомные поля, роли, вебхуки — всё это ложится в один стек без отдельной CMS-логики. Но есть и цена: чем сложнее модель, тем важнее дисциплина в коде, иначе проект быстро превращается в набор разрозненных хуков и правил.

Для каких задач Payload обычно попадает в хороший коридор: лендинг-сети с частыми правками, продуктовые витрины, контентные сервисы с нестандартными сущностями, внутренняя админка с API-first подходом. Если нужен «просто блог» — стек может оказаться тяжелее, чем надо; если нужен монолит с визуальным конструктором — тоже мимо.

Хорошее правило: Payload брать тогда, когда CMS должна вести себя как часть приложения, а не как отдельный кабинет для текста. Если проекту важны гибкость схемы, контроль доступа и чистый API, это сильный кандидат. Если важнее скорость запуска без инженера в контуре — смотрите проще.
Sanity: когда нужен быстрый редактор, а не ещё одна CMS с “удобной” админкой

Sanity — это headless CMS, где контент живёт в схеме, а редактор собирается под проект. Для SEO-проектов это удобно: можно хранить сущности как угодно, собирать шаблоны под обзорники, pSEO-страницы и каталоги без лишнего мусора в модели.

Что внутри:
— схема данных описывается кодом, а не кликами в панели;
— документы легко связывать между собой: товары, категории, города, авторы, блоки;
— редакторский интерфейс можно подогнать под конкретный workflow.

Где Sanity работает хорошо:
— большие контентные проекты с частыми изменениями структуры;
— pSEO-фермы, где нужны повторяемые сущности и гибкие шаблоны;
— команды, которым важна скорость правок без перегрузки разработчиков.

Где режет ногу:
— если нужен “включил и забыл” без работы со схемами;
— если в команде нет человека, который понимает модель контента;
— если хочется всё собирать руками в админке, а потом удивляться, почему всё развалилось.

Главная ошибка — пытаться перенести в Sanity мышление WordPress: один пост = одна простыня полей. В headless лучше проектировать блоки, сущности и связи, а не лепить форму ради формы.

Если нужен гибкий контентный движок под SEO, Sanity выигрывает не “красотой”, а тем, что хорошо держит сложную структуру без хаоса.
Strapi ломается не в API, а в том, как вы моделируете контент под SEO

Strapi удобен, когда сайт состоит не из «страниц», а из повторяемых сущностей: шаблоны обзоров, карточки брендов, FAQ, категории, локали. В CMS быстро собирается схема с relations, repeatable components и dynamic zones — это сильная сторона, если нужен pSEO на десятках и сотнях однотипных страниц.

Где обычно режет ногу:
— слишком глубокие вложенности компонентов: редактору больно, фронту тоже;
— попытка хранить в одном content type и листинг, и карточку, и SEO-блоки;
— отсутствие строгих правил для slug, canonical, hreflang и обязательных полей.

Для SEO-проекта Strapi лучше держать как фабрику данных, а не как «конструктор страниц». Отдельные типы под сущности, отдельные — под шаблоны. Тогда можно собирать:
— обзорники с одинаковой структурой;
— geo/brand/service-страницы из одних и тех же блоков;
— контент-ферму без ручной верстки каждой посадочной 🧱

Если нужна команда без сильного фронтенда, закладывайте простые правила контент-модели заранее: не больше 2–3 уровней вложенности, обязательные SEO-поля, единый словарь блоков, и отдельная роль для редакторов, чтобы не ломать структуру случайными правками.

Strapi хорош там, где данные важнее визуального редактора: вы получаете чистый API и гибкую модель, но платите дисциплиной в схеме.
This media is not supported in your browser
VIEW IN TELEGRAM
ByteDance анонсировала новую версию SeeDance версии 2.5

ByteDance готовит релиз Seedance 2.5 — видеогенератора нового уровня. Главное улучшение: модель сможет создавать 30-секундные видео за один прогон без склеек, вместо нынешних 15 секунд. Добавили локальный монтаж отдельных кадров, поддержку 3D-болванок для управления камерой, возможность использовать до 50 референсов и генерацию в 4К сразу. Закрытый бета-тест идёт сейчас, открытый релиз ожидается в начале июля. Технологически это шаг вперёд, но д…

➡️ Читайте на сайте: https://aff.top/blog/bytedance-anonsirovala-novuiu-versiiu-seedance-versii-2-5

🧠 Ещё больше инсайтов → в канале AFF.top
This media is not supported in your browser
VIEW IN TELEGRAM
Codex уничтожит твой SSD за год

Разработчик обнаружил критический баг в Codex CLI от OpenAI: агент непрерывно записывает логи в локальную SQLite-базу, перезаписывая за 21 день 37 ТБ данных. При таком темпе типичный SSD объёмом 1 ТБ (рассчитанный на 600 ТБ перезаписей) выходит из строя менее чем за год. OpenAI осведомлена о проблеме, но пока не исправляет её. Пользователям остаётся либо ждать обновления, либо переключиться на альтернативные CLI-инструменты без подобных недостат…

➡️ Читайте на сайте: https://aff.top/blog/codex-unichtozhit-tvoi-ssd-za-god

🧠 Ещё больше инсайтов → в канале AFF.top
Headless CMS ломается не на API, а на плохой модели контента

Headless сам по себе не решает SEO-задачи. Он только убирает лишнее между редактором и фронтом. Если модель контента собрана плохо, получите не сайт, а дорогой генератор мусора.

Что обычно забывают:
— отдельные типы под обзор, категорию, подборку и pSEO-страницу;
— поля для title, description, canonical, robots, schema.org;
— нормальные связи между сущностями, а не текстовые костыли;
— статус публикации, slug-правила, редиректы и историю изменений.

Второй частый провал — пытаться запихнуть всё в один универсальный шаблон. Для SEO-проектов это почти всегда убивает гибкость: один блок нужен для лонгрида, другой — для листинга, третий — для программных страниц. Если форма одна, команда начинает обходить систему вручную.

Третий слой — публикационный процесс. Без preview, ролей, ревью и черновиков headless быстро превращается в хаос, особенно когда над контентом работают редактор, SEO и разработчик.

Сначала проектируйте контент-архитектуру, потом выбирайте CMS. Иначе вы просто переносите старые проблемы WordPress в более сложный интерфейс.
Strapi для pSEO: где он реально полезен, а где превращается в лишний слой

Strapi хорош там, где контент — это не «статья», а набор сущностей: категории, гео, бренды, офферы, FAQ, таблицы, фильтры. Вы описываете модель один раз, а потом собираете тысячи страниц из API без ручной верстки каждой.

Что обычно работает в проде:
— коллекции для сущностей и связей между ними;
— отдельные компоненты для блоков, чтобы не плодить хаос в полях;
— роли и права для контент-команды, чтобы редакторы не ломали схему;
— публикация через draft/publish, если нужен контроль качества.

Где Strapi режет ногу: если модель данных не продумана заранее, админка быстро превращается в склад полей. Еще одна типовая ошибка — хранить в CMS то, что должно жить в коде: вычисляемые рейтинги, сложные правила сортировки, SEO-логику под каждый шаблон. В итоге контент редактируется медленно, а API начинает тащить лишнее.

Для SEO-проектов Strapi лучше всего заходит как источник структурированного контента, а не как «комбайн на всё». Он удобен, когда у вас много однотипных страниц, нужен контроль схемы и нормальный API для фронта.

Сначала проектируйте сущности и связи, потом экраны админки. Если начать с полей в лоб, Strapi быстро покажет, почему headless без модели данных — это просто дорогой WordPress с API.
This media is not supported in your browser
VIEW IN TELEGRAM
Google ужесточает модерацию финансовой вертикали

Google ужесточает модерацию финансовых офферов в ЕС и ЕЭЗ, введя двухэтапную верификацию через G2 Risk Solutions и Google Ads. Проверка затронет 24 страны, включая Австрию, Польшу, Нидерланды и другие члены союза. На прохождение модерации отводится 30 дней — за это время некоторые связки успеют отработать до вступления требований в силу. Для арбитражников это означает необходимость подготовиться к усложнению процесса запуска финансовых кампаний …

➡️ Читайте на сайте: https://aff.top/blog/google-uzhestochaet-moderaciiu-finansovoi-vertikali

🧠 Ещё больше инсайтов → в канале AFF.top
7 ошибок в RU CMS-проектах, которые тихо ломают сайт после запуска

После запуска проекта проблемы обычно не в «кривом дизайне», а в базовой сборке. На 1С-Битрикс и MODX это видно особенно быстро: всё работает, пока не начинается контент, обновления и правки от разных людей.

— Дублирование логики в шаблоне и в компоненте. Когда часть условий живёт в верстке, а часть — в PHP, правки превращаются в лотерею.
— Хардкод путей, ID и текстов. Один перенос раздела — и уже ищут, почему слетели ссылки или баннеры.
— Нет нормального разделения: вывод, бизнес-логика и служебные проверки смешаны в одном файле. Это убивает поддержку.
— Игнорирование кеша и тяжелых запросов. Сначала «не мешает», потом сайт тормозит на обычных страницах.
— Редактирование прямо в шаблонах без документации. Через месяц никто не помнит, где именно менять блок.

Отдельная боль — права доступа и админка. Если редактор видит лишнее или не видит нужное, проект быстро превращается в ручной режим с ошибками.

Хорошая CMS-сборка — это когда следующий разработчик понимает проект без археологии по репозиторию.


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

Contentful удобен там, где контентом управляют не разработчики, а редакция: модель данных строится из отдельных блоков, а API отдаёт их в любой фронтенд. Для SEO-проектов это значит одно: можно собирать шаблоны страниц под каталоги, обзоры, FAQ и pSEO без ручной верстки каждой публикации.

Что внутри:
— контент-модели с полями, связями и локализацией;
— GraphQL и REST для интеграции с сайтом, приложением, витриной;
— роли и права для редакторов, авторов, модераторов;
— превью-поток, чтобы проверять страницу до публикации.

Где он работает:
— контент-хабы и медиа;
— многоязычные сайты;
— проекты, где одна сущность переиспользуется в десятках шаблонов.

Где режет ногу:
— если вам нужен “просто блог” без разработки;
— если команда не умеет думать сущностями и начинает лепить всё в один rich text;
— если не настроить валидацию и превью, редакция быстро сломает структуру.

Для SEO-проектов главный вопрос не “насколько красивый интерфейс”, а “можно ли масштабировать типы страниц без хаоса”. Contentful на это отвечает нормально, если заранее продумать модель данных.

Не тащите туда текст как в WordPress. Сначала сущности, потом шаблоны, потом редакторский процесс.
This media is not supported in your browser
VIEW IN TELEGRAM
Fable 5 скоро вернётся в публичный доступ

В исходном коде Claude Code обнаружены упоминания о возвращении модели Fable 5 в публичный доступ с изменённой моделью распространения — её больше не потребуется покупать отдельно, вместо этого будет применяться недельный лимит как для других моделей. Если информация подтвердится, пользователи платных тарифов смогут использовать Fable 5 в рамках своих подписок. Причины снятия ограничений по национальной безопасности остаются неясными. Хотя это п…

➡️ Читайте на сайте: https://aff.top/blog/fable-5-skoro-vernetsia-v-publichnyi-dostup

🧠 Ещё больше инсайтов → в канале AFF.top
Контент-инфраструктура ломается не от CMS, а от мелких решений в модели и сборке

Если у вас обзорник, pSEO-ферма или медиа-проект, сначала проверьте не дизайн, а базу:
— есть ли единый тип материала, а не 15 почти одинаковых сущностей;
— отделены ли поля для человека и для генерации страниц;
— можно ли менять шаблон без правки контента руками.

Вторая точка боли — связи. Когда категории, теги, бренды и регионы живут в разных таблицах без правил, редакция начинает дублировать данные. Нужны: один источник правды для сущностей, понятные slug-правила и запрет на ручной ввод там, где поле должно заполняться из справочника.

Третье — сборка и публикация. Если каждый апдейт гоняет весь сайт, проект быстро становится неповоротливым. Лучше иметь инкрементальную публикацию, очереди задач и отдельный слой для превью, чтобы редактор видел результат до выката. Это особенно важно там, где контент меняется пачками.

Если коротко: хорошая контент-инфраструктура — это когда редакция не воюет с моделью, а SEO-команда не чинит одно и то же вручную каждую неделю.
Page builders убивают скорость не сами по себе — их чаще роняют 5 типовых ошибок

Если лендинг на Elementor, Bricks или другом билдере внезапно стал тяжёлым, проблема обычно не в самом конструкторе, а в сборке страниц. Смотрите на базу: один DOM без мусора, минимум вложенных контейнеров, отсутствие дублирующихся блоков и единый подход к сетке.

— Не ставьте виджет ради одной строки текста: лишний блок = лишний wrapper, CSS и JS.
— Не смешивайте 3 системы отступов сразу: глобальные стили, настройки темы и ручные margin/padding.
— Не тащите на каждую страницу тяжёлые слайдеры, иконки, анимации и фоновые видео.
— Не игнорируйте шрифты: 4 начертания и 2 семейства часто дороже, чем кажется.

Есть наблюдение которое стоит проверить: половина «тормозов» лечится не заменой билдера, а пересборкой шаблона под повторное использование. Хедер, hero, карточки, CTA — если они вынесены в глобальные шаблоны, вы меньше плодите уникальный HTML и проще держите Core Web Vitals.

Фиксируйте правило: сначала структура и контент, потом эффекты. На коммерческих WP-проектах это почти всегда даёт больше, чем попытка «ускорить» уже раздутую страницу плагином-кэшем.
Monorepo ломается не от размера, а от слабых границ между пакетами

За неделю в репах обычно видно одно и то же: когда shared-код тащат куда попало, монорепа начинает тормозить не в CI, а в голове команды. Держите правило: каждый пакет должен иметь одну ответственность и понятный публичный API.

• Не импортируйте внутренности соседнего пакета через deep import. Если нужен файл изнутри — значит, граница выбрана плохо.
• Разделяйте build, test и lint на уровне workspace, а не одного корня. Иначе любая мелочь триггерит лишнюю работу.
• Для зависимостей используйте явные версии и lockfile, а не «и так сойдёт» через hoist.
• Следите за path alias: удобный алиас в tsconfig не должен прятать реальную структуру проекта.

Есть наблюдение которое стоит проверить: monorepo помогает только там, где пакеты реально переиспользуются. Если код не делится между приложениями, вы платите за сложность управления без выигрыша в build time и bundle size.

Хорошая монорепа выглядит скучно: мало магии, много договорённостей, быстрый CI и предсказуемые импорты.
Astro для контентных проектов: когда он экономит время, а когда начинает мешать

Astro хорошо заходит там, где большая часть сайта — это контент, лендинги, документация, SEO-страницы и немного интерактива. Его сильная сторона — сборка страниц из островков: всё статично по умолчанию, а JS подключается только туда, где он реально нужен.

Есть три типовые ошибки при старте:
— тащить в Astro тяжёлые клиентские острова «на всякий случай»;
— делать слишком много интерактива на одной странице;
— забывать, что скорость сайта ломают не только скрипты, но и картинки, шрифты, сторонние виджеты.

Если нужен каталог, блог, маркетинговый сайт или docs — Astro часто даёт более простой путь, чем полноценный SPA. Но если у вас сложный личный кабинет, постоянные переходы без перезагрузки и много состояния между экранами, архитектура начнёт спорить с задачей.

Полезное правило: сначала проектируйте страницу как статическую, потом добавляйте острова точечно. Не наоборот. Это обычно сохраняет и производительность, и внятность кода.

Если сомневаетесь — задайте один вопрос: сколько интерактива реально нужно пользователю на первом экране? Именно от ответа зависит, будет ли Astro ускорителем или лишним слоем.
Контент-инфраструктура ломается не в CMS, а на стыке моделей, API и шаблонов

Если у вас плывут pSEO-страницы, виновата часто не сама headless CMS, а то, как вы собрали контур вокруг неё.

• Модель данных должна отвечать на один вопрос: как это будет рендериться и индексироваться. Если поле нельзя использовать в шаблоне, навигации или фильтре — оно, скорее всего, лишнее.

• API должен отдавать ровно те связи, которые нужны фронту и генератору страниц. Когда контент приходится собирать на клиенте из пяти запросов, вы сами создаёте лаги, битые блоки и лишнюю сложность.

• Шаблоны лучше строить от типов страниц, а не от “универсального компонента на всё”. Для SEO-проектов это обычно заканчивается мусорной версткой и одинаковыми сниппетами на сотнях URL.

• Права доступа, предпросмотр, публикация и переиндексация должны быть частью процесса, а не ручным ритуалом редактора. Иначе контент живёт отдельно, а сайт — отдельно.

Хороший headless-стек не обещает магию. Он просто делает так, чтобы контент можно было быстро собирать, проверять и масштабировать без постоянных костылей.
Sanity хорош, пока у вас контент — это не таблица, а набор связанных сущностей

У Sanity сильная сторона не в «красивой админке», а в документной модели: можно хранить статьи, авторов, блоки, категории, варианты заголовков и связи между ними без борьбы с rigid-schema. Для pSEO это удобно, когда нужно собирать страницы из повторяемых модулей: интро, FAQ, сравнение, CTA, локальные вставки.

Что внутри: GROQ даёт гибкие выборки, редакторам нравится быстрый live preview, а schema легко подстроить под контент-команду. Но за свободу платишь дисциплиной: если не продумать блоки, ссылки и обязательные поля, редактор начнёт плодить мусор, а фронт — десятки исключений.

Где Sanity работает лучше всего:
— обзорники с кучей однотипных страниц;
— медиа, где часто меняется структура статьи;
— pSEO-проекты, где важны переиспользуемые блоки и быстрые правки.

Где режет ногу: сложные права доступа, слишком вольные схемы без контент-архитектора и попытка превратить всё в «просто CMS». Sanity не спасает от плохой модели данных; он только быстрее показывает, где она сломана.

Если берёте Sanity под SEO-проект, сначала рисуйте контентные сущности и связи, а уже потом дизайн админки. Иначе получите удобный редактор для неудобной структуры.
This media is not supported in your browser
VIEW IN TELEGRAM
Chat GPT-5.6 будут выдавать лишь избранным

США ограничивают публичный доступ к новым ИИ-моделям: теперь его выдают только проверенным пользователям после обязательной 30-дневной процедуры верификации. Сэм Альтман называет это самым быстрым путём к публичному релизу. Эффективность меры вызывает сомнения — китайские разработчики традиционно копируют модели в течение суток после выхода.

➡️ Читайте на сайте: https://aff.top/blog/chat-gpt-5-6-budut-vydavat-lish-izbrannym

🧠 Ещё больше инсайтов → в канале AFF.top
This media is not supported in your browser
VIEW IN TELEGRAM
Vk удалили из App store: что дальше?

Удаление VK из App Store заблокировало доступ для владельцев iPhone в России, но проблема решаема. Арбитражники теряют один канал, но не аудиторию — 20–30 млн пользователей iOS остались на месте. Вместо VK стоит переориентироваться на альтернативные источники: Telegram Ads с таргетингом на iOS, push-сети типа AdProfex, MTS Ads и Beeline Ads. VK может последовать примеру Max и запустить PWA-приложение для восстановления уведомлений. Главный вывод…

➡️ Читайте на сайте: https://aff.top/blog/vk-udalili-iz-app-store-chto-dalshe

🧠 Ещё больше инсайтов → в канале AFF.top
React Server Actions ломают архитектуру, если смешать их с клиентским состоянием

За неделю в репах чаще всего виден один и тот же перекос: action вызывают как «умный fetch», а потом тащат в неё валидацию, мутирующий UI и бизнес-логику одним комом. В итоге граница между сервером и клиентом исчезает, а отладка превращается в поиск побочного эффекта.

Держите простое правило:
— action должна принимать данные формы, проверять их и менять серверное состояние;
— всё, что влияет на интерфейс до ответа, оставляйте в клиенте;
— результат action возвращайте в компактном виде: успех, ошибка, новый id, а не целый экран данных.

Есть наблюдение которое стоит проверить: чем меньше логики в action, тем проще переживать повторные вызовы, отмены, прогревы и деградацию сети. Особенно это заметно в SaaS, где одна форма может работать в десятке сценариев, а не в одном happy path. Здесь server action — не место для «магии», а узкий вход в доменную операцию.

Если action начала читать cookies, трогать внешние API и менять несколько таблиц, проверьте: не пора ли вынести orchestration в отдельный service-слой, а action оставить тонкой обёрткой. Так код переживает и рост продукта, и замену UI без переписывания половины формы.