Гид по технологиям

Как вручную добавить schema markup (структурированные данные) на сайт

8 min read SEO Обновлено 15 Apr 2026
Как вручную добавить schema markup на сайт
Как вручную добавить schema markup на сайт

Женщина, использующая сенсорный экран.jpg)

Schema markup — это способ дать поисковым системам структурированную информацию о содержимом страницы: что это за объект (статья, продукт, человек, организация и т.д.), его свойства и отношения. Браузер не отображает эти данные напрямую, но поисковые роботы читают их и могут показать расширенные сниппеты (rich snippets) в результатах поиска, что обычно повышает CTR.

В этой статье подробно описан ручной метод добавления schema markup. Он занимает больше времени, чем установка плагина, но даёт полный контроль и не требует дополнительных расширений.

К чему стремиться и когда это важно

  • Основная цель: улучшить видимость в поиске и дать роботам точный контекст контента.
  • Когда нужно: для статей, рецептов, мероприятий, товаров, мест, организаций, FAQ/HowTo и др.
  • Когда неэффективно: если страница динамически формируется без доступа к HTML-шаблонам, или если внутри бизнеса нет ресурсов на поддержание актуальности structured data — в этом случае лучше плагин с GUI и автоматической генерацией.

Выбор формата разметки

Существует несколько форматов для структурированных данных. Выбор влияет на удобство поддержки и внедрения.

Microdata

Microdata — это набор атрибутов, которые встраиваются в HTML-элементы (itemscope, itemtype, itemprop). Подходит, когда вы хотите, чтобы разметка находилась прямо в элементах контента. Тесно связан с HTML и может быть удобен, если вы редактируете шаблоны тем.

Плюсы:

  • Разметка рядом с контентом; удобно для девов, редактирующих шаблоны. Минусы:
  • Может «загромождать» HTML, сложнее поддерживать в больших проектах.

RDFa

RDFa (Resource Description Framework in Attributes) похож на Microdata, но использует другую семантику: vocab, typeof, property. Часто применяется на семантических сайтах и там, где важна связность данных.

Плюсы:

  • Подходит для семантической интеграции с внешними графами. Минусы:
  • Более редкий выбор для типичных сайтов; иногда сложнее в освоении.

JSON-LD

JSON-LD (JavaScript Object Notation for Linked Data) — рекомендованный Google формат. Разметка вставляется как отдельный блок (чаще — в ), без изменения исходного HTML.

Плюсы:

  • Проще редактировать и генерировать программно.
  • Не «портит» HTML-разметку контента.
  • Лучше подходит для шаблонов, где данные генерируются на сервере.

Минусы:

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

Рекомендация: для новых внедрений используйте JSON-LD, если нет жёстких требований к Microdata/RDFa.

Написание разметки: ручной способ и генераторы

Выбрали формат — следующий шаг: подготовить код.

  • Ручной способ: используйте любой текстовый редактор или IDE (VS Code, Sublime Text, Notepad++). Полезно форматировать JSON-LD через prettify и валидатор.
  • Генераторы: если хотите быстрее — используйте генератор структурированных данных. Популярные варианты: Schema Markup Generator (Merkle), JSON-LD Generator (Hall Analysis). Эти инструменты помогут выбрать тип схемы и корректно заполнить поля.

Примеры часто используемых типов: Article, NewsArticle, BlogPosting, Product, Recipe, Event, LocalBusiness, FAQPage, HowTo.

Пример минимального JSON-LD для статьи (Article):

Важно: даты указывайте в международном ISO-формате YYYY-MM-DD, валюты — в ISO-кодах (например, USD, EUR), а числа и размеры — в единицах, актуальных для целевой аудитории.

Как добавить разметку на страницу (пример для WordPress)

Ниже — пошаговая инструкция по ручному добавлению JSON-LD через пользовательские поля и подключению их в header.php. Принцип аналогичен для других CMS: вы должны вставить блок разметки в head страницы или в тело в соответствии с требованиями.

  1. Откройте нужную запись или страницу в WordPress.
  2. Включите опцию “Пользовательские поля” (Custom Fields).
  • Нажмите на три точки в правом верхнем углу редактора.
  • Перейдите в “Настройки” (Preferences).
  • В разделе “Дополнительные панели” (Advanced Panels) включите “Пользовательские поля”.

Скриншот шаблона записей WordPress

  1. Внизу записи найдите блок “Параметры пользовательских полей”. В “Добавить новое поле” выберите “Ввести новое” и задайте имя поля (meta key).

