Загрузка...
Загрузка...
Подробное руководство по внедрению Schema.org разметки. JSON-LD, типы схем, rich snippets и инструменты проверки для улучшения видимости в поиске.
Поделитесь с коллегами или изучите другие материалы блога
Schema.org разметка — один из мощнейших инструментов SEO, позволяющий поисковым системам лучше понимать контент. Правильная структурированная разметка даёт rich snippets, улучшает CTR и повышает шансы попасть в AI-ответы. Разберём все аспекты внедрения.
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.
{
"@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"
}
}
{
"@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"
}
}
{
"@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": "$$"
}
{
"@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 месяца."
}
}
]
}
{
"@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"
}
]
}
{
"@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"
}
]
}
{
"@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>
{
"@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"
}
}
]
}
// 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>
</>
);
}
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>
</>
);
}
// 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');
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, Article, BreadcrumbList) и постепенно расширяйте. Регулярно проверяйте разметку через reChecker Schema Validator — ошибки в JSON-LD не видны глазу, но критичны для поисковиков.