Schema.org JSON-LD: структурированные данные для Google Search

Как выбрать, создать и проверить структурированные данные, которые соответствуют видимому контенту и могут претендовать на расширенные результаты, но не гарантируют их показ.

Структурированные данные Schema.org — это словарь, который поисковые системы используют, чтобы понимать содержание страниц. Если разметка сделана правильно, обычный сниппет превращается в расширенный результат: со звёздами рейтинга, ценами товаров, часами работы или фото прямо в выдаче Google.

Статья описывает всю систему: как выбрать формат и приоритетные схемы и как написать JSON-LD для Organization, Product, AggregateRating, Review и ImageObject. Отдельно разберём подтипы, которые чаще всего упускают.

Путь JSON-LD: разметка внутри <script> → Google разбирает структуру → расширенный сниппет со звёздами рейтинга и ценой прямо в выдаче.
Google официально рекомендует JSON-LD как предпочтительный формат. В отличие от Microdata и RDFa, JSON-LD находится в теге <script> и не встраивается в HTML-разметку. Так его проще поддерживать и обновлять отдельно от вёрстки.

Что такое Schema.org и зачем нужна разметка

Schema.org — совместный проект Google, Bing, Yahoo и Яндекса, запущенный в 2011 году. Словарь содержит более 900 типов данных и тысячи свойств. Все типы наследуют базовый Thing и делятся на ветки: Person, Organization, Product, Event, CreativeWork, Action и другие.

Видно

Соответствие странице

Разметка должна описывать информацию, которую пользователь видит и может проверить.

Подходит

Соблюдайте правила функций

Используйте поддерживаемый тип и выполняйте требования к содержимому и технические правила.

Проверка

Тестируйте граф

Проверьте синтаксис и требования политики, затем посмотрите отрисованную страницу.

Наблюдение

Без обещания показа

Пройденный тест не гарантирует показ расширенного результата.

Разметка Schema.org решает сразу три задачи. Для поисковых систем — однозначно определяет сущности: это организация, а не просто текст с названием; это цена товара, а не просто число. Для пользователей — расширенные результаты в выдаче делают сниппеты информативнее до клика. Для бизнеса — выше CTR и присутствие в Knowledge Graph.

Форматы: JSON-LD, Microdata, RDFa

Структурированные данные Schema.org можно добавить тремя способами. Для новых проектов выбор очевиден — JSON-LD. Остальные форматы поддерживаются, но их сложнее поддерживать.

ФорматГде размещаетсяСвязь с HTMLРекомендация Google
JSON-LDТег <script type="application/ld+json">Отдельно от HTMLПредпочтительный
MicrodataАтрибуты itemscope, itemtype, itempropВстроен в HTML-элементыПоддерживается
RDFaАтрибуты vocab, typeof, propertyВстроен в HTML-элементыПоддерживается
JSON-LD — очевидный выбор для новых проектов: код изолирован от вёрстки, его легко генерировать динамически и обновлять без правок HTML-шаблонов. Microdata и RDFa Google поддерживает, но любое изменение вёрстки может незаметно сломать разметку.

Базовый шаблон JSON-LD одинаков для любой страницы: тег <script> с типом application/ld+json, внутри которого JSON-объект с обязательными полями @context и @type. Тег можно поместить в <head> или в конец <body>. Несколько схем — это несколько отдельных блоков <script>.

html
<!-- Base JSON-LD template -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Site Name",
  "url": "https://example.com"
}
</script>

<!-- Multiple schemas — multiple <script> blocks -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Company",
  "url": "https://example.com"
}
</script>

Приоритет схем: что даёт расширенные результаты в Google

Не каждая схема Schema.org даёт расширенный результат. Google поддерживает ограниченный набор типов, которые меняют внешний вид выдачи. Остальные схемы помогают Google понять контент, но не меняют внешний вид сниппета.

Бизнес и организации

LocalBusiness, Restaurant, Store — часы работы, адрес, телефон и рейтинг в Knowledge Panel. Высший приоритет для локального бизнеса.

Товары и цены

Product + Offer — цена, наличие и рейтинг прямо в сниппете. Google Shopping и расширенные сниппеты. Обязательно для e-commerce.

