Как вручную добавить 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 страницы или в тело в соответствии с требованиями.
- Откройте нужную запись или страницу в WordPress.
- Включите опцию “Пользовательские поля” (Custom Fields).
- Нажмите на три точки в правом верхнем углу редактора.
- Перейдите в “Настройки” (Preferences).
- В разделе “Дополнительные панели” (Advanced Panels) включите “Пользовательские поля”.

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

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

Вставьте в Value ваш JSON-LD код как один большой текстовый блок и сохраните (Add Custom Field), затем обновите запись.
Чтобы WordPress выводил это поле в
, добавьте в файл header.php соответствующий вызов. Важно: сделайте резервную копию и лучше используйте дочернюю тему.
Пример кода для header.php (сохранённый блок):
Вставьте этот фрагмент непосредственно перед закрывающим тегом в вашем header.php.

- Обновите файл темы и откройте страницу в браузере — в исходном коде страницы вы должны увидеть 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: быстрая инструкция для команды (шаблон)
- Определить типы разметки, нужные для сайта (Article, Product, FAQ и т.д.).
- Сгенерировать шаблоны JSON-LD с обязательными полями.
- Решить способ хранения: пользовательские поля, отдельные мета-таблицы или динамическая генерация в шаблоне.
- Внедрить код в header.php (через дочернюю тему) или в шаблоны вывода страниц.
- Очистить кеш, проверить страницу в Rich Results Test и Search Console.
- Логировать ошибки в задачник (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.
- Поддерживайте разметку в актуальном состоянии.
Похожие материалы
Как создать статические стикеры для Telegram
PlayStation 2022 Wrap-Up — итог года в играх
Как создать стикер в WhatsApp Web
Бесплатный домен для сайта: как получить
Команда tee в Linux: вывод на экран и в файл