Скриншот: опция «Пользовательские поля» в WordPress

  1. Название ключа мета-данных (meta key) должно совпадать с тем, что вы затем будете вызывать в теме. В примере ниже мы используем ключ ‘schema’ для простоты, но вы можете назвать поле по смыслу (например, article_schema, product_schema).

Скриншот: где добавлять пользовательские поля в записи WordPress

  1. Вставьте в Value ваш JSON-LD код как один большой текстовый блок и сохраните (Add Custom Field), затем обновите запись.

  2. Чтобы WordPress выводил это поле в , добавьте в файл header.php соответствующий вызов. Важно: сделайте резервную копию и лучше используйте дочернюю тему.

Пример кода для header.php (сохранённый блок):

Вставьте этот фрагмент непосредственно перед закрывающим тегом в вашем header.php.

Скриншот: вставка кода в header.php для работы структурированных данных

  1. Обновите файл темы и откройте страницу в браузере — в исходном коде страницы вы должны увидеть JSON-LD блок в секции .

Важно: если вы используете кеширующие плагины или CDN, очистите кеш после внесения изменений.

Замечание о совпадении ключей: если вы назвали пользовательское поле не ‘schema’, а, например, ‘article_schema’, обновите код в header.php, чтобы читать именно этот ключ: get_post_meta(get_the_ID(), ‘article_schema’, true).

Примеры разметки для распространённых задач

  • Article / BlogPosting (статья, пост): используйте Article или BlogPosting; добавляйте headline, author, datePublished, image, publisher, description.
  • Product: используйте Product с name, description, sku, offers (цена, валюта, доступность).
  • Event: используйте Event с name, startDate, location, offers.
  • FAQPage: используйте массив вопросов и ответов (Question/Answer) для отображения FAQ в результатах.

Пример FAQ (JSON-LD):

Проверка и валидация

После внедрения обязательно проверьте разметку:

  • Google Rich Results Test — проверяет, может ли страница генерировать расширённые результаты.
  • Schema Markup Validator (ранее от schema.org / Google) — анализирует соответствие спецификации.
  • Проверка через Google Search Console: раздел “Enhancements” покажет ошибки и предупреждения по типам разметки.

Валидация поможет найти: синтаксические ошибки JSON, отсутствие обязательных полей, некорректные URL или даты.

Частые ошибки и способы их исправления

  • Неправильный ключ пользовательского поля: убедитесь, что meta key в get_post_meta совпадает с тем, что вы создали.
  • Двойной вывод JSON-LD: если плагин и ручной код выводят одинаковые данные — возможны дубли и конфликтные поля. Оставьте один источник правды.
  • Неправильный формат даты/валюты: используйте ISO-форматы.
  • Отсутствие обязательных свойств: проверьте требования конкретного типа схемы.
  • Кеширование: после правок очистите кеш сайта и CDN перед проверкой.

Когда ручной метод не лучший выбор (контрпример)

  • Если у вас сотни товаров или страниц, которые часто меняют атрибуты (цены, доступность) — лучше автоматизированные плагины или серверная генерация через шаблоны и API, чтобы не поддерживать вручную тысячи полей.
  • Если у вас несколько редакторов без технических навыков — предпочтительнее GUI-плагин с проверкой и предпросмотром.

Альтернативные подходы

  • Плагин для CMS (Yoast, Rank Math, Schema Pro) — автоматизируют и упрощают создание разметки.
  • Серверная генерация JSON-LD на уровне шаблонов (например, в PHP/Node/Python) — масштабируемо и удобно для динамических переменных.
  • Использование headless-архитектуры и рендеринг JSON-LD вместе с SSR-страницей.

Мини-SOP: быстрая инструкция для команды (шаблон)

  1. Определить типы разметки, нужные для сайта (Article, Product, FAQ и т.д.).
  2. Сгенерировать шаблоны JSON-LD с обязательными полями.
  3. Решить способ хранения: пользовательские поля, отдельные мета-таблицы или динамическая генерация в шаблоне.
  4. Внедрить код в header.php (через дочернюю тему) или в шаблоны вывода страниц.
  5. Очистить кеш, проверить страницу в Rich Results Test и Search Console.
  6. Логировать ошибки в задачник (Jira/Trello) и исправлять по приоритету.

Ролевые чек-листы

SEO-специалист:

  • Определить приоритетные страницы для schema.
  • Подготовить список свойств, которые улучшат сниппеты.
  • Проверить после релиза через Search Console.

