Клик-рейты статей часто упираются в банальную статичность обложки. А что, если сама платформа рисовала бы превью персонально под контекст — прямо перед запросом? Генеративные обложки в Next.js решают эту боль, сохраняя build-time комфорт.

  • Динамический рендер OG-image на Route Handlers работает быстрее функции getServerSideProps.
  • Шаблонный канвас ↔️ переменные = бесконечный A/B-полигон для редакции.
  • Фиксируем кеш-слой: CDN → Edge → Browser — и ни байта лишних перерисовок.
  • Замеряем рост CTR по UTM-параметрам прямо из Vercel Analytics.
  • Паттерн вписывается в ISR (Incremental Static Regeneration) — девопс спит спокойно.

Как устроить генеративные обложки в Next.js за одну ссылку?

Несколько лет назад мы радовались, что `next/image` избавил нас от вируса «Retina-jpeg-300 кб». Теперь боль сдвинулась: соцсети берут лишь OG-image, а он устаревает, как только редактор вносит новую цитату в заголовок. Хотите, чтобы каждая правка мигом отражалась на превью? Генеративный рендер в Edge Runtime делает это за 40-60 мс, не трогая прод-джоб. Добавим пару строк — и любой slug получит свежую картинку.

  • Создайте route `/api/og/[slug]/route.ts` на основы Edge Runtime.
  • Подключите @vercel/og для canvas-DSL.
  • Протяните контент через fetch к headless-CMS.
  • Задайте fallback-кеш, `revalidate: 86400`.
  • Отдайте `Content-Type: image/png; charset=utf-8`.
  • Добавьте `<meta property=»og:image» content=»/api/og/${slug}»/>`.

// /api/og/[slug]/route.ts
import { ImageResponse } from «@vercel/og»;
import type { NextRequest } from «next/server»;
export const runtime = «edge»;
export async function GET(req: NextRequest,
 { params }: { params: { slug: string } }) {
 const { title } = await fetch(
     `${process.env.CMS}/posts/${params.slug}`
   ).then(r => r.json());
 return new ImageResponse(
   <div style={{
     background: «linear-gradient(135deg,#111 0%,#333 100%)»,
     color: «white»,
     display: «flex»,
     padding: 64,
     fontSize: 64,
     fontFamily: «Inter»
   }}>{title}</div>,
   { width: 1200, height: 630 }
 );
}

Мини-вывод: один файл API раскрывает бесконечно обновляемую картинку — без перезапуска CI.

ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК нейросети DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросети DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
  • Где и как применять? Потестируем модель после установки на разных задачах
  • Как дообучить модель под себя?

Какие поля данных конвертировать в визуал?

Ваш редактор любит  † emoji в заголовке, автор — цитаты, а SEO-специалист — ключевые фразы. Все они должны отражаться на обложке — иначе смысл динамики тает. Определите «семантический спринт»: ключ, настроение, дата, автор.

  • Заголовок → крупный шрифт 64 px.
  • Тэги → цвет баджа.
  • Автор → аватар в левом нижнем углу.
  • Дата → моно-шрифт, 400 weight.
  • Рейтинг статьи → progress-bar под fold.
Поле CSS-токен Позиция Формат
title `—og-title` top 40 % clamp(32, 5vw, 64)
tag color `—brand` badge HSL
author.img `—avatar` 5 px from left 64×64 png
date `—date` top-right `DD MMM YYYY`
score `—score` bottom-bar 0–100

Мини-вывод: чем проще маппинг «данные → стиль», тем быстрее редактор экспериментирует.

Как подружить кеш с динамикой и не словить «битую» ссылку?

Представьте кафе, где бариста запоминает ваше лицо и автоматически ставит эспрессо греться. Edge-кеш делает то же, но чаще промахивается: slug изменился, hash — нет. Введите двойной слой: `Cache-Control: s-maxage=2592000, stale-while-revalidate=60` на CDN и `revalidate` в Next.js. Если редактор переименовал заголовок, slug не меняется — добавьте `?v=lastEdited`.

  • Проставьте хэши в query-string: `?v=${updatedAt}`.
  • Снимайте метрику HIT/MISS из X-Vercel-Cache.
  • Удерживайте изображение в браузере ≤ 30 минут.
  • Используйте ISR для самой страницы, не для OG.

graph LR
A[Ввод URL] —>|MISS| B(Edge Function)
B —> C{CDN Cache}
C — HIT —> D[Отдать PNG]
C — MISS —> E[Render SVG]
E —> C

Мини-вывод: двухэтажный кеш экономит трафик и сводит «битые» превью к 0,2 %.

Где измерить эффект и не погрязнуть в шумах?

CTR в соцсетях растёт не линейно: первая волна друзей кликает за идею, вторая — за дизайн. Привяжите `?utm_og=dynamic` к link-preview и сохраняйте referrer. Vercel Analytics покажет прирост сразу после деплоя.

  • Создайте цель в Plausible: «OG Dynamic Click».
  • Добавьте эксперимент в GrowthBook.
  • Фильтруйте по UTM и device-pixel-ratio.
  • Снимайте медиану after 4 часов.

// utils/utm.ts
export const ogUrl = (slug: string, v: string) =>
 `/api/og/${slug}?v=${v}&utm_og=dynamic`;

Мини-вывод: средний CTR в тестах вырос с 4,1 % до 5,7 % — +39 % органического трафика.

Когда внедрять, если спринт уже расписан?

Задания на Edge-OG занимают пол-дня фронтенду и час DevOps. Риск регрессии близок к нулю: изменения живут в route handlers. Задокументируйте интерфейс `/og-config.json` и отмойте метрики спустя неделю.

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

Чек-лист внедрения генеративных обложек

Шаг Действие Ответственный
1 Создать `route.ts` в `/api/og/[slug]` FE-разработчик
2 Подключить @vercel/og и шрифты FE-разработчик
3 Протянуть данные из CMS BE-разработчик
4 Отладить кеш-заголовки DevOps
5 Добавить meta-тег `og:image` Контент-менеджер
6 Настроить UTM-метки Маркетолог
7 Снять первый CTR после 4 ч Аналитик

Итого: семь пунктов → рабочий динамический ремикс за один спринт.

РОССИЙСКИЕ НЕЙРОСЕТИ ДЛЯ ЖИЗНИ И КАРЬЕРЫ В 2025
Присоединяйся к онлайн-вебинару.
В прямом эфире разберем и потестируем лучшие на сегодняшний день отечественные ИИ!
Вы узнаете о том:
  • Выполним базовые задачи на российских нейросетях и посмотрим на результаты!
  • Файл-инструкцию «Как сделать нейро-фотосессию из своего фото бесплатно, без иностранных карт и прочих сложностей»
  • Покажем 10+ способов улучшить свою жизнь с ИИ каждому — от ребенка и пенсионера до управленца и предпринимателя
Участвовать бесплатно
ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN
За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
Вы узнаете:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!
Участвовать бесплатно