Контент и FAQ

Article и другие поддерживаемые типы должны точно описывать видимый контент. FAQ полезен читателю, но не гарантирует расширение в выдаче.

Рейтинги и отзывы

AggregateRating + Review — звёзды в сниппете. Самый заметный визуальный элемент. Работает для Product, LocalBusiness, Recipe, Course.

Тип схемыРасширенный результат в GoogleПриоритет
Product + OfferЦена, наличие, рейтинг в сниппете; карточки ShoppingКритичен для e-commerce
LocalBusiness + AggregateRatingKnowledge Panel, Map Pack, звёздыКритичен для локального бизнеса
Article / NewsArticleКарусель Top Stories, дата публикацииВысокий для медиа и блогов
BreadcrumbListХлебные крошки вместо URL в сниппетеВысокий для любого сайта
EventКарточка события с датой и местомСредний для страниц событий
RecipeКарточка рецепта с фото, временем, калориямиСредний для кулинарных сайтов
Organization (не Local)Knowledge Graph, логотип в результатахБазовый для всех сайтов

Organization — базовая схема и все подтипы

Organization — базовый тип для любой компании, организации или бренда. Иерархия подтипов широкая: каждый подтип добавляет свои поля. Выбор подтипа важен: по нему Google определяет деловой контекст и решает, что показать в Knowledge Panel.

ТипДля когоКлючевые дополнительные поля
OrganizationЛюбая компания, НКО, бренд без физического адресаname, url, logo, sameAs
LocalBusinessЛюбой бизнес с физическим адресомaddress, telephone, openingHours, geo
StoreРозничный магазинcurrenciesAccepted, paymentAccepted
FoodEstablishmentКафе, ресторан (базовый тип)servesCuisine, menu, hasMap
RestaurantРесторанservesCuisine, menu, acceptsReservations
CafeOrCoffeeShopКофейняservesCuisine
FastFoodRestaurantФастфудservesCuisine
MedicalOrganizationМедицинское учреждение (базовый тип)medicalSpecialty
HospitalБольницаavailableService, medicalSpecialty
MedicalClinicКлиникаmedicalSpecialty, availableService
DentistСтоматологическая практикаavailableService
LegalServiceЮридическая фирма—
LawyerАдвокат / юрист—
AccountingServiceБухгалтерская или аудиторская фирма—
FinancialServiceБанк, страховая, инвестиционная компания—
RealEstateAgentАгентство недвижимости—
AutomotiveBusinessАвтосалон, автосервис (базовый тип)—
AutoDealerАвтосалон—
AutoRepairАвтосервис—
HotelГостиницаamenityFeature, checkinTime, checkoutTime
SportsActivityLocationСпортивный объект (базовый тип)availableService
GymOrHealthClubСпортзал / фитнес-клуб—
GovernmentOrganizationГосударственная организация—
EducationalOrganizationОбразовательное учреждение (базовый тип)—
CollegeOrUniversityУниверситет / колледж—
SchoolШкола—
CorporationКрупная корпорацияtickerSymbol, legalName

Базовая схема Organization

Базовая схема Organization добавляется на главную страницу любого сайта. Она помогает Google определить бренд и связать его с внешними профилями через sameAs. Поле @id с уникальным идентификатором позволяет другим схемам ссылаться на эту организацию без дублирования данных.

json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Company Name",
  "legalName": "Example LLC",
  "url": "https://example.com",
  "logo": {
    "@type": "ImageObject",
    "url": "https://example.com/logo.png",
    "width": 200,
    "height": 60
  },
  "description": "Brief company description for Knowledge Graph.",
  "foundingDate": "2015",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-800-123-4567",
    "contactType": "customer service",
    "availableLanguage": "English"
  },
  "sameAs": [
    "https://www.linkedin.com/company/yourcompany",
    "https://twitter.com/yourcompany",
    "https://www.facebook.com/yourcompany"
  ]
}

LocalBusiness — физический бизнес с адресом

LocalBusiness — самый важный подтип для бизнеса с физическим местоположением. Правильно заполненная схема повышает шансы попасть в Google Map Pack (блок с картой вверху выдачи) и в Knowledge Panel с часами работы. Ключевые поля: address, geo, openingHoursSpecification, telephone, priceRange.

json
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "@id": "https://example.com/#business",
  "name": "The Birch Restaurant",
  "url": "https://example.com",
  "telephone": "+1-212-555-0100",
  "email": "info@example.com",
  "servesCuisine": ["American", "European"],
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "New York",
    "addressRegion": "NY",
    "postalCode": "10001",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.7128,
    "longitude": -74.0060
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "12:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday", "Sunday"],
      "opens": "12:00",
      "closes": "00:00"
    }
  ],
  "image": "https://example.com/photos/restaurant.jpg",
  "hasMap": "https://maps.google.com/?cid=XXXXXX"
}
Дни недели в openingHoursSpecification пишутся по-английски с заглавной буквы: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. Время указывается в 24-часовом формате HH:MM. Для круглосуточной работы: opens «00:00», closes «23:59».

sameAs — ссылки на внешние профили

Поле sameAs сообщает Google, что ваша организация — та же, что и её профили на внешних платформах. Это ключевое поле для построения Knowledge Graph — базы сущностей Google. Чем больше авторитетных источников подтверждают существование организации, тем выше вероятность появиться в Knowledge Panel.

  • Wikidata (самый авторитетный): https://www.wikidata.org/wiki/Q...
  • Wikipedia: https://en.wikipedia.org/wiki/...
  • LinkedIn, Twitter/X, Facebook, Instagram
  • YouTube-канал организации
  • Google Business Profile (для локального бизнеса)
  • Отраслевые каталоги — медицинские реестры, адвокатские палаты и т. п.

Product — схема товара и все подтипы

Product — базовая схема для любого товара или позиции. Она работает вместе с Offer (цена и наличие) и AggregateRating (рейтинг). Правильно реализованная схема Product даёт расширенный результат в Google: цену, статус наличия и звёзды рейтинга прямо в сниппете.

ТипСценарий использованияПримечания
ProductБазовая схема для любого товараобязательны name, image, description
OfferКонкретное предложение: цена и наличиеобязательны price, priceCurrency, availability
AggregateOfferДиапазон цен (несколько предложений)lowPrice, highPrice, offerCount
ProductGroupГруппа товаров с вариантамиvariesBy, hasVariant
IndividualProductКонкретный вариант внутри ProductGroupisVariantOf → ProductGroup
BrandБренд товара (вложен в Product)обязательно name

Базовый Product с Offer

Для расширенного результата Google требует минимальный набор полей: name, image, description и вложенный Offer с priceCurrency, price и availability. Если не заполнено хотя бы одно из этих полей, сниппет товара не обогатится.

json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Air X Pro Running Shoes",
  "description": "Lightweight running shoes with foam sole for road running. Weight 230g, drop 10mm.",
  "sku": "AIRX-001-BLK",
  "mpn": "AIRX001",
  "gtin13": "0123456789012",
  "brand": {
    "@type": "Brand",
    "name": "RunMax"
  },
  "image": [
    "https://example.com/photos/airx-front.jpg",
    "https://example.com/photos/airx-side.jpg",
    "https://example.com/photos/airx-back.jpg"
  ],
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/air-x-pro",
    "priceCurrency": "USD",
    "price": "89.99",
    "priceValidUntil": "2026-12-31",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "RunMax Store"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "128"
  }
}
Значения availability должны использовать словарь, который ожидает соответствующий тип схемы. Сверяйтесь с актуальной документацией по функции и проверяйте полное значение в контексте: не делайте вывод о расширенном результате по одному полю.

AggregateOffer — диапазон цен

Если товар предлагают несколько продавцов или он идёт в вариантах с разными ценами, используйте AggregateOffer. Он показывает диапазон цен (lowPrice – highPrice) вместо одной цены.

