Как добавить поддержку JSON-LD в WordPress

Что такое JSON-LD и зачем он нужен в WordPress

JSON-LD (JavaScript Object Notation for Linked Data) — это формат структурированных данных, который помогает поисковым системам лучше понимать содержимое сайта. В отличие от микроразметки на основе HTML-тегов, JSON-LD добавляется в виде отдельного скрипта в <head> страницы и не влияет на внешний вид сайта.

Поддержка JSON-LD важна для улучшения SEO, так как поисковики используют эти данные для отображения расширенных сниппетов — рейтингов, событий, рецептов, организации и т.д. В WordPress по умолчанию базовая поддержка schema.org реализована для страниц и записей, но зачастую её недостаточно для сложных сайтов. Поэтому полезно добавить или расширить поддержку JSON-LD самостоятельно.

В этой статье мы рассмотрим, как добавить кастомные JSON-LD структуры в WordPress, используя как плагины, так и собственные функции.

Использование плагинов для добавления JSON-LD

Плагин Schema & Structured Data for WP & AMP

Один из самых популярных и функциональных плагинов — Schema & Structured Data for WP & AMP. Он позволяет добавлять различные типы схем: статья, продукт, организация, рецепт, событие и др.

Преимущества плагина:

  • Простой интерфейс настройки без кода
  • Поддержка более 35 типов схем
  • Автоматическая генерация JSON-LD для записей и страниц
  • Интеграция с AMP

Пример использования: после установки и активации плагина в настройках можно выбрать тип схемы для постов, добавить поля, например, рейтинг, автор, дата публикации, и плагин автоматически вставит JSON-LD в <head>.

Плагин WP SEO Structured Data Schema

Другой вариант — плагин WP SEO Structured Data Schema. Он ориентирован на простое добавление основных схем и хорошо подходит для небольших сайтов.

Особенности:

  • Минималистичный интерфейс
  • Поддержка основных типов: организация, статья, человек
  • Возможность добавлять пользовательские данные через фильтры

Однако, если нужна расширенная кастомизация, чаще рекомендуется писать собственный код.

Добавление JSON-LD вручную через функции в WordPress

Создание базового JSON-LD для организации

Если вы хотите добавить простую схему организации на все страницы, можно использовать хук wp_head. Например, добавим базовые данные:

function wpnote_add_jsonld_organization() {
    if (is_front_page()) {
        $json_ld = [
            '@context' => 'https://schema.org',
            '@type' => 'Organization',
            'name' => 'WPNote',
            'url' => home_url(),
            'logo' => home_url('/wp-content/uploads/logo.png'),
            'sameAs' => [
                'https://www.facebook.com/wpnote',
                'https://twitter.com/wpnote'
            ]
        ];
        echo '<script type="application/ld+json">' . wp_json_encode($json_ld) . '</script>';
    }
}
add_action('wp_head', 'wpnote_add_jsonld_organization');

Этот код добавит JSON-LD с информацией об организации только на главной странице. Функция wp_json_encode корректно сериализует массив в JSON.

Добавление JSON-LD для записей

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

function wpnote_add_jsonld_article() {
    if (is_singular('post')) {
        global $post;
        $author_name = get_the_author_meta('display_name', $post->post_author);
        $image = get_the_post_thumbnail_url($post->ID, 'full');
        $json_ld = [
            '@context' => 'https://schema.org',
            '@type' => 'Article',
            'mainEntityOfPage' => [
                '@type' => 'WebPage',
                '@id' => get_permalink($post->ID)
            ],
            'headline' => get_the_title($post->ID),
            'image' => $image ? [$image] : [],
            'datePublished' => get_the_date('c', $post->ID),
            'dateModified' => get_the_modified_date('c', $post->ID),
            'author' => [
                '@type' => 'Person',
                'name' => $author_name
            ],
            'publisher' => [
                '@type' => 'Organization',
                'name' => 'WPNote',
                'logo' => [
                    '@type' => 'ImageObject',
                    'url' => home_url('/wp-content/uploads/logo.png')
                ]
            ],
            'description' => get_the_excerpt($post->ID)
        ];
        echo '<script type="application/ld+json">' . wp_json_encode($json_ld) . '</script>';
    }
}
add_action('wp_head', 'wpnote_add_jsonld_article');

Этот код выводит структурированные данные о записи, что помогает поисковикам корректно индексировать и отображать информацию.

Расширение JSON-LD для кастомных типов записей и полей

Если на сайте используются кастомные типы записей, например product или event, важно добавлять соответствующие схемы. Можно использовать метаполя для хранения специфичных данных и включать их в JSON-LD.

Пример для кастомного типа event с пользовательскими полями даты и места:

function wpnote_add_jsonld_event() {
    if (is_singular('event')) {
        global $post;
        $event_date = get_post_meta($post->ID, 'event_date', true);
        $event_location = get_post_meta($post->ID, 'event_location', true);
        $json_ld = [
            '@context' => 'https://schema.org',
            '@type' => 'Event',
            'name' => get_the_title($post->ID),
            'startDate' => $event_date,
            'location' => [
                '@type' => 'Place',
                'name' => $event_location
            ],
            'url' => get_permalink($post->ID),
            'description' => get_the_excerpt($post->ID)
        ];
        echo '<script type="application/ld+json">' . wp_json_encode($json_ld) . '</script>';
    }
}
add_action('wp_head', 'wpnote_add_jsonld_event');

Такая кастомизация позволит сделать сайт более информативным для поисковиков и увеличить CTR в выдаче.

Проверка и отладка JSON-LD на сайте

После добавления JSON-LD важно проверить корректность разметки. Для этого используйте официальные инструменты Google:

Просто вставьте URL страницы и убедитесь, что ошибки отсутствуют, а данные отображаются правильно. Если есть ошибки или предупреждения, исправьте их в коде или настройках плагина.

Также полезно проверять наличие JSON-LD в исходном коде страницы через браузер, нажав правой кнопкой мыши и выбрав "Просмотреть исходный код".

Итоги и рекомендации по добавлению JSON-LD

Поддержка JSON-LD — важный инструмент для улучшения SEO и взаимодействия с поисковыми системами. Для большинства сайтов достаточно установить и настроить плагин Schema & Structured Data for WP & AMP, но при необходимости гибкой кастомизации лучше писать собственные функции.

При написании кода следуйте таким советам:

  • Используйте хук wp_head для вывода JSON-LD
  • Применяйте функцию wp_json_encode для корректного формирования JSON
  • Проверяйте разметку через инструменты Google
  • Обновляйте данные при изменении контента

Таким образом, вы сможете улучшить видимость сайта в поисковых системах и получить больше целевого трафика.

Как автоматизировать создание и удаление черновиков в WordPress
26.03.2026
Как создать свой плагин для WooCommerce: пошаговое руководство
28.11.2025
Как удалить кеш в WordPress: практические способы и примеры
21.11.2025
Как отладить конфликты PHP в WordPress с помощью Xdebug
17.02.2026
WooCommerce: невозможно изменить складские запасы через админку — как исправить
21.04.2026