Диагностика проблемы с пагинацией WooCommerce и SEO
Пагинация на страницах категорий и архивов WooCommerce часто создает дублированный контент, что негативно влияет на SEO. По умолчанию YoastSEO не всегда корректно управляет тегом noindex для страниц пагинации, из-за чего поисковые системы могут индексировать множество страниц с повторяющимся содержанием.
Чтобы проверить, есть ли проблема, откройте страницу категории товара с пагинацией, например, https://example.com/product-category/clothing/page/2/. В исходном коде страницы найдите метатег robots или тег meta name="robots" content="noindex,follow". Если его нет, значит пагинация индексируется.
Пошаговое решение: автоматическое добавление noindex для страниц пагинации WooCommerce
1. Использование фильтра YoastSEO для управления индексированием
YoastSEO предоставляет фильтр wpseo_robots, который позволяет программно изменять содержимое метатега robots.
Добавьте следующий код в файл functions.php вашей дочерней темы или в плагин пользовательских функций:
add_filter('wpseo_robots', function($robots) {
if (is_paged() && (is_product_category() || is_shop() || is_product_tag())) {
// Добавляем noindex для страниц пагинации WooCommerce
$robots['index'] = false;
$robots['nofollow'] = true;
}
return $robots;
});Этот код проверяет, что текущая страница — пагинированная страница категорий, магазина или тегов WooCommerce, и добавляет метатег noindex, nofollow.
2. Проверка корректности работы
- Перейдите на любую пагинированную страницу категории товаров, например,
/product-category/clothing/page/2/. - Откройте исходный код страницы (Ctrl+U) и найдите строку
<meta name="robots" content="noindex, nofollow">. - Если тег присутствует, значит правило работает.
Частые ошибки и способы их исправления
Ошибка 1: noindex не применяется
Причина: другой плагин или тема переопределяет метатеги. Проверьте, нет ли конфликтов, отключив другие SEO-плагины или кастомные функции.
Ошибка 2: страницы пагинации индексируются, но должны быть индексируемыми
Иногда SEO-стратегия требует индексировать пагинацию. В этом случае удалите или отключите приведённый выше фильтр.
Ошибка 3: неправильное поведение на не WooCommerce-страницах
Убедитесь, что условие is_product_category() || is_shop() || is_product_tag() ограничивает действие фильтра только страницами WooCommerce.
Проверка результата после внедрения
Для более глубокой проверки используйте инструменты Google Search Console:
- Перейдите в раздел «Покрытие» и проверьте, что страницы пагинации имеют статус «Отсутствует (noindex)».
- Используйте инструмент проверки URL, чтобы убедиться, что Google видит тег
noindexна страницах пагинации.
Практические советы по безопасности и производительности
- Добавляйте кастомный код только в дочернюю тему или отдельный плагин, чтобы не потерять изменения при обновлении.
- Минимизируйте количество фильтров, влияющих на метатеги, чтобы избежать конфликтов.
- Регулярно проверяйте сайт на наличие дублированного контента через Google Search Console или сторонние сервисы.
Сравнение способов управления noindex для пагинации WooCommerce
| Метод | Описание | Плюсы | Минусы |
|---|---|---|---|
Фильтр wpseo_robots в functions.php | Код, добавляющий noindex для пагинации программно | Полный контроль, бесплатно, без плагинов | Требует знаний PHP, риск ошибок при кодировании |
| Плагины для SEO с настройками noindex пагинации | Плагины с интерфейсом для установки noindex на пагинацию | Простота настройки, нет кода | Может конфликтовать с YoastSEO, дополнительные ресурсы |
| Ручное добавление meta-тегов в шаблонах | Внедрение тегов напрямую в файлы шаблонов | Гибкость | Трудоемко, неуниверсально, риск ошибок |
Чек-лист для автоматизации noindex пагинации WooCommerce с YoastSEO
- Проверить текущий статус индексации пагинации через исходный код
- Добавить фильтр
wpseo_robotsвfunctions.php - Очистить кэш сайта и кэш SEO-плагина
- Проверить наличие
noindex, nofollowна пагинации - Проверить через Google Search Console
- Отслеживать статистику индексации и трафика