Yoast SEO — стандарт SEO-оптимизации для WordPress. После правильной настройки автоматически генерирует sitemap, мета-теги и Schema-разметку.
Первоначальная настройка (Setup Wizard)
- SEO → Общее → Запустить конфигурационный помощник
- Укажите тип сайта: блог, бизнес, магазин
- Введите название организации и логотип
- Подключите Google Search Console
- Укажите основной ключевой запрос для главной
Настройка XML Sitemap
- SEO → Общее → Функции → включите XML Sitemap
- Sitemap доступен по:
yoursite.com/sitemap_index.xml - Добавьте sitemap в Google Search Console и Bing Webmaster Tools
Мета-теги для каждой страницы
В редакторе каждой страницы/поста блок Yoast SEO позволяет:
- SEO Title — заголовок для Google (50–60 символов)
- Meta Description — описание (150–160 символов)
- Focus keyphrase — ключевой запрос, Yoast анализирует текст
Open Graph (социальные сети)
- SEO → Социальные сети → включите Facebook и Twitter/X
- Загрузите дефолтное OG-изображение (1200×630px)
Хлебные крошки (SEO + UX)
// В functions.php темы:
add_theme_support('yoast-seo-breadcrumbs');
// В шаблоне:
<?php if (function_exists('yoast_breadcrumb')) {
yoast_breadcrumb('<nav class="breadcrumbs">', '</nav>');
} ?>
Разбор типичных ошибок Yoast SEO
Плагин заметен именно тогда, когда что-то идёт не так: sitemap не открывается, сниппет в поиске выглядит иначе, чем задано.
| Симптом | Причина | Что делать |
|---|---|---|
| Sitemap выдаёт 404 по адресу /sitemap_index.xml | Правила ЧПУ не пересохранены после активации плагина, либо конфликт с другим SEO-плагином на том же пути | Зайти в Настройки → Постоянные ссылки и нажать «Сохранить изменения» |
| Мета-описание в поиске Google не совпадает с заданным в Yoast | Google переписывает сниппет, если считает описание нерелевантным запросу, либо страница ещё не переиндексирована | Проверить через Google Search Console → URL Inspection и запросить переиндексацию |
| There has been a critical error on this website после обновления Yoast | Одновременно активны два SEO-плагина, которые конфликтуют между собой за одни и те же хуки | Оставить активным только один SEO-плагин |
| Хлебные крошки не отображаются на фронте | Тема не вызывает функцию yoast_breadcrumb() автоматически | Добавить вызов функции в шаблон темы вручную |
Если магазин на WooCommerce теряет продажи из-за медленных страниц товара — см. статью про настройку WooCommerce.
Когда одного Yoast SEO недостаточно
- Мультиязычный сайт с hreflang-разметкой — самому Yoast нужен отдельный плагин мультиязычности, он не создаёт языковые версии страниц
- Крупный интернет-магазин с фасетной фильтрацией — количество мета-тегов, которые генерирует Yoast, не спасёт от дублей URL с параметрами фильтров, нужны отдельные правила canonical
- Технический SEO-аудит краулинга и битых ссылок в больших объёмах — Yoast не сканирует весь сайт целиком, для этого нужны специализированные краулеры
- Локальный SEO с несколькими физическими точками — потребуется отдельная Schema-разметка LocalBusiness для каждой точки, а не общие настройки плагина
- Сайты с очень медленным откликом сервера — зелёный индикатор Yoast не учитывает Core Web Vitals, а именно они всё сильнее влияют на позиции в поиске
В таких случаях Yoast остаётся полезным базовым слоем — мета-теги, sitemap, базовая Schema, — но не единственным инструментом SEO-стратегии.
Про настройку мультиязычности отдельно — в статье про Polylang.
Расширенная настройка через стандартные фильтры WordPress
Часть тонкой настройки индексации решается не самим Yoast, а через встроенный фильтр WordPress core wp_robots, появившийся с версии 5.7:
add_filter('wp_robots', function ($robots) {
$robots['max-image-preview'] = 'large';
return $robots;
});
Как проверить, что SEO-настройки применились
- Просмотр исходного кода страницы: тег meta name="description" должен совпадать с заданным в Yoast
- Google Search Console → URL Inspection → Live Test показывает актуальную версию страницы
- Rich Results Test подтверждает корректность Schema-разметки без ошибок
- Файл sitemap_index.xml открывается и содержит актуальный список URL без 404 и 500
- В Google Search Console раздел «Покрытие» не показывает рост ошибок после последнего изменения настроек Yoast
curl -s https://example.com/ | grep -i 'meta name="description"'
curl -s https://example.com/sitemap_index.xml | head -20