Зв'язатись
Каталог · WordPress

Розумний фільтр товарів для WooCommerce

Завантажити безкоштовно
Версія
v1.0.0
Сумісність
WooCommerce 6.0+ · WordPress 6.2+ · PHP 7.4+
Платформа
WordPress
Розумний фільтр товарів для WooCommerce

Що включено в ліцензії

Функція Free Pro
Фасетний фільтр: категорія, атрибути, ціна, наявність, рейтинг
Чесні лічильники: свій фасет лишається повним, решта звужується
Власна таблиця-індекс замість запитів по атрибутах і мета-полях
Дублі значень («12 В» / «12в» / «12 V») зливаються в одне
Числові значення сортуються числами і працюють діапазоном
Застосування без перезавантаження, стан фільтра в URL
Мобільна шухляда, повзунок ціни з реальними межами вибірки
Ціна й наявність — з wc_product_meta_lookup, без розбіжностей із сортуванням
SEO-сторінки фільтра з власним H1, title і людським URL
Решта комбінацій — noindex,follow і канонікал на чисту категорію
Не чіпає канонікал, якщо активні Yoast, Rank Math або AIOSEO

Розумний фільтр товарів для WooCommerce — фасетний фільтр, який не гальмує на великому каталозі. Замість запитів по таблицях атрибутів і мета-полів модуль тримає власну плоску таблицю-індекс «товар → значення», тому додавання нових фасетів не сповільнює вибірку.

Фасетний фільтр WooCommerce з лічильниками, чипами і повзунком ціни
Вибрано «Зелений»: свій фасет лишається повним, решта звужується, зверху — чип вибраного і «Скинути все».

Чесні лічильники

Біля кожного значення стоїть кількість товарів, яка враховує вже вибрані фільтри. Свій фасет при цьому не звужується: обравши «Зелений», покупець далі бачить, скільки є синіх і червоних, і може перемкнутись одним кліком замість того, щоб скидати все й починати спочатку.

Дублі значень зливаються

Прайси постачальників приносять «12 В», «12в» і «12 V» як три різні атрибути. Модуль зводить їх в одне значення, тож покупець бачить один чекбокс, а не три. Числові значення сортуються числами, а не рядками, і працюють діапазоном.

Ціна, наявність, рейтинг

Ціна й наявність беруться з таблиці wc_product_meta_lookup, тобто з того самого джерела, що й сортування WooCommerce — без розбіжностей між фільтром і лістингом. Повзунок ціни підтягує реальні межі поточної вибірки.

Застосування без перезавантаження

Фільтр міняє видачу без перезавантаження сторінки й пише стан у URL, тому посилання можна надіслати або зберегти в закладки. На телефоні панель згортається в шухляду, щоб не з’їдати екран.

SEO

В індекс іде тільки те, що ви самі зробили SEO-сторінкою фільтра: власний H1, title і людський URL. Решта комбінацій віддає noindex,follow і канонікал на чисту категорію. Якщо на сайті працює Yoast, Rank Math або AIOSEO — канонікал лишається за ними, модуль у це не втручається.

Сумісність

WooCommerce 6.0+, WordPress 6.2+, PHP 7.4+. Класичні архіви категорій і сторінка магазину, HPOS. Фільтрація вбудовується в головний запит, тому працює з темами, які виводять стандартний цикл товарів. Віджет ставиться в будь-яку віджет-зону або шорткодом.

Що отримує адмін

Фасети складаються з того, що у вас уже є в каталозі: категорія, атрибути товарів, ціна, наявність, рейтинг. Нічого окремо описувати не треба — модуль бере атрибути WooCommerce як є.

Для кожного фасета налаштовується, як він виглядає покупцеві: чекбокси, повзунок для числових значень чи діапазон. Порядок фасетів у панелі задаєте ви — те, чим у вашій категорії справді фільтрують, ставиться першим.

Індекс перебудовується сам, коли товар змінюється, і його можна перебудувати повністю однією кнопкою — це знадобиться раз, після першого імпорту великого прайсу.

Як це працює — крок за кроком

1. Після встановлення модуль будує власну плоску таблицю-індекс «товар → значення». Це разова операція, далі індекс живе сам.

2. Покупець ставить галочку у фільтрі. Запит іде не по wp_postmeta й не по таблицях атрибутів, а по цьому індексу — одним простим SELECT замість купи JOIN-ів.

3. Лічильники біля решти значень перераховуються з того самого індексу, тому вони чесні: показують саме те, що знайдеться, а не загальну кількість товарів зі значенням.

4. Видача оновлюється без перезавантаження, а стан фільтра пишеться в URL.

5. Товар змінили в адмінці або оновили імпортом — індекс для цього товара перебудовується автоматично.

Чому це швидше

Стандартна фільтрація WooCommerce збирає вибірку через wp_postmeta і таксономії атрибутів. Кожен доданий фасет — це ще один JOIN, і на каталозі в кілька десятків тисяч товарів запит перетворюється на кількасекундний.

