Коротко, чтобы не тянуть. Чтобы Алиса процитировала ваш сайт в нейроответе, нужно три вещи одновременно: попасть в топ-5 Яндекса по запросу, отдать машине готовый к извлечению ответ и собрать о бренде единую, непротиворечивую сущность. Первое решает классическое SEO. Второе и третье — это GEO, и на Next.js они делаются не контентом, а руками: правильным рендерингом, разметкой JSON-LD через generateMetadata, инкрементальной регенерацией для свежести и Schema-разметкой автора. Контентные советы вроде «пишите структурно» вы найдёте в сотне других статей. Здесь — про то, что под капотом: какие технические решения в App Router открывают сайт для нейросети, а какие тихо выключают вас из выдачи Алисы, даже если вы в топе. Дальше — по слоям, с кодом.
Я делаю это на своих проектах и на клиентских корпоративных сайтах, так что пишу не пересказ чужих гайдов, а то, что проверял в продакшене.
Чем GEO отличается от SEO — и почему на Next.js это проще
SEO двигает страницу в выдаче. GEO делает так, чтобы из этой страницы нейросеть собрала ответ и поставила ссылку на вас. Это не замена, а слой сверху: без позиций в топ-30 в нейроответ не попасть в принципе, но и топ-10 цитирование не гарантирует.
| SEO | GEO | |
|---|---|---|
| Цель | Позиция в выдаче | Цитата в нейроответе Алисы |
| Что оптимизируем | Сайт + ссылочный профиль | Контент + сущность бренда в источниках |
| Главный сигнал | Поведенческие, релевантность | Извлекаемость ответа + узнаваемость и репутация |
| Где живёт результат | 10 синих ссылок | Блок Алисы над выдачей |
| Метрика | Трафик, позиции | Цитирования, доля голоса, брендовые запросы |
Преимущество стека здесь реальное, а не на словах. Нейросеть извлекает фрагмент из того HTML, который видит при обходе. Если контент дорисовывается на клиенте после загрузки JS, для робота его в нужный момент часто просто нет. Next.js с серверным рендерингом и статической генерацией отдаёт готовую разметку сразу — то есть закрывает базовое условие извлекаемости архитектурно, без костылей. Большинство сайтов на чистом клиентском React проигрывают именно здесь, и их владельцы об этом не догадываются.
Как Алиса выбирает, кого процитировать
Под нейроответами Яндекса работает YandexGPT: система определяет, что у запроса информационное намерение, генерирует связный текст на основе нескольких проиндексированных источников и ставит ссылки на доноров. Источников немного — порядка пяти. И вот цифры, ради которых всё затевается.
Доля запросов с нейроответом уже высокая: по данным конференции ETarget, около 68% в информационном сегменте и 43% в коммерческом. То есть две трети инфо-запросов закрываются прямо в выдаче, без перехода на сайт. Аналитики Gartner ещё в 2024-м прогнозировали потерю до 25% поискового трафика к 2026 году и до 50% к 2028-му — и по моим проектам это сбывается: позиции стоят, а органика по информационным запросам тает.
Конкуренция за слот в Яндексе жёстче, чем у Google, но пул источников уже. По эксперименту агентства Devorra на их портфеле, около 63% цитат Алисы приходят из топ-5, а если страница в тройке — шанс на цитирование примерно 73%. У них же был прогон тридцати сайтов: из топ-3 цитировались восемь из одиннадцати, из позиций 4–10 — только четыре из тринадцати, а из-за пределов десятки прошёл ровно один, и тот за счёт уникальных данных, которых больше нигде не было. Вывод простой: топ-5 плюс собственная фактура — единственный надёжный путь. Уникальные данные пробивают даже слабую позицию.
Технический фундамент: чтобы Алиса вообще увидела страницу
Прежде чем думать о структуре текста, проверьте, что робот видит контент и не натыкается на запрет.
Рендеринг. В App Router держите контент в серверных компонентах. Всё, что важно для ответа — текст, таблицы, FAQ — должно приходить в первичном HTML, а не подгружаться эффектом после монтирования. Клиентские компоненты с 'use client' оставляйте для интерактива, не для смыслового контента. Если у вас данные тянутся из API, делайте это на сервере:
// app/services/korporativnyy-sajt/page.tsx
export const revalidate = 3600 // ISR: пересборка раз в час
export default async function Page() {
const data = await getContent() // на сервере, попадёт в HTML
return <Article data={data} />
}
robots.txt — место, где сайты случайно выключают себя из Алисы. Участие страницы в AI-ответах Яндекса регулируется ботами YandexAdditional и YandexAdditionalBot. Если в погоне за «защитой контента от ИИ» вы их закрыли — вы сами вырезали себя из нейроответов. Обновление статуса не мгновенное, по наблюдениям сообщества лаг около 2–14 дней, так что и проверять, и менять надо заранее. Откройте app/robots.ts и убедитесь, что не режете лишнего:
// app/robots.ts
import type { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return {
rules: [{ userAgent: '*', allow: '/' }], // не блокируем Yandex*-ботов
sitemap: 'https://example.ru/sitemap.xml',
}
}
Скорость. Core Web Vitals остаются фактором отбора: чем быстрее страница, тем охотнее её берут в источники. Здесь Next.js помогает из коробки — next/image с автоматической оптимизацией, стриминг разметки, разумный код-сплит. Не ломайте это тяжёлыми клиентскими библиотеками ради анимаций на странице, которая должна ранжироваться.
Структура контента под извлечение
Когда техническая база в порядке, дальше работает форма подачи. Нейросеть режет текст на смысловые блоки и собирает из них ответ, поэтому страница должна давать эти блоки готовыми.
Прямой ответ — в первых 150–200 словах. Не разогрев и не «в современном мире», а сразу суть запроса. Именно отсюда модель чаще всего вытаскивает фрагмент. Заголовки H2/H3 формулируйте вопросами, причём широкими и человеческими, а не перегруженными ключами: «Как настроить ISR в Next.js» работает лучше, чем «ISR Next.js настройка ревалидация кэш». Сравнения оформляйте таблицами — их ИИ нередко копирует целиком, и тогда в нейроответе оказывается ваша таблица с вашей ссылкой. И давайте конкретику: «реализовал каталог на 430 уникальных URL за такой-то срок» нейросеть извлекает легко, а «качественная разработка под ключ» для неё пустой звук.
Разметка JSON-LD в Next.js — без плагинов и правильно
Это та часть, где сеошные гайды машут руками, а разработчику нужен код. В App Router структурированные данные удобнее всего отдавать прямо из серверного компонента страницы. Никаких сторонних SEO-плагинов не нужно.
// app/blog/[slug]/page.tsx
export default async function ArticlePage({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug)
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: post.title,
datePublished: post.publishedAt,
dateModified: post.updatedAt, // ключевое поле для свежести
author: {
'@type': 'Person',
name: 'Максим Иванов',
url: 'https://иванов.сайт',
jobTitle: 'Full-stack разработчик (Next.js)',
sameAs: [
'https://habr.com/ru/users/...',
'https://github.com/...',
'https://t.me/...',
],
},
publisher: {
'@type': 'Organization',
name: 'иванов.сайт',
url: 'https://иванов.сайт',
},
}
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
<article>{/* контент */}</article>
</>
)
}
Тег <meta> и заголовки заполняйте через generateMetadata — это нативный способ Next.js, и он отдаёт всё на сервере:
export async function generateMetadata({ params }): Promise<Metadata> {
const post = await getPost(params.slug)
return {
title: post.title,
description: post.excerpt,
openGraph: { type: 'article', publishedTime: post.publishedAt },
}
}
Отдельно про FAQ. Блок вопросов-ответов в конце статьи полезен для пользователя и даёт модели готовые пары «вопрос — ответ». Но не молитесь на FAQPage-разметку: сама по себе она не является решающим фактором попадания в нейроответ. Это помощь структуре, а не волшебная кнопка.
Свежесть на автомате: ISR и честный dateModified
Нейросеть любит новое. Статья с данными 2022 года проигрывает обновлённому материалу 2026-го даже при равной глубине. На Next.js это решается инкрементальной статической регенерацией: ставите export const revalidate на странице — и контент пересобирается без полного деплоя, когда меняются данные в источнике.
Важная оговорка, чтобы не делать хуже: обновляйте поле dateModified только когда реально дополнили материал свежими цифрами или фактами. Менять дату на пустом месте — манипуляция, которую алгоритмы давно научились отличать. Свежая дата без свежего содержимого работает против вас.
Единая сущность: почему автор важнее, чем кажется
Тут техника смыкается с репутацией. Чтобы Алиса связала контент с конкретным экспертом, ей нужен непротиворечивый объект: кто автор, действительно ли он разбирается в теме, работает ли в области постоянно. Для модели особенно важны единое написание имени и совпадение ключевых фактов в разных источниках. Если про вас в сети есть расхождения — где-то одно имя, где-то другое, где-то без указания специализации — модель получает не один сильный объект, а несколько слабых версий одного и того же человека.
Поэтому Person с полем sameAs, которое связывает все ваши профили (Хабр, GitHub, Telegram, VC), — это не формальность, а способ склеить разрозненную личность в одну сущность, которую система сможет узнать. И писать о себе одинаково везде. На внешних площадках в том числе — упоминания на авторитетных ресурсах повышают вероятность цитирования сильнее, чем любая внутренняя оптимизация.
Чего НЕ делать
Накрутка поведенческих факторов как способ влезть в топ под GEO — путь в никуда. В 2025-м Яндекс выкатил «Тайфун», где антифрод встроен прямо в формулу ранжирования: фродовые сигналы не удаляются фильтром, а обнуляются в расчёте веса. Деньги на ботов теперь сжигаются впустую, а риск пессимизации реален.
Не закрывайте AI-ботов Яндекса «на всякий случай». Не плодите тонкий контент ради количества — после декабрьского обновления 2025 года экспертность и траст стали ключевым элементом ранжирования, и пустые страницы тянут вниз. Не набивайте заголовки ключами: модель хуже реагирует на перегруженные формулировки, чем на человеческие.
Частые вопросы
Можно ли попасть в нейроответ, если сайт не в топ-10? Сложно, но возможно — почти исключительно за счёт уникальных данных, которых нет у других. В норме же шанс резко растёт в топ-5 и особенно в топ-3.
Подходит ли SSG или нужен только SSR? Подходит и то, и другое. Главное, чтобы смысловой контент был в первичном HTML. Статическая генерация с ISR закрывает и извлекаемость, и свежесть.
Как понять, цитирует ли меня Алиса? Руками: в режиме инкогнито вводите целевые запросы и смотрите, есть ли сайт в карточках источников под нейроблоком. Косвенно — рост показов в Яндекс.Вебмастере при стабильном CTR и брендовые переходы в Метрике.
Нужны ли сторонние SEO-плагины для разметки в Next.js?
Нет. generateMetadata и ручной JSON-LD в серверном компоненте покрывают всё, что нужно, и работают предсказуемее плагинов.
Через сколько ждать результата? Это накопление на месяцы. Изменения в robots-доступе подхватываются за 2–14 дней, а узнаваемость сущности растёт от количества и согласованности упоминаний, а не от одного действия.
Об авторе. Максим Иванов — full-stack разработчик, специализация: корпоративные сайты и веб-сервисы на Next.js, TypeScript, React и Node.js, плюс SEO и GEO под Рунет. Веду иванов.сайт — портфолио и блог о разработке и продвижении.