Разработчик:

  • Реализовать вывод JSON-LD в head или динамически в шаблонах.
  • Настроить резервное копирование и тестовый стенд.
  • Убедиться, что ключи meta совпадают и нет XSS-уязвимостей при выводе.

Контент-редактор:

  • Заполнить пользовательские поля корректными значениями.
  • Следить за правильностью дат, имён и изображений.

Отладка: тестовые кейсы и критерии приёмки

Критерии приёмки:

  • JSON-LD блок присутствует в страницы и корректно отображает все ожидаемые поля.
  • Rich Results Test не возвращает ошибок, максимум — предупреждения.
  • Search Console показывает успешную обработку новых данных (через несколько дней).
  • Сайт не замедлился из-за реализации (проверка производительности).

Тесты:

  • Негативный тест: ввести некорректный JSON и убедиться, что валидатор выдаёт ошибку.
  • Позитивный тест: корректный JSON-LD проходит проверку и Search Console видит изменения.
  • Кэш-тест: обновить мета-поле и убедиться, что новая версия появляется после очистки кеша.

Конфиденциальность и соответствие GDPR

  • Не включайте в структурированные данные личную информацию пользователей (email, телефон, персональные идентификаторы) без явного согласия.
  • Если вы публикуете личные данные авторов, убедитесь, что это согласовано с политикой конфиденциальности и местным законодательством.
  • Для отзывов и UGC (контент, созданный пользователями) используйте только публично доступные данные и метаданные, не раскрывайте приватную информацию.

Модель принятия решения (Mermaid)

flowchart TD
  A[Начать: Нужна ли разметка?] --> B{Тип страницы}
  B --> |Статья| C[Article / BlogPosting]
  B --> |Товар| D[Product]
  B --> |FAQ| E[FAQPage]
  B --> |Событие| F[Event]
  C --> G{Много страниц?}
  D --> G
  E --> G
  F --> G
  G --> |Да| H[Автоматизация: шаблоны или плагин]
  G --> |Нет| I[Ручное добавление через пользовательские поля]
  H --> J[Внедрить и валидировать]
  I --> J
  J --> K[Мониторинг в Search Console]

Факты и небольшая шпаргалка

  • Формат дат: ISO 8601 (YYYY-MM-DD или с временем YYYY-MM-DDThh:mm:ssZ).
  • Валюты: используйте ISO 4217 (например, USD, EUR, RUB).
  • Изображения: используйте абсолютные URL (https://), чтобы валидаторы могли получить доступ.
  • Ограничения: не все типы schema гарантируют появление в расширенных сниппетах — решение остаётся за поисковыми системами.

Глоссарий в одну строку

  • Schema markup: структурированные данные, описывающие сущности на странице для машин.
  • JSON-LD: формат разметки в виде JSON для Linked Data, рекомендованный Google.
  • Microdata/RDFa: варианты атрибутной разметки непосредственно в HTML.
  • Rich snippet: расширённый фрагмент в результатах поиска, основанный на структурированных данных.

Заключение

Schema markup — важный инструмент современного SEO. Ручное добавление даёт контроль и гибкость, но требует дисциплины: согласованности ключей, корректных форматов и регулярной валидации. Для масштаба и удобства стоит рассмотреть автоматизацию или проверенные плагины. Независимо от выбранного подхода, следуйте принципам: точность данных, минимизация дублирования и регулярная проверка через инструменты от поисковых систем.

Wажное: перед изменением файлов темы всегда делайте бэкап и, по возможности, работайте в дочерней теме или на тестовом стенде.

Краткое резюме далее.

Резюме:

  • Выберите формат (JSON-LD рекомендуется).
  • Подготовьте корректную разметку (валидируйте локально).
  • Вставьте код в head через шаблоны/пользовательские поля или используйте плагин.
  • Проверьте в Rich Results Test и Search Console.
  • Поддерживайте разметку в актуальном состоянии.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как создать статические стикеры для Telegram
Руководство

Как создать статические стикеры для Telegram

PlayStation 2022 Wrap-Up — итог года в играх
Gaming

PlayStation 2022 Wrap-Up — итог года в играх

Как создать стикер в WhatsApp Web
Гайды

Как создать стикер в WhatsApp Web

Бесплатный домен для сайта: как получить
Домен

Бесплатный домен для сайта: как получить

Команда tee в Linux: вывод на экран и в файл
Команды Linux

Команда tee в Linux: вывод на экран и в файл

Как чистить картриджи Nintendo Switch
Обслуживание

Как чистить картриджи Nintendo Switch