Редирект на главную каталога если раздел или товар не найден, Битрикс


Данный хак может быть полезен при запуске на сайт контекстной рекламы, особенно Яндекс.Директ, как показала практика – при автоматических товарных кампаниях робот Яндекса не всегда адекватно производит индексацию ссылок, особенно при динамично меняющемся каталоге. В данном случае (если ссылка на товар или раздел с ошибкой) Битрикс по-умолчанию отдает стандартную страницу 404 (которая может отличаться в зависимости от сайта, но чаще всего содержит карту сайта и поля поиска), при этом обычно интернет-магазин имеет более актуальную для данных случаев страницу – а именно главную страницу каталога, которая зачастую содержит ссылки на основные разделы, а также иногда товары и фильтры. Если это ваш случай, то можно выполнить следующее:

В /catalog/index.php перед подключением футера (обычно это “<?require($_SERVER[“DOCUMENT_ROOT”].”/bitrix/footer.php”);?>”) добавить следующий код:

<?php if (defined('ERROR_404')) LocalRedirect('/catalog/'); ?>

Обратите внимание, в примере подразумевается, что компонент каталога подключен в директории “/catalog/”, если у вас другой – нужно отредактировать соответствующий файл и также к коде редиректа поменять ссылку.

Также дополнительно необходимо проверить, что в компоненте подключения каталога установлен параметр “SET_STATUS_404” => “Y”.