json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Galaxy S25 Smartphone",
  "brand": { "@type": "Brand", "name": "Samsung" },
  "image": "https://example.com/galaxy-s25.jpg",
  "offers": {
    "@type": "AggregateOffer",
    "priceCurrency": "USD",
    "lowPrice": "799",
    "highPrice": "1099",
    "offerCount": "3",
    "offers": [
      {
        "@type": "Offer",
        "name": "128 GB / Black",
        "price": "799",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      {
        "@type": "Offer",
        "name": "256 GB / White",
        "price": "899",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      {
        "@type": "Offer",
        "name": "512 GB / Violet",
        "price": "1099",
        "priceCurrency": "USD",
        "availability": "https://schema.org/PreOrder"
      }
    ]
  }
}

ProductGroup — товары с вариантами

ProductGroup — группа связанных товаров, которые отличаются параметрами (размером, цветом, материалом). Используется на карточках товаров с вариантами. Каждый конкретный вариант — это вложенный Product, у которого isVariantOf указывает на родительский ProductGroup.

json
{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Air X Pro Running Shoes",
  "description": "Road running shoes available in multiple colours and sizes.",
  "url": "https://example.com/products/air-x-pro",
  "brand": { "@type": "Brand", "name": "RunMax" },
  "productGroupID": "AIRX-PRO",
  "variesBy": ["https://schema.org/color", "https://schema.org/size"],
  "hasVariant": [
    {
      "@type": "Product",
      "name": "Air X Pro — Black, US 9",
      "sku": "AIRX-BLK-9",
      "color": "Black",
      "size": "US 9",
      "offers": {
        "@type": "Offer",
        "price": "89.99",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "Product",
      "name": "Air X Pro — Blue, US 11",
      "sku": "AIRX-BLU-11",
      "color": "Blue",
      "size": "US 11",
      "offers": {
        "@type": "Offer",
        "price": "89.99",
        "priceCurrency": "USD",
        "availability": "https://schema.org/OutOfStock"
      }
    }
  ]
}
Для расширенного результата Product Google требует: name, image и вложенный Offer. Без Offer (цены и наличия) обогащённый сниппет не отобразится. Дополнительно: brand, sku или gtin13 повышают шансы попасть в Google Shopping.

AggregateRating и Review — рейтинги и отзывы

Звёзды рейтинга в результатах поиска — самый заметный элемент сниппета. Они реализуются через два связанных типа: AggregateRating (общая оценка по всем оценкам) и Review (отдельный текстовый отзыв). Оба типа всегда вкладываются в родительскую схему: Product, LocalBusiness, Recipe, Course, Book и т. д.

AggregateRating — общая оценка

AggregateRating отражает итоговую оценку: среднее значение и количество голосов. Google выводит её в сниппете звёздами. Обязательные поля: ratingValue (среднее) и reviewCount или ratingCount.

json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Air X Pro Running Shoes",
  "image": "https://example.com/airx.jpg",
  "offers": {
    "@type": "Offer",
    "price": "89.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "bestRating": "5",
    "worstRating": "1",
    "reviewCount": "128",
    "ratingCount": "215"
  }
}
ratingCount — общее число оценок, включая оценки без текста. reviewCount — число текстовых отзывов. Если есть только звёздные оценки без текста, используйте ratingCount. Если только текстовые отзывы — используйте reviewCount. Можно указать оба поля одновременно.

Review — отдельные отзывы

Review — схема для отдельного текстового отзыва. Он вкладывается в родительский объект через свойство review. Каждый Review содержит автора, оценку и текст отзыва. Google может показать фрагмент текста отзыва в расширенном результате.

json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Air X Pro Running Shoes",
  "image": "https://example.com/airx.jpg",
  "offers": {
    "@type": "Offer",
    "price": "89.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "128"
  },
  "review": [
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "name": "Great shoes for daily runs",
      "reviewBody": "Been running in them for 3 months — sole holds up well, feet don't tire. Recommend for road running.",
      "datePublished": "2026-03-15",
      "author": {
        "@type": "Person",
        "name": "Alex K."
      }
    },
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "4",
        "bestRating": "5"
      },
      "reviewBody": "Good cushioning, but runs a little small. Order half a size up.",
      "datePublished": "2026-04-01",
      "author": {
        "@type": "Person",
        "name": "Maria S."
      }
    }
  ]
}
Ключевое требование Google: отзывы в разметке должны быть настоящими отзывами реальных пользователей на вашем сайте. Запрещено показывать только пятизвёздочные отзывы, скрывать негативные и публиковать отзывы, написанные редакцией. Нарушения ведут к ручным санкциям и потере расширенных результатов.

