JSON-LD — это формат структурированных данных, который широко используется для улучшения SEO сайта за счёт более подробного описания контента для поисковых систем. В этой статье подробно разберём, как добавить поддержку JSON-LD в WordPress, используя практические примеры и код. Это поможет вашему сайту лучше индексироваться и отображаться в расширенных сниппетах Google.
Что такое JSON-LD и зачем он нужен в WordPress
JSON-LD (JavaScript Object Notation for Linked Data) — это способ описания структурированных данных на страницах сайта с помощью JSON, который легко интегрируется в HTML-код. Поисковые системы, такие как Google, Яндекс и Bing, используют эту разметку для отображения расширенных сниппетов — рейтингов, отзывов, информации о мероприятиях и т.д.
В WordPress, несмотря на наличие некоторых встроенных структурированных данных, часто требуется вручную добавлять или кастомизировать JSON-LD для уникальных типов контента или особых данных.
Добавление JSON-LD повышает CTR и улучшает видимость сайта в поиске, что особенно важно для коммерческих и информационных ресурсов.
Способы добавления JSON-LD в WordPress
Использование плагинов
Для большинства пользователей проще всего использовать готовые плагины. Вот несколько популярных решений:
- Schema Pro — мощный плагин для создания разнообразной схемы, включая статьи, обзоры, товары, мероприятия. Поддерживает JSON-LD и интегрируется с популярными SEO-плагинами.
- WP SEO Structured Data Schema — бесплатный и простой плагин, который позволяет добавлять основные типы структурированных данных.
- Clearfy Pro — среди многих функций есть и расширенная работа со схемами, позволяет добавлять JSON-LD для кастомных типов записей и таксономий. Подробнее: https://wpshop.ru/clearfy-pro/
Плагины подойдут, если вы хотите быстро внедрить структуру без программирования. Но для уникальных задач или оптимизации кода лучше использовать ручные методы.
Добавление JSON-LD вручную через functions.php
Для разработчиков более гибкий вариант — вставлять JSON-LD с помощью хука wp_head. Это позволяет добавить точную разметку под ваши нужды, например, для кастомных типов записей.
function wpco_add_json_ld_script() {
if (is_single() && get_post_type() === 'post') {
$data = [
'@context' => 'https://schema.org',
'@type' => 'BlogPosting',
'headline' => get_the_title(),
'datePublished' => get_the_date('c'),
'author' => [
'@type' => 'Person',
'name' => get_the_author(),
],
'publisher' => [
'@type' => 'Organization',
'name' => get_bloginfo('name'),
'logo' => [
'@type' => 'ImageObject',
'url' => get_theme_mod('custom_logo') ? wp_get_attachment_image_url(get_theme_mod('custom_logo'), 'full') : '',
],
],
'description' => get_the_excerpt(),
];
echo '<script type="application/ld+json">' . wp_json_encode($data) . '</script>';
}
}
add_action('wp_head', 'wpco_add_json_ld_script');В этом примере мы добавляем разметку для стандартного поста блога. Для кастомных типов записей достаточно заменить условие и адаптировать массив $data.
Как проверить и отладить JSON-LD разметку
После добавления разметки важно проверить её корректность. Для этого используйте инструменты:
- Google Rich Results Test — позволяет проверить, какие расширенные сниппеты доступные на странице и есть ли ошибки.
- Schema Markup Validator от Schema.org — проверяет корректность самой схемы.
Если ошибки появляются, проверьте JSON на синтаксис и соответствие требованиям Schema.org. Особенно важно корректно указывать обязательные поля и типы данных.
Примеры JSON-LD для разных задач в WordPress
Разметка для страницы с отзывами
function wpco_add_reviews_json_ld() {
if (is_singular('product')) {
$reviews = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => get_the_title(),
'aggregateRating' => [
'@type' => 'AggregateRating',
'ratingValue' => '4.6',
'reviewCount' => '24',
],
];
echo '<script type="application/ld+json">' . wp_json_encode($reviews) . '</script>';
}
}
add_action('wp_head', 'wpco_add_reviews_json_ld');Этот код добавляет простую разметку с агрегированным рейтингом, которая поможет вывести звёздочки в поиске.
Автоматическая генерация JSON-LD для мероприятий
Если вы используете кастомный тип записи event, можно добавить такую разметку:
function wpco_add_event_json_ld() {
if (is_singular('event')) {
$data = [
'@context' => 'https://schema.org',
'@type' => 'Event',
'name' => get_the_title(),
'startDate' => get_post_meta(get_the_ID(), 'event_start_date', true),
'location' => [
'@type' => 'Place',
'name' => get_post_meta(get_the_ID(), 'event_location', true),
'address' => get_post_meta(get_the_ID(), 'event_address', true),
],
];
echo '<script type="application/ld+json">' . wp_json_encode($data) . '</script>';
}
}
add_action('wp_head', 'wpco_add_event_json_ld');Не забудьте создать метаполя event_start_date, event_location и event_address для хранения данных.
Выводы и рекомендации по работе с JSON-LD в WordPress
Добавление JSON-LD разметки вручную даёт полный контроль над структурой данных. Если вы хотите масштабируемое решение для большого сайта с разными типами контента, стоит рассмотреть комплексные плагины, например, Clearfy Pro, который предлагает удобный интерфейс для добавления и управления схемами.
Обязательно проверяйте корректность и актуальность схем, так как требования поисковых систем могут меняться.
Используйте JSON-LD для повышения видимости сайта и улучшения взаимодействия с поисковыми системами — это эффективный способ увеличить трафик и привлечь целевую аудиторию.