Schema.org для GEO в России: какие типы разметки помогают попасть в нейроответы
Какие schemas обязательны для попадания в YandexGPT, GigaChat, ChatGPT. Технические требования, готовый JSON-LD под Next.js, что игнорирует YandexGPT и почему.
Schema.org — это словарь разметки веб-страниц через JSON-LD, который позволяет LLM однозначно распознать тип контента (статья, продукт, компания, FAQ). Для GEO в России обязательны 5 типов: Article, FAQPage, Organization, BreadcrumbList, Person. YandexGPT и GigaChat учитывают разметку выборочно — конкретно какие типы и в каких сочетаниях работают для русских LLM, разбираем в гайде.
Главное за 30 секунд
- Schema.org даёт LLM однозначное понимание типа контента (статья vs продукт vs FAQ)
- Минимум для GEO: Article + FAQPage + Organization
- YandexGPT учитывает schema выборочно — не как Google, а как «дополнительный сигнал»
- Без BreadcrumbList YandexGPT не понимает иерархию сайта
- JSON-LD в
<head>— единственный поддерживаемый формат (Microdata устарел) - Schema.org Validator и Rich Results Test обязательны перед публикацией
- Срок результата: 2-6 недель после индексации
Что такое Schema.org и зачем оно для AI-поиска
Schema.org — это совместный проект Google, Microsoft, Yahoo и Яндекса, который описывает структуру данных на странице через стандартизированный словарь типов и свойств. Маркетологи знают его по «звёздочкам рейтинга» в Google и сниппетам с FAQ. Для AI-поиска роль разметки меняется: она перестаёт быть украшением сниппета и становится способом устранить неоднозначность для языковой модели.
LLM при формировании ответа парсит HTML и пытается понять, что за объект перед ней: это статья эксперта, карточка товара или страница компании. Без разметки модель опирается на эвристику — заголовки, плотность текста, микроразметку. С JSON-LD модель получает прямое утверждение: «это Article, автор — конкретный Person, опубликовано тогда-то». Это снижает риск, что ваш контент будет интерпретирован неверно или проигнорирован.
Разница между классическим SEO и GEO (Generative Engine Optimization) в том, что GEO оптимизирует под цитирование в нейроответе, а не под позицию в выдаче. Schema.org в этом контексте работает как фактчекинг-слой: модель сверяет извлечённые факты со структурированными данными. Подробный разбор всей механики мы собрали в полном гайде GEO в России 2026.
Важно понимать ограничение: разметка не гарантирует попадание в ответ. Она повышает вероятность корректной интерпретации, но финальное решение зависит от авторитетности источника, релевантности и наличия в индексе. Schema.org — необходимое, но недостаточное условие.
5 типов разметки, без которых GEO в России не работает
На странице среднего блога с правильной настройкой обычно работает 5-7 связанных schemas. Размер итогового JSON-LD блока — от 2 до 8 KB в зависимости от количества вложенных объектов. Разберём пять обязательных типов.
Article
Article — это тип для описания любого текстового материала: статьи, новости, поста. У него есть три специализации, и выбор между ними влияет на интерпретацию.
Используйте Article для общих экспертных материалов и гайдов, NewsArticle — для новостей с привязкой к дате события, BlogPosting — для блоговых постов с личной авторской подачей. Citerank в блоге размечает материалы как BlogPosting, потому что это формат авторских разборов, а не новостной ленты.
Минимальный набор обязательных свойств: headline, author, datePublished, dateModified, image, publisher. Для русского рынка критично заполнять inLanguage: "ru-RU" — это помогает YandexGPT и GigaChat правильно отнести контент к русскоязычному корпусу.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Schema.org для GEO в России",
"inLanguage": "ru-RU",
"datePublished": "2026-06-15",
"dateModified": "2026-06-15",
"author": { "@type": "Person", "name": "Сергей Гейн" },
"publisher": {
"@type": "Organization",
"name": "Citerank",
"logo": { "@type": "ImageObject", "url": "https://citerank.ru/logo.png" }
}
}
Подробнее свойства описаны на schema.org/Article. Не дублируйте headline и <title> — они могут отличаться, и это нормально.
FAQPage
FAQPage — тип для блока «вопрос-ответ», где каждая пара оформлена как Question с вложенным acceptedAnswer. Это один из немногих типов, которые напрямую влияют на цитируемость в нейроответах.
LLM любят извлекать готовые пары вопрос-ответ, потому что они близки к формату пользовательского запроса. Если у вас есть секция FAQ с русскими вопросами вроде «Сколько стоит внедрение CRM», модель с большой вероятностью использует именно эту структуру при ответе на похожий запрос.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Учитывает ли YandexGPT Schema.org?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Да, выборочно — как дополнительный сигнал к основному контенту."
}
}]
}
Жёсткое правило: разметка FAQPage должна точно соответствовать видимому на странице тексту. Скрытый FAQ или вопросы только в разметке — это анти-паттерн, который ловят валидаторы.
Organization
Organization описывает компанию-издателя: название, логотип, контакты, юридические данные. Для GEO в России этот тип решает задачу идентификации источника — модель понимает, кто стоит за контентом.
Для российских компаний заполняйте name, url, logo, sameAs (ссылки на соцсети и справочники), а также address с указанием страны RU. Если есть ИНН, его можно добавить через taxID — это усиливает сигнал легитимности для русских LLM, которые сверяются с открытыми реестрами.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Citerank",
"url": "https://citerank.ru",
"logo": "https://citerank.ru/logo.png",
"sameAs": [
"https://t.me/citerank",
"https://vc.ru/citerank"
]
}
Organization обычно размещают один раз — на главной или через общий layout. Дублировать полное описание на каждой странице не нужно, достаточно ссылки через publisher.
BreadcrumbList
BreadcrumbList — это разметка хлебных крошек, описывающая путь от корня сайта до текущей страницы. Без неё YandexGPT хуже понимает иерархию и тематическую принадлежность материала.
Хлебные крошки сообщают модели контекст: статья находится в разделе «Блог» → «GEO», значит, относится к этой теме. Это особенно важно для крупных сайтов, где одна страница может быть неоднозначно классифицирована по тексту.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Главная", "item": "https://citerank.ru" },
{ "@type": "ListItem", "position": 2, "name": "Блог", "item": "https://citerank.ru/blog" },
{ "@type": "ListItem", "position": 3, "name": "Schema.org для GEO" }
]
}
Последний элемент (текущая страница) указывают без item — это требование спецификации. Порядок position должен идти строго от 1 без пропусков.
Person
Person описывает автора материала: имя, должность, ссылки на профили, экспертизу. Для GEO это связано с концепцией авторитетности — модели всё чаще учитывают, кто написал текст.
Citerank в будущем планирует размечать Сергея Гейна как Person с заполненными name, jobTitle, url и sameAs на профессиональные профили. Это связывает каждую статью с реальным экспертом, а не с безличным «редакция».
{
"@type": "Person",
"name": "Сергей Гейн",
"jobTitle": "Founder, Citerank",
"url": "https://citerank.ru/team/gein",
"sameAs": ["https://t.me/sergeygein"]
}
Person вкладывается в author внутри Article — не нужно делать отдельный блок. Связь автора с организацией через worksFor усиливает E-E-A-T-сигнал, который частично перенимают и русские LLM.
Как YandexGPT, GigaChat и Алиса используют Schema.org
Ключевое отличие русских LLM от Google: они трактуют Schema.org как дополнительный сигнал, а не как первичный источник истины. Google в Rich Results напрямую рендерит данные из разметки. YandexGPT же использует разметку для верификации того, что уже извлёк из текста.
На практике это значит, что разметка без качественного видимого контента не сработает. Если в JSON-LD написано одно, а в тексте другое, YandexGPT доверяет тексту и может проигнорировать разметку целиком. Поэтому разметка — это слой подтверждения, а не подмены.
YandexGPT надёжнее всего реагирует на Article, FAQPage и BreadcrumbList. Organization и Person учитываются для оценки источника, но напрямую в текст ответа попадают реже. Детальный разбор механики мы дали в материале как попасть в ответы YandexGPT.
GigaChat от Сбера парсит разметку аналогично, с упором на Organization для коммерческих запросов — это связано с тем, что модель чаще обслуживает бизнес-сценарии. Алиса как поисковый ассистент опирается на индекс Яндекса, поэтому требования по разметке у неё совпадают с YandexGPT.
ChatGPT и Perplexity работают иначе: они в основном опираются на текстовый парсинг и реже используют JSON-LD напрямую. Но корректная разметка не вредит — она помогает их краулерам структурировать контент. Дополнительно для зарубежных моделей стоит настроить llms.txt для русского сайта, который даёт явные инструкции по обходу.
Отслеживать, попадает ли ваш контент в нейроответы после внедрения разметки, можно через Citerank — инструмент мониторинга AI-видимости, который показывает, в каких ответах LLM упоминается ваш домен.
Реализация на Next.js: готовый код
В Next.js JSON-LD внедряют через тег <script type="application/ld+json"> в App Router или через компонент. Есть два подхода: ручная сборка объекта и типизированная через библиотеку schema-dts.
Для надёжной типизации используйте schema-dts — она даёт автодополнение и ловит ошибки в названиях свойств на этапе сборки. Установка: npm install schema-dts. Это экономит время на отладке: вместо проверки опечаток в валидаторе ошибки видны сразу в IDE.
Создайте утилиту lib/jsonld.tsx:
import { Article, WithContext } from "schema-dts";
export function buildArticleSchema(post: {
title: string;
slug: string;
publishedAt: string;
author: string;
}): WithContext<Article> {
return {
"@context": "https://schema.org",
"@type": "BlogPosting",
headline: post.title,
inLanguage: "ru-RU",
datePublished: post.publishedAt,
dateModified: post.publishedAt,
author: { "@type": "Person", name: post.author },
publisher: {
"@type": "Organization",
name: "Citerank",
logo: {
"@type": "ImageObject",
url: "https://citerank.ru/logo.png",
},
},
url: `https://citerank.ru/blog/${post.slug}`,
};
}
Вывод в компоненте страницы (App Router, page.tsx):
export default function BlogPost({ post }) {
const schema = buildArticleSchema(post);
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
<article>{/* контент */}</article>
</>
);
}
Несколько schemas объединяйте в массив @graph внутри одного блока — это чище, чем несколько отдельных <script>:
const graph = {
"@context": "https://schema.org",
"@graph": [articleSchema, breadcrumbSchema, faqSchema],
};
Подход с @graph уменьшает дублирование контекста и упрощает поддержку. Автоматизация генерации разметки на уровне шаблона экономит порядка 15-20 минут на каждой новой статье против ручного заполнения.
Валидация и тестирование
Перед публикацией каждую страницу прогоняют через два валидатора и один инструмент Яндекса. Пропуск этого шага — частая причина, по которой разметка не работает: одна ошибка синтаксиса обнуляет весь блок.
Schema.org Validator (validator.schema.org) проверяет соответствие словарю и показывает все распознанные объекты с их свойствами. Это первичная проверка корректности структуры независимо от поисковика.
Rich Results Test от Google (search.google.com/test/rich-results) показывает, какие из ваших schemas Google считает пригодными для расширенных результатов. Даже если вы оптимизируете под русский рынок, этот инструмент полезен для отлова ошибок в Article и FAQPage.
Яндекс.Вебмастер (webmaster.yandex.ru) содержит раздел проверки структурированных данных, который покажет, как разметку видит именно Яндекс. Это единственный способ проверить интерпретацию под YandexGPT и Алису. После исправлений отправьте страницу на переобход — индексация и пересчёт занимают от нескольких дней.
Заведите чек-лист: валидный JSON-синтаксис, заполненные обязательные поля, соответствие разметки видимому тексту, корректный inLanguage, отсутствие битых URL в sameAs. Прогон по всем трём инструментам занимает около 5 минут на страницу.
Что НЕ работает (анти-паттерны)
Анти-паттерны Schema.org — это ошибки, которые либо не дают эффекта, либо приводят к санкциям и игнорированию разметки поисковиком. Разберём три самых частых.
Первый — overoptimization, попытка разметить всё подряд десятками типов. Если на странице 15 разных schemas, часть из которых не соответствует контенту, модель теряет доверие к разметке. Достаточно 5-7 релевантных типов, которые точно описывают то, что есть на странице.
Второй — дублирующиеся schemas. Когда один и тот же Article описан дважды (например, плагином и вручную), валидаторы выдают конфликт, а поисковик может проигнорировать оба блока. Аудитируйте все источники разметки, особенно если используете CMS с автоматической генерацией.
Третий и самый опасный — разметка на несуществующий контент. FAQPage с вопросами, которых нет на странице, рейтинг без реальных отзывов, автор-Person, которого нет в тексте. Это прямое нарушение правил, которое русские LLM ловят сверкой с видимым контентом и наказывают игнорированием.
Отдельно: не размечайте навигацию, рекламные блоки или чужой контент как свой Article. Разметка должна описывать основной материал страницы, а не всё, что на ней есть. Чем точнее соответствие, тем выше доверие модели и шанс на цитирование, которое можно отследить среди других citation-источников в России 2026.
FAQ
Обязательно ли использовать все 5 типов разметки сразу? Нет, но минимум — Article + FAQPage + Organization. BreadcrumbList и Person усиливают сигнал, особенно для крупных сайтов и экспертного контента. Начните с трёх базовых, добавляйте остальные по мере роста.
Учитывает ли YandexGPT Schema.org так же, как Google? Нет. Google рендерит данные из разметки напрямую в Rich Results, а YandexGPT использует её как дополнительный сигнал для верификации текста. Если разметка противоречит видимому контенту, YandexGPT доверяет тексту.
Microdata или JSON-LD — что выбрать?
JSON-LD. Microdata устарел и хуже поддерживается, разметка через атрибуты в HTML сложнее в поддержке. Все современные поисковики и LLM предпочитают JSON-LD в <head> или <body>.
Какой размер JSON-LD считается нормальным? Обычно от 2 до 8 KB на страницу при 5-7 связанных schemas. Если блок больше 15 KB, проверьте, нет ли дублирования или избыточных типов.
Через сколько появится результат после внедрения? От 2 до 6 недель после переиндексации. Сначала поисковик должен обойти страницу, распознать разметку и пересчитать сигналы. Ускорить можно отправкой на переобход в Яндекс.Вебмастере.
Можно ли разметить FAQ, которого нет на странице? Нет, это анти-паттерн. Разметка FAQPage должна точно соответствовать видимому тексту. Скрытый или несуществующий контент в разметке приводит к игнорированию блока и потере доверия.
Какой тип Article выбрать для блога? BlogPosting для авторских постов, Article для общих гайдов, NewsArticle для новостей с привязкой к дате. Citerank использует BlogPosting, потому что это формат экспертных разборов, а не новостной ленты.
Алиса и голосовой AEO: как попасть в голосовой ответ ассистента Яндекса
Как Алиса формирует короткий голосовой ответ из вашего сайта. Snippet-готовность, AEO-формат вопрос-ответ, разница с YandexGPT, технические требования. Гайд для маркетологов.
GigaChat для маркетологов: как попасть в ответы LLM Сбера
Где встречается GigaChat в b2b и b2c, что цитирует краулер GigaChatBot, какие 5 сигналов помогают попасть в ответы. Различия с YandexGPT и ChatGPT, чек-лист настройки.
llms.txt: что это и как правильно составить для русского сайта
Пошаговый разбор стандарта llms.txt от Anthropic: зачем он AI-системам (ChatGPT, YandexGPT, GigaChat, Perplexity), что писать в файле и как его валидировать. С готовым шаблоном.