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

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

Зачем нужна поддержка JSON-LD в WordPress

Встроенная поддержка JSON-LD в WordPress отсутствует, хотя поисковые системы, такие как Google, рекомендуют именно этот формат для структурированных данных. Многие популярные SEO-плагины добавляют JSON-LD автоматически, но если вы хотите избежать установки лишних плагинов, можно реализовать это самостоятельно.

Добавляя JSON-LD вручную, вы получаете полный контроль над тем, какие данные и как именно они передаются поисковикам, что особенно важно для уникальных проектов с нестандартной структурой.

Кроме того, минимизация плагинов снижает нагрузку на сайт и уменьшает потенциальные конфликты.

Основные типы структурированных данных для WordPress

Самые популярные типы для сайтов на WordPress:

  • Article — для страниц и записей блога;
  • BreadcrumbList — хлебные крошки;
  • Organization — информация о компании;
  • Person — авторы и сотрудники;
  • Product — для интернет-магазинов;
  • Event — мероприятия.

В зависимости от тематики сайта вы можете выбрать нужный тип или комбинировать несколько.

Добавление JSON-LD через functions.php — пример кода

Рассмотрим пример, как добавить JSON-LD для статьи (Article) на страницах одиночных постов WordPress без использования плагинов.

function wpdesk_add_jsonld_article() {
    if (is_single()) {
        global $post;
        $author_id = $post->post_author;
        $author_name = get_the_author_meta('display_name', $author_id);
        $published_date = get_the_date('c', $post);
        $modified_date = get_the_modified_date('c', $post);
        $title = get_the_title($post);
        $url = get_permalink($post);
        $description = get_the_excerpt($post);

        $json_ld = [
            '@context' => 'https://schema.org',
            '@type' => 'Article',
            'headline' => $title,
            'author' => [
                '@type' => 'Person',
                'name' => $author_name,
            ],
            'datePublished' => $published_date,
            'dateModified' => $modified_date,
            'mainEntityOfPage' => $url,
            'description' => $description,
        ];

        echo '<script type="application/ld+json">' . wp_json_encode($json_ld, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE) . '</script>';
    }
}
add_action('wp_head', 'wpdesk_add_jsonld_article');

Этот код добавляет в <head> страницы одиночной записи JSON-LD с основной информацией о статье, включая название, автора, дату публикации, ссылку и описание.

Расширение поддержки — хлебные крошки JSON-LD

Хлебные крошки помогают поисковикам понять структуру сайта и улучшают навигацию для пользователей. Добавим поддержку JSON-LD для хлебных крошек без плагина.

function wpdesk_add_jsonld_breadcrumbs() {
    if (!is_front_page()) {
        $breadcrumbs = [];
        $breadcrumbs[] = [
            '@type' => 'ListItem',
            'position' => 1,
            'name' => 'Главная',
            'item' => home_url(),
        ];

        if (is_single()) {
            $categories = get_the_category();
            if (!empty($categories)) {
                $cat = $categories[0];
                $breadcrumbs[] = [
                    '@type' => 'ListItem',
                    'position' => 2,
                    'name' => $cat->name,
                    'item' => get_category_link($cat->term_id),
                ];
                $position = 3;
            } else {
                $position = 2;
            }
            $breadcrumbs[] = [
                '@type' => 'ListItem',
                'position' => $position,
                'name' => get_the_title(),
                'item' => get_permalink(),
            ];
        } elseif (is_category()) {
            $category = get_queried_object();
            $breadcrumbs[] = [
                '@type' => 'ListItem',
                'position' => 2,
                'name' => $category->name,
                'item' => get_category_link($category->term_id),
            ];
        } elseif (is_page()) {
            $breadcrumbs[] = [
                '@type' => 'ListItem',
                'position' => 2,
                'name' => get_the_title(),
                'item' => get_permalink(),
            ];
        }

        $json_ld = [
            '@context' => 'https://schema.org',
            '@type' => 'BreadcrumbList',
            'itemListElement' => $breadcrumbs,
        ];

        echo '<script type="application/ld+json">' . wp_json_encode($json_ld, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE) . '</script>';
    }
}
add_action('wp_head', 'wpdesk_add_jsonld_breadcrumbs');

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

Отладка и проверка JSON-LD

После добавления JSON-LD важно проверить корректность разметки. Для этого используйте официальный Тестирование расширенных результатов Google. Введите URL страницы или вставьте код, чтобы убедиться, что ошибки отсутствуют и данные правильно воспринимаются.

Если вы замечаете, что разметка не появляется, убедитесь, что функция подключена и выводится в <head>. Также проверьте, не конфликтует ли код с другими плагинами SEO.

Интеграция с плагинами WPShop

Если вы используете темы или плагины с WPShop.ru, например, темы Reboot или Root, или плагин Clearfy Pro, некоторые из них уже включают базовую поддержку структурированных данных. Однако, если требуется кастомизация или расширение JSON-LD, описанный выше подход позволит добавить нужные данные без лишних модификаций плагинов.

Заключение

Поддержка JSON-LD значительно улучшает SEO вашего сайта и его восприятие поисковыми системами. Добавление JSON-LD вручную через functions.php — это гибкий и легкий способ внедрить структурированные данные без плагинов. Используйте приведённые примеры и расширяйте их под свои задачи, чтобы добиться максимальной эффективности и удобства.

Как изменить статус доставки в WooCommerce через хук заказа
18.04.2026
WooCommerce: автоматическое удаление неактивных вариаций товаров
10.06.2026
Как создать уникальный тип записи в WordPress с поддержкой метаданных
14.12.2025
Как создать динамическую фильтрацию товаров WooCommerce без плагинов
09.01.2026
Как создать настройки плагина в WordPress
16.11.2025

Плагин службы технической поддержки для WordPress. Создание, просмотр и ответ на тикеты. Уведомление пользователей и другие функции.