ImageObject — фотографии в структурированных данных

Изображения в Schema.org можно указать двумя способами: строкой с URL ("image": "https://example.com/photo.jpg") или объектом ImageObject с метаданными. Для большинства схем достаточно строки, но для Article, Recipe и HowTo Google рекомендует ImageObject: в нём можно указать размеры, подпись и формат.

Тип схемыТребования к изображениюМин. ширина
ProductМинимум одно фото товара; предпочтителен белый фонрекомендуется 800 px
Article / NewsArticleМинимум 3 изображения: 16:9, 4:3, 1:11200 px
RecipeОбязательно фото готового блюдалюбая; оптимально 1200×628
LocalBusinessФото входа, интерьера, фасадалюбая
Organization (логотип)Прямоугольный, на белом или прозрачном фонеминимум 112×112, соотношение сторон до 1×10
Пример разметки изображений Schema.org в JSON-LD:
json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Air X Pro Running Shoes",
  "image": [
    {
      "@type": "ImageObject",
      "url": "https://example.com/airx-front.jpg",
      "width": 1200,
      "height": 1200,
      "caption": "Air X Pro — front view"
    },
    {
      "@type": "ImageObject",
      "url": "https://example.com/airx-side.jpg",
      "width": 1200,
      "height": 1200,
      "caption": "Air X Pro — side view"
    }
  ],
  "offers": {
    "@type": "Offer",
    "price": "89.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
Для Article Google требует минимум одно изображение шириной 1200 px с соотношением сторон 16:9, 4:3 или 1:1. Передайте все три варианта — Google сам выберет подходящий для каждого места показа. Изображения должны сканироваться (не быть закрыты в robots.txt) и иметь стабильный URL.

Объединение схем на одной странице

На одной странице несколько схем добавляются отдельными блоками <script>. Ниже полная разметка страницы товара: продавец, хлебные крошки, товар с ценой, рейтингом и отзывом.

html
<!-- Schema 1: Selling organisation (on all site pages) -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "RunMax Store",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png"
}
</script>

<!-- Schema 2: Breadcrumbs -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com" },
    { "@type": "ListItem", "position": 2, "name": "Footwear", "item": "https://example.com/shoes" },
    { "@type": "ListItem", "position": 3, "name": "Air X Pro" }
  ]
}
</script>

<!-- Schema 3: Product with price, rating and review (on product page) -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Air X Pro Running Shoes",
  "description": "Road running shoes.",
  "sku": "AIRX-001",
  "brand": { "@type": "Brand", "name": "RunMax" },
  "image": "https://example.com/airx.jpg",
  "offers": {
    "@type": "Offer",
    "price": "89.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2026-12-31",
    "seller": { "@id": "https://example.com/#organization" }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "128",
    "bestRating": "5"
  },
  "review": {
    "@type": "Review",
    "reviewRating": { "@type": "Rating", "ratingValue": "5" },
    "author": { "@type": "Person", "name": "Alex K." },
    "reviewBody": "Excellent shoes, run in them every day.",
    "datePublished": "2026-04-10"
  }
}
</script>
Поле seller: { "@id": "https://example.com/#organization" } — это ссылка на ранее описанную организацию по её @id. Так устроено связывание графа: Google соединяет сущности в единый граф знаний и не дублирует данные.

Проверка структурированных данных

После внедрения всегда проверяйте разметку. Google предоставляет два официальных инструмента, а Search Console показывает реальную картину того, что видит сканер на проиндексированных страницах.

Step 1Rich Results Test

Откройте search.google.com/test/rich-results и введите URL или HTML. Инструмент покажет, какие расширенные результаты доступны для схемы, какие поля обязательны и что заполнено неверно. Это единственное место, где можно подтвердить, что разметка действительно даст визуальные улучшения в выдаче.

Step 2Schema Markup Validator

