Schema.org разметка — один из мощнейших инструментов SEO, позволяющий поисковым системам лучше понимать контент. Правильная структурированная разметка даёт rich snippets, улучшает CTR и повышает шансы попасть в AI-ответы. Разберём все аспекты внедрения.
Что такое Schema.org
Schema.org — это словарь структурированных данных, созданный совместно Google, Microsoft, Yahoo и Yandex. Он описывает сущности (товары, статьи, организации) в формате, понятном поисковым системам.
Форматы разметки
1. JSON-LD (рекомендуемый)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Заголовок статьи",
"author": {
"@type": "Person",
"name": "Иван Петров"
}
}
</script>
2. Microdata
<article itemscope itemtype="https://schema.org/Article">
<h1 itemprop="headline">Заголовок статьи</h1>
<span itemprop="author" itemscope itemtype="https://schema.org/Person">
<span itemprop="name">Иван Петров</span>
</span>
</article>
3. RDFa
<article vocab="https://schema.org/" typeof="Article">
<h1 property="headline">Заголовок статьи</h1>
<span property="author" typeof="Person">
<span property="name">Иван Петров</span>
</span>
</article>
Рекомендация: Используйте JSON-LD — он проще в поддержке, не смешивается с HTML и рекомендован Google.
Основные типы схем
Article — для статей и блогов
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Core Web Vitals 2026: полное руководство",
"description": "Актуальное руководство по оптимизации Core Web Vitals",
"image": "https://example.com/article-image.jpg",
"author": {
"@type": "Person",
"name": "Иван Петров",
"url": "https://example.com/authors/ivan"
},
"publisher": {
"@type": "Organization",
"name": "TechBlog",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2026-01-11",
"dateModified": "2026-01-11",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/article-url"
}
}
Product — для товаров
{
"@context": "https://schema.org",
"@type": "Product",
"name": "iPhone 17 Pro",
"image": "https://example.com/iphone17.jpg",
"description": "Смартфон Apple iPhone 17 Pro 256GB",
"brand": {
"@type": "Brand",
"name": "Apple"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/iphone17",
"priceCurrency": "RUB",
"price": "149990",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "TechStore"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "1234"
}
}
LocalBusiness — для локального бизнеса
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Веб-студия Digital",
"image": "https://example.com/office.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "ул. Пушкина, д. 10",
"addressLocality": "Москва",
"postalCode": "101000",
"addressCountry": "RU"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 55.7558,
"longitude": 37.6173
},
"telephone": "+7-495-123-45-67",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
],
"priceRange": "$$"
}
FAQPage — для FAQ-секций
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Сколько стоит разработка сайта?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Стоимость разработки сайта зависит от сложности проекта. Лендинг — от 50 000 ₽, корпоративный сайт — от 150 000 ₽, интернет-магазин — от 300 000 ₽."
}
},
{
"@type": "Question",
"name": "Какие сроки разработки?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Лендинг — 2-3 недели, корпоративный сайт — 1-2 месяца, интернет-магазин — 2-4 месяца."
}
}
]
}
HowTo — для инструкций
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Как установить Node.js на Ubuntu",
"description": "Пошаговая инструкция установки Node.js",
"totalTime": "PT10M",
"step": [
{
"@type": "HowToStep",
"name": "Обновите систему",
"text": "Выполните команду: sudo apt update && sudo apt upgrade",
"url": "https://example.com/nodejs#step1"
},
{
"@type": "HowToStep",
"name": "Добавьте репозиторий NodeSource",
"text": "Выполните: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -",
"url": "https://example.com/nodejs#step2"
},
{
"@type": "HowToStep",
"name": "Установите Node.js",
"text": "Выполните: sudo apt install -y nodejs",
"url": "https://example.com/nodejs#step3"
}
]
}
BreadcrumbList — хлебные крошки
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Главная",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Блог",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO",
"item": "https://example.com/blog/seo"
}
]
}
Organization — информация о компании
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "reChecker",
"url": "https://rechecker.ru",
"logo": "https://rechecker.ru/logo.png",
"description": "Бесплатные SEO-инструменты для разработчиков",
"sameAs": [
"https://t.me/rechecker",
"https://github.com/rechecker"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer service",
"email": "support@rechecker.ru"
}
}
Продвинутые техники
Вложенные сущности
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Обзор MacBook Pro M4",
"author": {
"@type": "Person",
"name": "Иван Петров",
"worksFor": {
"@type": "Organization",
"name": "TechReview"
}
},
"about": {
"@type": "Product",
"name": "MacBook Pro M4",
"brand": {
"@type": "Brand",
"name": "Apple"
}
}
}
Несколько схем на одной странице
<!-- Организация -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "TechCompany",
"url": "https://example.com"
}
</script>
<!-- Хлебные крошки -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [...]
}
</script>
<!-- Статья -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "...",
"author": {...}
}
</script>
Использование @graph для объединения
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "TechCompany",
"url": "https://example.com"
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com",
"name": "TechCompany Blog",
"publisher": {
"@id": "https://example.com/#organization"
}
},
{
"@type": "Article",
"headline": "Заголовок статьи",
"publisher": {
"@id": "https://example.com/#organization"
},
"isPartOf": {
"@id": "https://example.com/#website"
}
}
]
}
Внедрение в популярных фреймворках
Next.js
// app/blog/[slug]/page.tsx
import { Article, WithContext } from 'schema-dts';
export default function BlogPost({ post }) {
const jsonLd: WithContext<Article> = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: post.title,
description: post.description,
author: {
'@type': 'Person',
name: post.author.name,
},
datePublished: post.publishedAt,
};
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
<article>{/* контент */}</article>
</>
);
}
React (Helmet)
import { Helmet } from 'react-helmet-async';
function ProductPage({ product }) {
const schema = {
'@context': 'https://schema.org',
'@type': 'Product',
name: product.name,
offers: {
'@type': 'Offer',
price: product.price,
priceCurrency: 'RUB',
},
};
return (
<>
<Helmet>
<script type="application/ld+json">
{JSON.stringify(schema)}
</script>
</Helmet>
<div>{/* контент */}</div>
</>
);
}
WordPress
// functions.php
function add_schema_markup() {
if (is_single()) {
global $post;
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => get_the_title(),
'datePublished' => get_the_date('c'),
'author' => array(
'@type' => 'Person',
'name' => get_the_author()
)
);
echo '<script type="application/ld+json">' .
json_encode($schema, JSON_UNESCAPED_UNICODE) .
'</script>';
}
}
add_action('wp_head', 'add_schema_markup');
Проверка и отладка
Инструменты проверки
- reChecker Schema Validator — быстрая проверка любого URL
- Google Rich Results Test — официальный инструмент Google
- Schema.org Validator — проверка синтаксиса
Типичные ошибки
1. Отсутствие обязательных полей
// ❌ Плохо — нет author
{
"@type": "Article",
"headline": "Заголовок"
}
// ✅ Хорошо
{
"@type": "Article",
"headline": "Заголовок",
"author": {
"@type": "Person",
"name": "Автор"
}
}
2. Неправильный формат даты
// ❌ Плохо
"datePublished": "11 января 2026"
// ✅ Хорошо (ISO 8601)
"datePublished": "2026-01-11"
3. Несуществующие URL изображений
// ❌ Плохо — битая ссылка
"image": "https://example.com/deleted-image.jpg"
// ✅ Хорошо — проверенный URL
"image": "https://example.com/existing-image.jpg"
Чек-лист внедрения Schema.org
Обязательно для всех сайтов
- Organization — информация о компании
- WebSite — описание сайта
- BreadcrumbList — навигация
Для контентных сайтов
- Article — для статей
- FAQPage — для FAQ-секций
- HowTo — для инструкций
Для e-commerce
- Product — карточки товаров
- Offer — цены и наличие
- AggregateRating — рейтинги
Для локального бизнеса
- LocalBusiness — адрес, часы работы
- GeoCoordinates — координаты
Заключение
Schema.org разметка — это инвестиция в видимость сайта. Она даёт:
- Rich Snippets — расширенные сниппеты в выдаче
- Лучшее понимание контента поисковиками
- Повышение CTR за счёт визуального выделения
- Преимущество в AI-поиске — структурированные данные легче извлекаются
Начните с базовых схем (Organization, Article, BreadcrumbList) и постепенно расширяйте. Регулярно проверяйте разметку через reChecker Schema Validator — ошибки в JSON-LD не видны глазу, но критичны для поисковиков.