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

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 для повышения видимости сайта и улучшения взаимодействия с поисковыми системами — это эффективный способ увеличить трафик и привлечь целевую аудиторию.

Как установить ограничения на число записей в контейнере WordPress
05.02.2026
Как создать автоматический бэкап WordPress с помощью кода и плагинов
01.01.2026
Как создать многоуровневое меню в WordPress с помощью кода
25.11.2025
Как создать автозагрузку изображений в WordPress
17.11.2025
Как сделать защиту от спама в комментариях WordPress
14.11.2025