Откройте validator.schema.org для полной проверки по стандарту Schema.org, а не только по типам, которые поддерживает Google. Он проверяет обязательные свойства каждого типа и предупреждает о несовместимых комбинациях — полезно для сложных вложенных схем.

Step 3Google Search Console

Search Console → Enhancements → выберите тип схемы. Здесь видны реальные ошибки на проиндексированных страницах. Именно эти ошибки сейчас блокируют расширенные результаты на живых URL — это самый практичный сигнал.

Быстрая проверка: убедитесь, что JSON-LD есть в HTML-ответе сервера, а не только добавлен через JavaScript. Откройте DevTools → Network → найдите первый запрос → Preview → найдите script type="application/ld+json". Если блока нет, Googlebot может не увидеть разметку.

Чек-лист структурированных данных

Базовая реализация JSON-LD

  • Тег <script type="application/ld+json"> добавлен в <head> или в конец <body>
  • Каждый блок содержит @context: "https://schema.org" и @type
  • У всех основных сущностей есть уникальный @id в формате URL с фрагментом (#name)
  • JSON валиден: нет висячих запятых, все кавычки закрыты
  • Разметка есть в HTML-ответе сервера (не только через JavaScript)

Organization / LocalBusiness

  • Выбран правильный подтип (Restaurant, Dentist, AutoDealer и т. д.), а не просто Organization
  • Заполнены name, url, telephone, address (для LocalBusiness)
  • Добавлен geo с точными координатами (latitude, longitude)
  • openingHoursSpecification заполнен английскими названиями дней и временем в формате HH:MM
  • sameAs ведёт как минимум на соцсети и Wikidata (если есть)

Product

  • Заполнены name, description, image (минимум одно изображение)
  • Вложенный Offer содержит price, priceCurrency, availability, priceValidUntil
  • availability записан полным URL: https://schema.org/InStock
  • Указаны sku и/или gtin13 для Google Shopping
  • AggregateRating вложен, если на странице есть пользовательские оценки

Рейтинги и отзывы

  • AggregateRating содержит ratingValue, reviewCount, bestRating, worstRating
  • Значения AggregateRating совпадают с реальными данными сайта
  • Review вложен в родительский объект (Product / LocalBusiness), а не стоит отдельно
  • Каждый Review содержит author (Person), reviewRating, datePublished, reviewBody
  • Отзывы в разметке — настоящие отзывы реальных пользователей

FAQ

Влияет ли разметка Schema.org напрямую на позиции в Google?
Структурированные данные помогают Google понять, какие функции страницы допустимы, но Google не гарантирует расширенный результат и не описывает разметку как прямой способ улучшить ранжирование. Используйте её, чтобы точно описывать видимые факты.
Можно ли добавить структурированные данные через Google Tag Manager?
Технически да: GTM может вставить тег <script> с JSON-LD. Но Google предпочитает разметку в HTML-ответе сервера, а не добавленную через JavaScript. Разметка, вставленная через GTM, может распознаться неверно при сканировании, если Googlebot не выполняет JS на этой странице. Оптимально формировать JSON-LD на стороне сервера.
Сколько отзывов включать в разметку Review?
Google не требует фиксированного числа. На практике: если отзывов меньше 10, включите все. Если их сотни, достаточно 3–5 последних. Важнее качество: в каждом Review должны быть текст, автор и дата. Слишком мало отзывов может помешать Google показать звёзды в сниппете.
Почему расширенные результаты не появляются, хотя разметка прошла проверку?
Причин несколько: (1) Google ещё не сканировал страницу повторно — подождите 1–4 недели или запросите переиндексацию; (2) reviewCount слишком мал; (3) страница нарушает правила Google, например отзывы выглядят накрученными; (4) расширенные результаты для этого типа схемы конкурируют с другими элементами выдачи. Проверьте Search Console → Enhancements.
Как указывать цену для международного магазина?
Используйте отдельный Offer для каждой валюты или несколько Offer внутри AggregateOffer. Поле priceCurrency принимает коды ISO 4217: USD, EUR, GBP, JPY. Google показывает цену страны и языка, для которых предназначена страница. Настройте hreflang правильно, чтобы каждая локаль видела разметку в своей валюте.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it