В чем особенность фильтра «какнарозетке»?
- Имитация статичности динамических страниц, сформированных фильтром. У страниц каталога, к которым применен фильтр — красивые человекопонятные URL-адреса.;
- Перелинковка за счет использования ссылок в качестве лейблов чекбоксов фильтра;
- Возможность указания отдельного заголовка, мета-описания и ключевых слов для каждой фильтрованной страницы каталога.
Поисковым системам очень нравится такая организация каталога. В индекс попадает бешеное количество (число страниц потенциально равно количеству сочетаний значений свойств раздела без перестановок) перелинкованных друг с другом страниц с уникальным описанием и уникальными метатегами и, как следствие, высокорелевантных низкочастотным поисковым запросам.
Проанализировав работу фильтра на сайте
Однако в силу различий в архитектуре интернет-магазинов, на которых нам приходилось организовывать подобный фильтр, каждый раз нам приходилось изобретать этот велосипед практически с нуля. Порой мне казалось, что универсальное и одновременно изящное решение данной задачи — невозможно.
К примеру, в интернет-магазине электроники kfk.ru нам пришлось учитывать наличие в системе предсозданных SEO-страниц, на которые пользователь должен был попадать, выбирая определенную комбинацию фильтра.
Сняв же галочку фильтра на такой посадочной странице или выбрав другой фильтр, пользователь должен был попадать обратно — на динамическую страницу каталога.
В интернет-магазинах
В итоге получились вот такие красивые ЧПУ-ссылки на фильтрованные разделы:
В некоторых интернет-магазинах задача осложнялась так же тем, что контент-менеджеры работали только на стороне 1С Предприятия, и хотели вбивать символьные коды свойств и значений свойств только там.
Мы придумали, как расширить выгрузку из 1С УТ для того, чтобы можно было передавать символьные коды свойств и их значений, не нарушая формата CML2 и не ломая налаженный на проектах обмен с 1С. Дополнили выгрузку XML следующим образом:
<Свойство>
<Ид>83875106-f414-11e0-83db-0023ae2ed3a2</Ид>
<Наименование>Цвет</Наименование>
<ТипЗначений>Справочник</ТипЗначений>
<СимвольныйКод>color</СимвольныйКод>
<ВариантыЗначений>
<Справочник>
<ИдЗначения>83875108-f414-11e0-83db-0023ae2ed3a2</ИдЗначения>
<Значение>Красный</Значение>
<СимвольныйКод>red</СимвольныйКод>
</Справочник>
</ВариантыЗначений>
</Свойство>
И, естественно, мы добавили поддержку выгрузки символьного кода свойств и значений свойств в свой модуль интеграции
После этого мы подумали (и измерили), что если хранить символьные коды значений всех свойств в одном highload инфоблоке, это позволяет организовать фильтр с ЧПУ чрезвычайно эффективно, и мы добавили в свой модуль интеграции опцию, позволяющую создавать и заполнять для нашего ЧПУ фильтра highload инфоблок прямо в процессе импорта из 1С Предприятия.
В своем же модуле фильтра «какнарозетке» (мы еще думаем над его официальным названием) мы добавили поддержку своего модуля интеграции. То есть, если в системе будут установлены оба наших модуля — они будут работать совместно, и производительность ЧПУ-фильтра увеличится в разы. Но если в системе будет установлен только наш модуль ЧПУ, он будет выбирать символьные коды свойств из вспомогательного инфоблока или highload-инфоблока-справочника значений каждого конкретного свойства.
Об обновлении нашего модуля интеграции 3.0.0 я напишу в отдельном посте.