Видимость товаров WooCommerce управляет тем, где опубликованный товар появляется внутри магазина. Один и тот же товар можно показывать и в каталоге, и во внутреннем поиске, оставить только в каталоге, оставить только в поиске или скрыть из обоих мест.
Это удобно для специальных ссылок, служебных карточек, товаров из рекламных кампаний, временно скрытых позиций и нестандартной структуры каталога. Но важно не путать catalog visibility с публикацией, приватностью и SEO-индексацией: это разные уровни управления.
Где настраивается Catalog visibility
В редакторе товара WooCommerce есть настройка Catalog visibility. В актуальной документации WooCommerce для неё предусмотрены четыре варианта:
- Shop and search — товар отображается и в каталоге, и во внутреннем поиске;
- Shop only — товар виден на страницах магазина и каталогов, но исключён из поиска;
- Search only — товар не показывается в обычном каталоге, но может находиться через внутренний поиск;
- Hidden — товар исключён и из каталога, и из внутреннего поиска WooCommerce.
Эта настройка работает именно с обнаружением товара внутри витрины. Сам товар при этом может оставаться опубликованным.
Что означает Hidden на практике
Согласно документации WooCommerce, режим Hidden скрывает товар из каталога и поиска, но карточка товара остаётся доступной как отдельная страница. Если человек знает прямой URL, он может открыть её.
Поэтому Hidden хорошо подходит для сценария «не показывать в общей витрине, но оставить доступ по ссылке». Например, для закрытой рассылки, рекламной кампании или товара, который менеджер отправляет конкретному клиенту.
Но использовать Hidden как механизм безопасности нельзя. Скрытие из каталога не является авторизацией и не запрещает доступ к странице.
Catalog visibility и Private — не одно и то же
У товара есть ещё стандартный уровень WordPress: статус и видимость записи. В редакторе можно встретить Public, Password Protected или Private. Это другой механизм.
Если товар опубликован публично, но Catalog visibility установлен в Hidden, он исключается из обычной витрины WooCommerce, однако его одиночная страница остаётся публично доступной по URL.
Если нужна реальная приватность, ограничение по роли пользователя, паролю, стране или списку клиентов, одной catalog visibility недостаточно. Тут нужны соответствующая видимость WordPress, расширение или серверная логика доступа.
Когда использовать Shop only
Shop only полезен, если товар должен оставаться частью каталога и категорий, но вы не хотите показывать его в результатах внутреннего поиска. Это может быть актуально для вспомогательных позиций, комплектующих или товаров с названиями, которые создают лишний шум в поисковой выдаче магазина.
После переключения проверьте не только страницу Shop, но и категории, теги товаров и кастомные товарные сетки. Некоторые темы и сторонние поисковые плагины используют свои запросы и могут обрабатывать видимость иначе.
Когда использовать Search only
Search only делает обратное: товар убирается из обычного каталога, но остаётся доступным через внутренний поиск. Такой режим встречается реже, но бывает полезен для большого ассортимента, когда часть позиций не хочется выводить в листингах.
Если магазин использует AJAX-search, отдельный поисковый сервис или индексатор товаров, обязательно протестируйте его отдельно. Сторонняя система может строить собственный индекс и не всегда автоматически повторять правила стандартного WooCommerce-поиска.
Catalog visibility и категории товаров
Скрытие товара из основного каталога не означает, что нужно удалять его категории, атрибуты или другие данные. Видимость отвечает за вывод, а категории — за классификацию.
Это особенно важно в больших магазинах. Если ради временного скрытия каждый раз менять категории, потом сложнее восстановить структуру и фильтры. Для диагностики фильтрации и каталога есть отдельный материал про таблицу атрибутов WooCommerce.
Скрытый товар и прямые ссылки
После установки Hidden обязательно откройте URL товара в приватном окне. Если страница возвращает HTTP 200 и отображает карточку, это нормальное поведение для catalog visibility.
Если бизнес-задача звучит как «никто без разрешения не должен увидеть или купить этот товар», нужен другой механизм. Можно ограничить доступ серверной проверкой, ролями, паролем или специальным расширением — в зависимости от сценария.
Скрытый товар и SEO
Ещё одна частая ошибка — считать Hidden эквивалентом noindex. Catalog visibility управляет витриной WooCommerce, а поисковая индексация контролируется отдельно.
Если товар не должен попадать в Google или Яндекс, проверьте meta robots, XML sitemap, canonical и внутренние ссылки. После изменения видимости полезно убедиться, что SEO-плагин применяет нужные правила именно к этой карточке.
Если же страница должна индексироваться и получать трафик по прямым поисковым запросам, а в каталоге её показывать не нужно, не ставьте noindex автоматически только из-за Hidden. SEO-решение зависит от цели страницы.
Видимость после импорта товаров
При массовом обновлении каталога важно контролировать не только цены и остатки, но и то, как товары отображаются после импорта. Особенно если используются разные источники данных или собственный импортёр.
После большого обновления выберите несколько товаров разных типов и проверьте витрину вручную. Практическая схема импорта и защиты от дублей описана в статье про импорт товаров WooCommerce из CSV.
Почему товар всё равно появляется после Hidden
Если товар установлен как Hidden, но вы всё равно видите его в каком-то блоке, проверьте источник этого блока. Типичные причины:
- страница или виджет использует кастомный WP_Query;
- тема выводит товар собственным запросом;
- поисковый плагин использует внешний индекс;
- страница закэширована;
- CDN отдаёт старую версию HTML;
- товар вручную добавлен в подборку, слайдер или shortcode;
- кастомный код не учитывает стандартные правила видимости WooCommerce.
Не стоит сразу менять статус товара на Draft. Сначала определите, какой именно компонент продолжает его выводить.
Проверка после изменения видимости
- Сохраните товар и очистите нужный кэш.
- Откройте Shop в приватном окне.
- Проверьте категорию товара.
- Проверьте внутренний поиск WooCommerce.
- Откройте прямой URL карточки.
- Проверьте AJAX-search или сторонний поиск, если он используется.
- Посмотрите блоки Featured, Related, Upsells и кастомные товарные сетки.
- При SEO-задаче проверьте robots, canonical и sitemap.
Какой режим выбрать
| Задача | Режим |
|---|---|
| Показывать товар везде | Shop and search |
| Показывать в каталоге, но не в поиске | Shop only |
| Не выводить в каталоге, но оставить в поиске | Search only |
| Убрать из каталога и поиска, оставить прямую ссылку | Hidden |
| Запретить публичный доступ | Не Catalog visibility — нужен другой уровень доступа |
Когда нужна кастомная логика
Стандартных четырёх режимов хватает, пока условие одинаковое для всех посетителей. Если товар должен быть виден только оптовикам, определённой роли, стране, группе клиентов или после перехода из конкретной кампании, потребуется отдельная логика.
Такую доработку лучше реализовывать на серверной стороне и тестировать во всех точках: каталог, поиск, прямой URL, корзина, checkout и REST/API. Для сложных правил можно заказать доработку WooCommerce с проверкой совместимости темы, поиска и кэша.
Итог
Catalog visibility в WooCommerce — простой способ управлять тем, где покупатель обнаруживает товар. Shop and search показывает его везде, Shop only оставляет в каталоге, Search only — в поиске, Hidden скрывает из обоих мест, но не закрывает прямой URL.
Перед запуском изменений проверьте реальный storefront, сторонний поиск, кэш и SEO. Если задача связана с настоящим ограничением доступа, ролями или персональными предложениями, используйте отдельную серверную логику, а не только Hidden.
Официальные источники: WooCommerce — Product Editor Settings, WooCommerce — Feature, Filter and Sort Products.
Обсуждение
Вопросы и комментарии
Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.