Подключаем умный фильтр для генерации ЧПУ

Переход умного фильтра на ЧПУ

Некоторые решения по переходу умного фильтра на человекопонятный url.

#Битрикс "БУС"
14.01.2020 1392 Сергей Т.
Распространенной задачей SEO оптимизации является переход умного фильтра на человекопонятный url.

Для возможности продвижения сайта по низкочастотным запросам было принято решение по переходу фильтра со стандартного $_GET запроса (?width=165&radius=13&profile=35&proizvoditel=Bridgestone&section=tyre) на ЧПУ (/filter/manufacturer-is-continental/p_width_tyres-is-155/p_profile_tyres-is-65/p_radius-is-r13/apply/).

Основными моментами перехода служит параметр компонента фильтра catalog.smart.filter :
SEF_MODE => "Y" и установкой пути построения url SECTION_CODE_PATH  => путь к каталогу товаров/filter/#SMART_FILTER_PATH#/apply/
так же рекомендуется заполнять параметр PREFILTER_NAME => массив фильтруемых свойств, в которую передается массив параметров из дополнительного фильтра, для актуальности выводимых свойств фильтра и их совместимости между собой.

Если используется фасетный индекс и несколько условий выбора цены, то может возникнуть проблема вывода товаров в списке, для этого нужно будет удалить параметр "FACET_OPTIONS" в передаваемом массиве свойств.

Не забываем изменить файл urlrewrite.php по примеру

  array (
    'CONDITION' => '#^/catalog/filter/(.+?)/apply/#',
    'RULE' => 'SMART_FILTER_PATH=$1',
    'ID' => 'bitrix:catalog.smart.filter',
    'PATH' => '/catalog/index.php',
  ),

так как без него фильтр работать не будет или будет выдавать 404 ошибку

В дальнейшем генерировать карту сайта для фильтра необходимо будет вручную, так как стандартный функционал Битрикса не собирает ссылки с запросов умного фильтра, с помощью CIBlockElement::GetList и создания файла с расширением .xml, тут фильтр выборки для каждого может быть свой из за индивидуальности свойств и нужных разделов для генерации sitemap.