Плоский індекс «товар → значення» цю проблему знімає в корені: фасетів може бути п’ять або п’ятнадцять, структура запиту не змінюється. Саме тому магазин з великим прайсом отримує від модуля найбільше — на каталозі в двісті товарів різницю ви не помітите.

Безкоштовна версія і Pro

Безкоштовна версія — це повноцінний фільтр: усі типи фасетів, чесні лічильники, злиття дублів значень, числові діапазони, повзунок ціни з реальними межами вибірки, застосування без перезавантаження, стан у URL, мобільна шухляда. Обмежень за часом і реклами в адмінці немає.

Pro додає SEO-сторінки фільтра: ви обираєте комбінацію фільтрів, яку варто просувати («жовті шафи», «ноутбуки до 30 000»), і вона отримує власний H1, title і людський URL. Решта комбінацій лишається під noindex,follow з каноніклом на чисту категорію.

Це і є головна відмінність від «фільтра з теми»: керована жменька посадкових сторінок під низькочастотні запити замість або мільйона сміттєвих URL в індексі, або повної відсутності фільтрових сторінок у пошуку.

Скільки коштує

Ліцензія Pro — 990 грн, на один сайт. Ліцензія річна: після закінчення модуль працює далі й нічого не вимикається, припиняються лише оновлення й підтримка. «Назавжди» ми не обіцяємо — WooCommerce змінює структуру запитів від версії до версії, і фільтр без оновлень рано чи пізно розійдеться з ядром.

Технічні вимоги

WordPress 6.2 і новіший, WooCommerce 6.0 і новіший, PHP 7.4 і новіший. Працює з HPOS, класичними архівами категорій і сторінкою магазину.

Окремих вимог до хостингу немає: індекс — це одна звичайна таблиця MySQL, вона не потребує ні Elasticsearch, ні Redis, ні окремого сервісу пошуку.

Що під капотом

Фільтрація вбудовується в головний запит товарів, а не підмінює його своїм. Через це модуль лишається сумісним із темами, які виводять стандартний цикл WooCommerce, і не конфліктує з пагінацією та сортуванням.

Ціна й наявність читаються з wc_product_meta_lookup — тієї самої таблиці, з якої WooCommerce сортує товари. Тому не буває ситуації, коли фільтр каже «є в наявності», а сортування за ціною показує інше.

Індекс оновлюється за подіями збереження товару, тобто вантажить сайт рівно в момент редагування, а не фоновим кроном раз на годину.

Як встановити

1. Завантажте архів у «Плагіни → Додати новий → Завантажити плагін» і активуйте.

2. Дочекайтесь побудови індексу — на першому запуску модуль пропонує зробити це однією кнопкою.

3. У налаштуваннях зберіть набір фасетів під свій каталог і задайте їхній порядок.

4. Поставте віджет фільтра у бічну колонку категорії або вставте шорткодом туди, де він потрібен.

5. Якщо купили Pro — додайте SEO-сторінки під ті комбінації фільтрів, які справді шукають.

Історія версій

1.0.0 — перший випуск. Фасети за категорією, атрибутами, ціною, наявністю й рейтингом; власна таблиця-індекс; чесні лічильники з незвуженим власним фасетом; злиття дублів значень і числове сортування; повзунок ціни з межами поточної вибірки; застосування без перезавантаження й стан фільтра в URL; мобільна шухляда; сумісність з HPOS. У Pro — SEO-сторінки фільтра з власним H1, title і URL, noindex,follow на решті комбінацій і невтручання в канонікал Yoast / Rank Math / AIOSEO.

Часті питання

Чи треба переписувати тему?

Ні. Фільтр вбудовується в головний запит товарів, тому працює з темами, які виводять стандартний цикл WooCommerce. Віджет ставиться у віджет-зону або шорткодом.

Чи витримає великий каталог?

Умови фільтра йдуть по власній плоскій таблиці-індексу «товар → значення», а не по таблицях атрибутів і мета-полів, тому додавання нових фасетів не сповільнює вибірку.

Що буде з дублями значень із прайсів постачальників?

Вони зливаються в одне значення: замість трьох чекбоксів «12 В», «12в» і «12 V» покупець бачить один.

Лічильники враховують уже вибрані фільтри?

Так. При цьому свій фасет не звужується — обравши «Зелений», покупець бачить, скільки є синіх і червоних, і перемикається одним кліком.

Чи не засмітить фільтр індекс Google?

Ні. В індекс іде тільки те, що ви самі зробили SEO-сторінкою фільтра; решта комбінацій віддає noindex,follow і канонікал на категорію. Якщо працює Yoast, Rank Math чи AIOSEO — канонікал лишається за ними.

Скільки сайтів можна активувати одним ключем?

Один. Ліцензія річна: після закінчення модуль працює далі, припиняються лише оновлення й підтримка.

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

Не той варіант, що шукаєте?

Ми робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль