JSON-LD — это формат структурированных данных, который помогает поисковым системам лучше понимать содержимое сайта. YoastSEO автоматически генерирует JSON-LD для страниц WordPress, но иногда стандартная разметка требует доработки для специфических задач SEO и улучшения выдачи. В этой статье подробно разберём, как оптимизировать и расширить JSON-LD разметку в WordPress с помощью YoastSEO, а также приведём практические примеры кода.
Что такое JSON-LD и зачем оптимизировать его структуру
JSON-LD (JavaScript Object Notation for Linked Data) — это способ внедрения структурированных данных в HTML страницы с использованием скрипта JSON. Поисковики, такие как Google, используют эти данные для создания расширенных сниппетов, что повышает кликабельность и качество трафика.
YoastSEO автоматически добавляет базовую разметку JSON-LD на страницы WordPress, однако она может быть недостаточной, если:
- Вы хотите добавить уникальные свойства для определённых типов контента.
- Нужно интегрировать данные из сторонних плагинов или кастомных полей.
- Требуется устранить конфликты или дублирование структурированных данных.
Оптимизация структуры JSON-LD улучшает видимость сайта, помогает избежать ошибок при валидации и повышает релевантность выдачи.
Как YoastSEO генерирует JSON-LD и где его расширять
YoastSEO использует PHP классы для формирования JSON-LD, выводя их в head сайта. Чтобы изменить или расширить разметку, можно использовать фильтры и хуки, которые предоставляет плагин.
Основной фильтр — wpseo_json_ld_output. Он позволяет получить текущий массив структурированных данных и изменить его перед выводом.
Пример базового использования фильтра:
add_filter('wpseo_json_ld_output', 'yoastseo_add_custom_json_ld', 10, 1);
function yoastseo_add_custom_json_ld($data) {
// Добавить собственный блок данных
$data[] = [
'@context' => 'https://schema.org',
'@type' => 'Organization',
'name' => 'Моя компания',
'url' => get_home_url(),
'logo' => 'https://example.com/logo.png'
];
return $data;
}Этот код добавляет в структуру JSON-LD информацию о компании, что может улучшить отображение в поиске.
Расширение JSON-LD для кастомных типов записей и полей
Если на сайте используются кастомные типы записей (CPT) или дополнительные поля (ACF, Meta Box и т.д.), можно внедрять данные из них в JSON-LD для улучшения семантики.
Пример: добавим в разметку данные из кастомного поля event_date для типа записи event:
add_filter('wpseo_json_ld_output', 'yoastseo_add_event_date_json_ld', 10, 1);
function yoastseo_add_event_date_json_ld($data) {
if (is_singular('event')) {
$event_date = get_post_meta(get_the_ID(), 'event_date', true);
if ($event_date) {
foreach ($data as &$block) {
if (isset($block['@type']) && $block['@type'] === 'Event') {
$block['startDate'] = $event_date;
}
}
}
}
return $data;
}Этот код проверяет, открыта ли страница типа event, получает дату события и добавляет её в соответствующий блок Event в JSON-LD.
Устранение конфликтов и дублирования JSON-LD
Иногда на сайте появляются конфликтующие или дублирующие блоки JSON-LD, что мешает корректной индексации. Это может случиться из-за других плагинов, тем или некорректных настроек YoastSEO.
Чтобы отследить и убрать лишние блоки, используйте фильтр wpseo_json_ld_output для фильтрации массива данных. Например, удалим все блоки типа BreadcrumbList:
add_filter('wpseo_json_ld_output', 'yoastseo_remove_breadcrumbs_json_ld', 10, 1);
function yoastseo_remove_breadcrumbs_json_ld($data) {
return array_filter($data, function($item) {
return !isset($item['@type']) || $item['@type'] !== 'BreadcrumbList';
});
}Если нужно оставить хлебные крошки, но исправить ошибки, можно детально отредактировать соответствующий блок вместо удаления.
Практические рекомендации по валидации и тестированию JSON-LD
После внесения изменений в JSON-LD обязательно проверяйте разметку через инструменты Google:
Обратите внимание на предупреждения и ошибки, исправляйте их, чтобы поисковики корректно интерпретировали данные.
Если вы хотите автоматизировать управление JSON-LD и расширить функционал, рассмотрите плагины, например, WPSEO от WPSHOP.RU, которые предлагают дополнительные возможности по работе с SEO и структурированными данными.
Итог: оптимизация JSON-LD с YoastSEO — что важно помнить
Оптимизация JSON-LD — важный шаг в техническом SEO для WordPress. Используя возможности фильтров YoastSEO, можно:
- Добавлять уникальные данные для своего сайта;
- Интегрировать кастомные поля и типы записей;
- Устранять дублирование и ошибки;
- Повышать качество выдачи и CTR.
Всегда тестируйте и валидируйте изменения, чтобы избежать проблем с индексацией. Такой подход поможет сделать ваш сайт более понятным и привлекательным для поисковых систем.