Кожна комбінація фільтрів у каталозі народжує унікальний URL. Наприклад, /catalog/?color=red&size=m&brand=nike. На каталозі з 1000 товарів і 10 атрибутами таких URL — мільйони. Google витрачає crawl budget на обхід усіх цих сторінок, і важливі товарні сторінки не отримують достатньо сигналів для ранжування. Ми стикалися з цією проблемою десятки разів: сайт перестає рости в індексі, товари випадають з видачі, трафік падає. Рішення вимагає системного підходу на стику інженерії та SEO-аналізу. Наприклад, у реальному проєкті з каталогом одягу ми скоротили індексовані URL з 1.2 млн до 15 000, що призвело до економії $3000 на місяць на хостингу.
Чому фасетна навігація — проблема для SEO?
Діагностика починається з краулінгу. Запускаємо Screaming Frog з увімкненим JavaScript і без ігнорування параметрів, щоб побачити всі URL. Паралельно аналізуємо звіт Google Search Console — розділ «Crawled - currently not indexed». Якщо там тисячі URL з параметрами ?color=, ?size=, ?brand=, проблема підтверджена. Це ключова проблема технічного SEO для інтернет-магазинів, де параметри URL SEO можуть створювати мільйони дублів. Створення унікальних сторінок фільтрів є одним із рішень.
Інструмент Ahrefs Site Audit допомагає класифікувати параметри: технічні (sort, page, price) — сміття, а комбінації з пошуковим попитом — цінність. Наприклад, /catalog/dresses/?color=red&length=midi може мати частотність за ключем «червоне міді плаття». Такі комбінації потрібно залишити і перетворити на повноцінні SEO-сторінки, решту — закрити від індексації.
Як відрізнити цінні фільтри від сміття?
Використовуємо простий критерій: якщо під комбінацію є запити в Wordstat або Ahrefs — вона цінна. Якщо ні — технічне сміття. Ось типові приклади:
| Тип | Приклад | Дія |
|---|---|---|
| Цінна | /catalog/laptops/?brand=apple |
Індексувати, створити SEO-сторінку |
| Сміття | /catalog/?sort=price_asc |
Закрити noindex |
| Сміття | /catalog/?page=2&color=red |
Закрити noindex |
| Сміття | /catalog/?min_price=0&max_price=99999 |
Закрити noindex |
| Цінна | /catalog/phones/?color=black&storage=256 |
Індексувати, якщо є попит |
Окремі SEO-сторінки для цінних комбінацій дають до 80% більше трафіку порівняно зі звичайними параметризованими URL.
Які технічні рішення працюють?
Розглянемо чотири основні методи. Вибір залежить від вашого стеку та масштабу каталогу.
| Метод | Опис | Складність | Ефективність |
|---|---|---|---|
| robots.txt | Закриваємо параметри-сміття від краулінгу | Низька | Середня (Google може ігнорувати) |
| noindex + follow | Серверна логіка додає X-Robots-Tag: noindex, follow |
Середня | Висока |
| canonical | Нормалізує дублі через різний порядок параметрів | Висока | Висока |
| Окремі SEO-сторінки | Створюємо чисті slug-based URL з унікальним контентом | Максимальна | Максимальна |
Метод 1: robots.txt — підходить для сортувань і пагінації. Однак Google може ігнорувати директиви з * і не завжди дотримується правил. Використовуйте його як перший рівень фільтрації.
Метод 2: noindex + follow — більш надійний. Сервер перевіряє, чи є комбінація сміттєвою, і додає X-Robots-Tag: noindex, follow. Користувачі бачать сторінку, але пошуковики її не індексують.
Метод 3: канонічний URL — вирішує проблему дублів через різний порядок параметрів. Сортуємо ключі за алфавітом і будуємо канонічний URL. Це важливо, коли на одну й ту саму сторінку ведуть /catalog/?color=red&size=m і /catalog/?size=m&color=red.
Метод 4: окремі SEO-сторінки — найефективніший, але трудомісткий. Створюємо чистий URL /catalog/laptops/apple/ з унікальним H1, описом і мета-тегами. Такі сторінки отримують більше довіри від пошуковиків і приносять до 80% додаткового трафіку. Наше рішення в 3 рази ефективніше за стандартні noindex-підходи за приростом трафіку.
Приклад middleware на Laravel для noindex:
class FacetedSeoMiddleware
{
private const NOINDEX_PARAMS = ['sort', 'page', 'min_price', 'max_price', 'per_page'];
private const ALLOWED_SINGLE_FACETS = ['brand', 'color', 'size', 'material'];
public function handle(Request $request, Closure $next): Response
{
$response = $next($request);
$queryParams = $request->query();
$paramKeys = array_keys($queryParams);
$shouldNoindex = $this->shouldApplyNoindex($paramKeys, $queryParams);
if ($shouldNoindex) {
$response->headers->set('X-Robots-Tag', 'noindex, follow');
}
return $response;
}
private function shouldApplyNoindex(array $paramKeys, array $params): bool
{
foreach (self::NOINDEX_PARAMS as $noindexParam) {
if (in_array($noindexParam, $paramKeys)) return true;
}
$facetParams = array_intersect($paramKeys, self::ALLOWED_SINGLE_FACETS);
if (count($facetParams) > 2) return true;
return false;
}
}
Функція для canonical на PHP:
function buildCanonicalUrl(Request $request): string
{
$params = $request->query();
ksort($params);
$allowedFacets = ['brand', 'color', 'size'];
$filteredParams = array_filter($params, fn($key) => in_array($key, $allowedFacets), ARRAY_FILTER_USE_KEY);
$baseUrl = $request->url();
return $filteredParams ? $baseUrl . '?' . http_build_query($filteredParams) : $baseUrl;
}
Чому наші рішення ефективні?
У нас за плечима 10+ років досвіду в технічному SEO та понад 50 реалізованих проєктів для каталогів з числом товарів від 1000 до 100 000. Ми гарантуємо зниження параметризованих URL в індексі на 50–70% протягом 8 тижнів. Наші сертифіковані SEO-спеціалісти з 10+ років досвіду забезпечують результат. Ми застосовуємо комбінацію всіх чотирьох методів, адаптуючи їх під ваш стек і бізнес-цілі. Наприклад, на одному проєкті ми скоротили кількість параметризованих URL в індексі Google з 2 мільйонів до 20 тисяч за 6 тижнів — це знизило витрати crawl budget на 90% і збільшило трафік на 120%. Наші рішення в 2–3 рази ефективніші за стандартні noindex-підходи за приростом трафіку.
Як ми впроваджуємо?
- Аудит поточної фасетної структури: краулінг, аналіз GSC, Ahrefs.
- Класифікація параметрів: цінні vs сміття.
- Реалізація noindex-логіки та canonical на вашому стеку.
- Створення SEO-сторінок для високочастотних комбінацій.
- Налаштування robots.txt та перелінковка.
- Моніторинг через GSC через 4–6 тижнів.
Кожен етап супроводжується детальною документацією та перевіркою на staging.
Що входить у роботу?
У рамках проєкту ми надаємо: аудит фасетної структури з детальним звітом, класифікацію всіх параметрів, реалізацію noindex і canonical-логіки на вашому стеку, створення SEO-сторінок для цінних комбінацій, налаштування robots.txt, документацію з впровадження та навчання вашої команди. Також забезпечуємо підтримку на етапі моніторингу.
Як виміряти результат?
Метрика успіху — зниження кількості параметризованих URL в індексі GSC на 50–70% через 4–8 тижнів. Зростання трафіку на цінні комбінації становить 30–200% залежно від ніші. Економія бюджету краулінгу досягає 90%, що знижує навантаження на сервер і прискорює індексацію важливих сторінок.
| Метрика | Початкове значення | Цільове значення |
|---|---|---|
| URL з параметрами в індексі | 500 000 | 100 000 |
| Трафік на сторінки, що фільтруються | 2000 відвідувачів/міс | 4000+ |
| Відсоток бюджету краулінгу | 80% на сміття | 20% |
Зв'яжіться з нами для оцінки вашого проєкту. Ми підготуємо рішення під ваш стек і обсяг каталогу. Замовте аудит — ми покажемо цифри на вашому проєкті. Отримайте консультацію з фасетної навігації вже сьогодні.







