Спроектируй стратегию schema.org для {{site_url}} (тип: {{site_type}}).
Шаг 1: выбор схем по типу контента
Универсальные (нужны почти всегда)
- Organization или Person — на главной, в footer
- WebSite + SearchAction — на главной, для sitelinks search box
- BreadcrumbList — на каждой странице с навигацией глубже 1 уровня
По типу страницы
| Контент | Схемы |
|---|---|
| Блог-пост / статья | Article (BlogPosting / NewsArticle) + Author |
| Продукт | Product + Offer + AggregateRating + Review |
| Лендинг продукта | SoftwareApplication или Product |
| FAQ-страница | FAQPage |
| Гайд / туториал | HowTo |
| Видео-страница | VideoObject |
| Курс | Course |
| Событие / вебинар | Event |
| Локальный бизнес | LocalBusiness |
| Рецепт | Recipe |
| Pricing-страница | Offer / AggregateOffer |
| Категория товаров | ItemList + Product |
Не каждый schema даёт rich result
Проверь support через https://developers.google.com/search/docs/appearance/structured-data/search-gallery
Шаг 2: формат
- JSON-LD — единственный рекомендованный, в
<script type="application/ld+json">в<head> - Не Microdata, не RDFa (legacy)
- Один script на сущность (не сливай всё в один объект)
Шаг 3: обязательные и рекомендуемые поля
Article / BlogPosting
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Заголовок до 110 символов",
"image": ["https://.../1x1.jpg", "https://.../4x3.jpg", "https://.../16x9.jpg"],
"datePublished": "2026-05-17T08:00:00+00:00",
"dateModified": "2026-05-17T10:00:00+00:00",
"author": [{
"@type": "Person",
"name": "Имя Автора",
"url": "https://.../authors/name"
}],
"publisher": {
"@type": "Organization",
"name": "...",
"logo": { "@type": "ImageObject", "url": "https://.../logo.png" }
},
"mainEntityOfPage": "https://.../this-post"
}
Product
- Обязательно: name, image, description, sku/mpn/gtin, brand, offers
- offers.price + priceCurrency + availability
- AggregateRating только если есть реальные отзывы (минимум 1, желательно 3+)
- Review — отдельная сущность на каждый отзыв
BreadcrumbList
- ItemListElement массив с position, name, item
- Совпадает с визуальной навигацией (не врать)
FAQPage
- mainEntity = массив Question
- Каждый Question имеет acceptedAnswer
- Только если FAQ реально на странице, видна и одинакова
HowTo
- name, step[] (HowToStep с text)
- totalTime в ISO 8601 (PT30M)
- supply, tool (опц.)
Шаг 4: внедрение по приоритету
P0 (сейчас же)
- Organization + WebSite (главная)
- Article/Product на основных шаблонах
- BreadcrumbList везде
P1
- FAQPage где есть реальные FAQ-блоки
- AggregateRating + Review если есть отзывы
- SoftwareApplication для продуктовых страниц
P2
- HowTo для гайдов
- VideoObject для видео-страниц
- Event для будущих мероприятий
Шаг 5: техническая реализация
- Один
<script>per type per page - Динамически генерируется из CMS / БД, не hardcoded
- Markdown frontmatter → schema generator
- Не дублировать данные, которых нет в видимом контенте (Google наказывает)
Шаг 6: валидация
Инструменты
- Schema Markup Validator (https://validator.schema.org) — синтаксис
- Google Rich Results Test (search.google.com/test/rich-results) — что увидит Google
- Search Console → Enhancements — что Google реально проиндексировал
- JSON-LD Playground — для отладки
Что проверять
- Все required поля заполнены
- URL — абсолютные, не относительные
- Даты в ISO 8601
- Структура соответствует выбранному типу
- Нет «лишних» полей с whitespace-копи
Шаг 7: мониторинг
- Search Console → Enhancements (по каждому типу)
- Алерт на «N errors» в schema
- Проверка после каждого деплоя CMS-шаблонов
- Audit раз в квартал — не сломалось ли что-то
Формат вывода
- Карта: страница → schema-типы (таблица)
- JSON-LD snippets для каждого типа с твоими данными
- Внедрение по приоритету (P0 / P1 / P2)
- Чек-лист валидации
- Мониторинг setup
Анти-паттерны
- ❌ Schema с данными, которых нет в видимом контенте (Google = ручной санкции)
- ❌ Поддельные reviews / ratings
- ❌ Hidden FAQ только для schema (manual action)
- ❌ Schema на несуществующие offers («from $0»)
- ❌ Дубль одной сущности на разных страницах с разными ID
- ❌ Игнор dateModified — Google не понимает свежесть
- ❌ Один блочный JSON со всем подряд — сложно валидировать и поддерживать
- ❌ Relative URLs (https:// обязательно)
- ❌ Schema есть, в Search Console — ошибки (не настроен мониторинг)
Похожие промты
site / audit
Технический SEO-аудит
Crawl, индексация, мета-теги, sitemap, robots, schema.org и Core Web Vitals в одном отчёте.
seotechnicalaudit
Открыть
Средний30-60 мин
site / seo
Мета-теги и schema.org для страницы
Полный набор метаданных для страницы: title, description, OG, Twitter, JSON-LD.
seometaschema
Открыть
Начальный15-30 мин
site / seo
Проверить контент на каннибализацию ключей
Найти страницы, которые конкурируют друг с другом за одни и те же запросы.
seocontentcannibalization
Открыть
Продвинутый30-60 мин