Настраиваем ЧПУ фильтров для интернет-магазинов на Битрикс

  • Выводы
  • Это завершающая статья из серии о решении сложных задач поисковой оптимизации на Битрикс.

    Настраиваем ЧПУ фильтров для интернет-магазинов на Битрикс

    Хороший хирург поможет плохому танцору.

    Допустим, мы продвигаем большой каталог недвижимости (или мебели, или электроники).
    Конкуренция серьезная. Запросов много.
    На сайте 20 тысяч объектов. В нашем случае — квартир, домов и участков под застройку.

    Что говорит оптимизатор? Семантическое ядро будет состоять из:

    1. нескольких десятков высокочастотных запросов вроде
      купить квартиру
      аренда склада

    2. сотен запросов средней частоты вроде
      участки под строительство дома новая москва
      продажа земли промышленного назначения в калужской области

    3. В каталогах электроники, мебели или любого другого штучного товара будут еще и десятки тысяч низкочастотников вроде:
      Кухня Artika фабрики Pedini spa
      Компактный асинхронный двигатель Siemens 1PH8 для SINAMICS S120

      В недвижимости так обычно не делают, так как у отдельных позиций (квартиры, например), нет собственных имен.

    Для каждого запроса нужна отдельная осмысленная страница.

    Причем для нее оптимизатор захочет задавать правильные title, keywords и seo-тексты. Для отдельных страниц вручную это легко делать с помощью модуля Инструменты SEO-специалиста , а если для всех сразу — придется прописать шаблоны автоматического формирования заголовков и сео-текстов.

    Для высокочастотных запросов подходят страницы разделов сайта из меню, для низкочастотных страниц — детальные страницы отдельных элементов.
    А вот со среднечастотными на первый взгляд есть проблема — не видно на сайте таких страниц.
    И тут оптимизатора осеняет: а давайте продвигать страницы поисковой выдачи, отфильтрованные списки элементов.

    Обычно такие страницы специально закрыты от индексации и SEO-шника не беспокоят заголовки, ключевые слова и адреса таких страниц. Неудивительно, что Битрикс, который умеет делать красивые ЧПУ-адреса, для страниц поиска генерирует такие ссылки:

    site.ru/base/?arrFilter_P1_MIN=3000&arrFilter_P1_MAX=3400&arrFilter_4_2348707219=Y&arrFilter_9_1776166634=Y&arrFilter_10_692893017=Y&arrFilter_10_3068644278=Y

    Вот мы и подошли к сути задачи. Нужно, чтобы для разных условий поиска по сайту создавались адреса, предельно близкие к соответствующим поисковым запросам.
    Например, так.


    Механизм параметрического поиска — сложный. Особенно если применяется умный фильтр Битрикс , автоматически подстраивающий доступные параметры под то, что фактически есть в базе.
    Хитрых задач с таким поиском хватает и без ЧПУ.
    Задача создания ЧПУ-адреса для фильтров вполне решаемая.
    Общая схема действий программиста и оптимизатора такова:

    Организационный этап. Проектирование ЧПУ-адресов.

    1. Выделить те параметры поиска, которые должны преобразовываться в слова на русском языке (транслитом). Остальные допустимо оставить get-параметрами.
      Оптимизатору желательно хорошо подумать и не быть максималистом. “Сделать все” — плохая идея.
      Пример хорошего решения. Три параметра формируют предложение на русском языке.

    2. Утвердить шаблоны ЧПУ (может быть, еще заголовков и сео-текстов), которые будут формироваться. Желательно проговорить порядок слов в тексте и даже правила транслитерации. Например, в примере выше слово “купить” в адресе фигурирует как “prodaja”.

    Результатом этого этапа должно стать ТЗ на ЧПУ-адреса фильтров. Работа непростая, и подумать лучше несколько раз.
    Сложность реализации ТЗ очень зависит от числа параметров, связей между ними и сложности шаблона ЧПУ-адреса.

    Технический этап. Программирование ЧПУ фильтров на Битриксе.

    Рассмотрим решение задачи с точки зрения программиста. Для того, чтобы формировать и обрабатывать человеко-понятные адреса вроде

    /prodaja/promyshlennye_zemli-rostovskaya_oblast/ (ЧПУ-стиль)

    нужно уметь сопоставлять их с исходными, например такими

    ?arrFilter_P1=3&arrFilter_P2=1120&arrFilter_4_2348707219=Y (олдскул-стиль)

    Можно полностью переписать компонент фильтрации, “научив” его работать с такими адресами.

    Мы рекомендуем стандартные компоненты по возможности не трогать. Вместо этого нужно лишь слегка изменить обработку адресов на входе:

    1. Компонент фильтрации остается без изменений и посылает пользователя на страницу с обычным “олдскул”-адресом.

    2. На целевой странице написан специальный программный фрагмент, который понимает, что открыт адрес, который нужно преобразовать к ЧПУ-виду. Он делает такое преобразование и делает переадресацию на ЧПУ-страницу.

    3. При открытии ЧПУ-страницы тот же программный элемент, понимая, какие значения закодированы в ЧПУ-адресе, заполняет массив REQUEST теми значениями, которые нужны для работы стандартных компонент.

    Технически поведение ЧПУ-фильтра реализуется классом, который в проекте среднего уровня содержит 400 строк php-кода. Больше нюансов — сложнее реализация.
    Грубая оценка добавления ЧПУ к уже работающему фильтру — от 20 до 70 часов работы.

    Выводы

    Скажите честно, доктор, эти ваши лечебные травы приносят хоть какую-нибудь пользу?             
    -А как же! Недавно я купил сыну дачу, а дочке достраиваю дом…

    Программист и оптимизатор не враги. Хороший разработчик обязан уметь слушать разумные доводы SEO-специалиста. Помните — миром правит маркетинг, а технологии ему служат.
    А оптимизаторам нужно уметь применять в убеждении не астрологию, а аналитику.
    Что же касается Битрикса — в умелых руках он может все, что нужно оптимизатору.

    Мы разбираемся в интернет-маркетинге и при работе над сайтами готовим их к будущему продвижению.
    Обращайтесь за решением ваших задач по оптимизации сайтов , с удовольствием поможем.

    Это завершающая статья из серии о решении сложных задач поисковой оптимизации на Битрикс. Обратите внимание на другие статьи серии:

    Написать нам