Фільтри в OpenCart: як влаштований OCFilter
Стаття
Фільтри в каталозі — те, без чого магазин із великим асортиментом незручний. І водночас одне з найпоширеніших джерел SEO-проблем, про яке згадують надто пізно.
Два різні механізми
В OpenCart є вбудовані фільтри й окремо — атрибути товару. Це різні сутності: фільтри створюються групами й прив'язуються до товарів і категорій, атрибути описують характеристики. Плутанина між ними — причина ситуації «характеристики заповнені, а фільтр порожній».
Штатний механізм доволі обмежений: він не вміє діапазонів цін, не показує кількість товарів у кожному варіанті й не приховує варіанти, за якими нічого немає. Тому в реальних магазинах зазвичай ставлять окреме рішення на кшталт OCFilter.
Головна проблема: дублі сторінок
Кожна комбінація фільтрів — це окрема адреса. Три групи по п'ять варіантів дають сотні комбінацій; додайте сортування й пагінацію — і магазин на тисячу товарів легко перетворюється на десятки тисяч сторінок для пошукової системи.
Наслідки цілком практичні: робот витрачає бюджет сканування на нескінченні комбінації замість карток товарів, а в індекс потрапляють майже однакові сторінки, які конкурують між собою.
Що з цим роблять
- Канонічні адреси. Відфільтрована сторінка вказує на основну сторінку категорії — так вага не розмивається.
- Заборона індексації комбінацій. Або через мета-теги, або через правила для роботів — але обережно: заборона сканування не те саме, що заборона індексації.
- Виняток для цінних сторінок. Деякі комбінації мають реальний попит — наприклад «чоловічі зимові куртки». Такі сторінки навпаки варто відкрити, дати їм власний заголовок і опис.
- Контроль пагінації — щоб сторінки 2..N не конкурували з першою.
Швидкодія
Друга типова проблема — фільтр «думає» кілька секунд. Причина зазвичай у запиті, який на кожен варіант перераховує кількість товарів по всьому каталогу без потрібних індексів. На тисячі товарів це непомітно, на десятках тисяч — критично.
З чого почати
Перед налаштуванням фільтрів варто переконатись, що характеристики товарів заповнені однаково. Найчастіша причина «фільтр не працює» — не модуль, а дані: у частини товарів колір записаний як «Чорний», у частини «чорний», а десь «black».
Налаштування — це послуга фільтрів OCFilter. Якщо характеристики ще не заповнені, спершу знадобиться імпорт з нормалізацією даних. За індексацію відфільтрованих сторінок відповідає технічне SEO для OpenCart.