Диагностика проблемы: пустые meta robots теги на страницах WooCommerce
При использовании YoastSEO в сочетании с WooCommerce иногда на страницах товаров или категорий появляются пустые или некорректные теги <meta name="robots">. Это может негативно повлиять на индексацию сайта, так как поисковики получают неоднозначные команды. Чаще всего проблема возникает из-за конфликтов с другими плагинами, кастомными функциями или ошибками в шаблонах.
Как выявить пустые meta robots теги
- Откройте любую страницу товара или категории WooCommerce в браузере.
- Через инструменты разработчика (F12 в Chrome/Firefox) найдите в разделе <head> тег
<meta name="robots">. - Если содержимое атрибута
contentпустое или отсутствует, значит тег пустой. - Также можно проверить с помощью команды curl:
curl -s https://example.com/product-page | grep 'meta name="robots"'
Пошаговое решение: удаление и автоматизация корректного вывода meta robots
1. Отключение вывода пустых meta robots через фильтр YoastSEO
YoastSEO позволяет управлять содержимым meta тегов через фильтры. Для удаления пустых тегов добавьте следующий код в файл functions.php вашей темы или в кастомный плагин:
add_filter('wpseo_robots', function($robots) {
if (empty($robots)) {
// Возвращаем false, чтобы Yoast не выводил пустой тег
return false;
}
return $robots;
});Этот фильтр проверяет, что возвращается YoastSEO для robots и отменяет вывод пустого тега.
2. Установка правильных значений meta robots для WooCommerce
Чтобы явно управлять индексацией страниц WooCommerce, например, установить index,follow для товаров и noindex,follow для архивов, добавьте условную логику:
add_filter('wpseo_robots', function($robots) {
if (is_product()) {
return 'index,follow';
} elseif (is_product_category() || is_product_tag()) {
return 'noindex,follow';
}
return $robots;
});Это гарантирует, что пустых тегов не будет и настройки SEO соответствуют задачам.
3. Отключение вывода тегов robots плагинами-конфликтами
Проверьте, нет ли других плагинов, которые также пытаются добавлять meta robots. Например, плагины кэширования или SEO могут создавать дубли. Временно деактивируйте их и проверьте результат.
Проверка результата после внедрения
- Очистите кэш сайта и браузера.
- Откройте страницу товара и категорий, проверьте через инструменты разработчика отсутствие пустых meta robots тегов.
- Запустите
curlили используйте онлайн-сервисы для проверки SEO (например, Google Search Console, Screaming Frog) для анализа метатегов. - Убедитесь, что для товаров стоит
index,follow, а для категорий — нужная стратегия индексации.
Частые ошибки и способы их устранения
- Пустой тег meta robots выводится несмотря на фильтр: возможно, фильтр
wpseo_robotsпереопределяется другим кодом. Попробуйте увеличить приоритет фильтра:add_filter('wpseo_robots', 'func', 20);. - Другие плагины добавляют собственные метатеги: используйте функцию
remove_action('wp_head', 'функция_плагина');для отключения их вывода. - Кеширование мешает обновлению тегов: очистите все уровни кэша (плагин, сервер, CDN).
Практические советы по безопасности и производительности
- Избегайте избыточного добавления фильтров, чтобы не замедлять генерацию страниц.
- Автоматизируйте очистку кэша после обновления кода или настроек YoastSEO.
- Проверяйте вывод тегов robots на тестовом сайте перед внедрением в продакшен.
Чек-лист для автоматизации meta robots в WooCommerce с YoastSEO
- Проверьте наличие пустых meta robots тегов на страницах WooCommerce.
- Добавьте фильтр
wpseo_robotsдля удаления пустых значений. - Настройте логику для разных типов страниц WooCommerce.
- Проверьте конфликты с другими плагинами.
- Очистите кэш после изменений.
- Проверьте результат через браузер и инструменты SEO.