Для SEO может оказаться крайней важным, чтобы в ссылку примененного фильтра в компоненте Умного фильтра bitrix:catalog.smart.filter подставлялось текстовое значение свойства, а не его XML_ID у типа "Список".

Особенно актуально, когда значения свойства приходят из , и там в XML_ID записывается длинный код, GUID.

Есть быстрое простое решение, хоть и придется для этого внести правку в ядро.

  1. Открываем файл /bitrix/components/bitrix/catalog.smart.filter/class.php
  2. Находим в нем следующую строку:
  3. $url_id = mb_strtolower($enum["XML_ID"]);
  4. Заменяем её на другую строку:
  5. $url_id = CUtil::translit(mb_strtolower($enum["VALUE"]), "ru");

Теперь вместо XML_ID в URL будет подставляться значение, которое транслитерируется, если было на русском, и приводится к нижнему регистру.

То есть вместо какого-нибудь /catalog/filter/brand-is-69e513f9-7a61-12f0-931e-00155d9cb201/apply/ будет более симпатичный нормальный ЧПУ: /catalog/filter/brand-is-apple/apply/.

Фильтр при этом продолжит работать.

Да, править ядро считается не очень хорошо, и при обновлении Битрикса есть риск, что правка затрется, тогда ее надо будет внести заново.

Конечно, вы можете скопировать полностью компонент в папку /local/components/, внести правку там, тогда она не затрется.

Однако, как я замечал, данный файл компонента, Битрикс обновляет довольно редко, так что далеко не факт, что каждое обновление ваша правка будет перетираться, поэтому возможно проще оставить правку в ядре, и просто при обновлении проверять не затерлась ли строчка.