Если ты когда-нибудь ставил SEO-плагин только ради schema-разметки — есть способ проще и честнее. JSON-LD позволяет добавить структурированные данные прямо в HTML, без сторонних зависимостей и лишних настроек.
Зачем вообще возиться
Поисковики используют разметку, чтобы лучше понимать содержимое страницы: что это — статья, продукт, рецепт, событие. Правильная разметка увеличивает шансы на rich snippets в выдаче. JSON-LD — предпочтительный формат от Google: он не смешивается с HTML-разметкой и легко генерируется динамически.
Как это выглядит в коде
Встраивается через тег <script> с типом application/ld+json в <head> или в конце <body>:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Заголовок статьи",
"author": {
"@type": "Person",
"name": "Имя автора"
},
"datePublished": "2026-06-21"
}
</script>
Никакого влияния на визуальную часть — только данные для парсера.
Практичный подход к генерации
Вместо того чтобы хардкодить JSON вручную, разумно генерировать его из тех же данных, которые используются для рендеринга страницы. Несколько принципов:
- Единый источник правды — бери данные из тех же структур (API-ответ, CMS, store), что и контент. Тогда разметка обновляется вместе со страницей.
- Типизированные хелперы — заведи функции вроде
buildArticleSchema(post)илиbuildProductSchema(item), которые возвращают готовый объект. Легко тестировать и переиспользовать. - Серверный рендеринг предпочтительнее — если используешь SSR (Next.js, Nuxt, Astro и т.д.), вставляй
<script>на этапе генерации HTML. Краулеры не всегда хорошо справляются с клиентским JS. - Валидируй — Rich Results Test от Google и Schema Markup Validator помогут поймать ошибки до публикации.
Какие типы используются чаще всего
Article/BlogPosting— для статей и постовProduct— карточки товаров с ценой и отзывамиBreadcrumbList— хлебные крошкиFAQPage— блоки вопрос-ответOrganization/WebSite— для главной и корпоративных страницEvent— анонсы мероприятий
Поддерживаемость разметки
Главная проблема с плагинами — они живут отдельно от кода и быстро рассинхронизируются с реальным контентом. Генерация JSON-LD прямо из данных приложения решает это структурно: изменился заголовок или автор — разметка подтянется автоматически.
В итоге получаешь контроль над структурированными данными без лишней прослойки 🦆 — и поисковики скажут тебе спасибо.

