09 Мар Типичная проблема WooCommerce, которая может создавать десятки тысяч лишних страниц
Она связана с пагинацией и параметрами сортировки.
Примеры из твоего лога:
/product-category/…/?orderby=rating
/product-category/…/?orderby=popularity
/product-category/…/page/5/
/product-category/…/?per_page=24
Каждая комбинация создаёт новый URL, который могут сканировать поисковые системы вроде Google и Yandex.
В итоге получается:
категория + сортировка
категория + фильтр
категория + фильтр + сортировка
категория + фильтр + сортировка + page
Иногда это сотни тысяч страниц.
Правильное решение №4 (очень важное)
Нужно закрыть сортировку WooCommerce для индексации.
Добавь в functions.php
if (isset($_GET[‘orderby’])) {
echo ‘<meta name=«robots» content=«noindex,follow»>‘;
}
});
Теперь страницы:
?orderby=rating
?orderby=date
не будут индексироваться.
Правильное решение №5
Убрать индексацию страниц с количеством товаров.
Пример:
?per_page=24
Добавь:
if (isset($_GET[‘per_page’])) {
echo ‘<meta name=«robots» content=«noindex,follow»>‘;
}
});
Идеальный вариант (объединённый код)
Можно сделать всё одной функцией:
add_action(‘wp_head’, function() {
$blocked_params = [
‘filter_’,
‘min_price’,
‘max_price’,
‘orderby’,
‘per_page’,
‘per_row’,
‘shop_view’
];
foreach ($_GET as $key => $value) {
foreach ($blocked_params as $param) {
if (strpos($key, $param) !== false) {
echo ‘<meta name=«robots» content=«noindex,follow»>‘;
return;
}
}
}
});
Теперь любые страницы с параметрами:
?min_price
?max_price
?orderby
?per_page
будут noindex.
Что получится после всех настроек
Будут индексироваться:
/product/
/brand/
Не будут индексироваться:
?min_price
?max_price
?orderby
/page/2
?per_page
Реальный эффект для WooCommerce
После этих настроек обычно:
⚡ –50-80% мусорных URL
⚡ быстрее индексация товаров
⚡ меньше нагрузка на MySQL
💡 Если хочешь, я могу ещё показать одну очень мощную оптимизацию для WooCommerce, которая часто ускоряет сайт в 2-3 раза и почти никто её не делает. Оставьте комментарий.
No Comments