Теперь SEO умного фильтра быстрее в 8 раз!

Здравствуйте, дорогие читатели! На связи Сотбит. SEO умного фильтра — один из ведущих модулей в Маркетплейс 1С-Битрикс. Мы плотно занимались им на протяжении этого года и в этой статье мы расскажем, какую работу проделали.

Во-первых, хочется обрадовать пользователей модуля — его бета-версии перешли в релиз. Мы объясним, почему этого момента пришлось подождать. Давайте по уже устоявшейся традиции разделим статью на основные части и пойдем по порядку:
  1. Предисловие
  2. Рефакторинг кода модуля
  3. Выпуск стабильной версии и нововведение
  4. Нововведения, оптимизация и исправления в функционале
1. Предисловие
Если вы попали на эту статью случайно и еще не знаете, что за модуль Сотбит: SEO умного фильтра, то поясним. Это инструмент, позволяющий значительно увеличить трафик интернет-магазина на Битрикс. Модуль создает уникальные страницы с мета-данными под свойства вашего фильтра.

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

2. Рефакторинг кода модуля
Модуль Сотбит: SEO умного фильтра был опубликован на Маркетплейс в начале 2016 года, и пользуется большой популярностью до сих пор. Прежде чем радовать пользователей 1С-Битрикс новым функционалом, мы решили провести рефакторинг. И когда код приведен в надлежащий вид, можно дальше развивать модуль.


Рефакторинг — это процесс улучшения кода. Результатом работы является чистый код. Чистый код повышает качество продукта, его просто читать, понимать и поддерживать.
Почему мы решили провести рефакторинг?
1)  Оптимизация
Клиенты обращались к нам с просьбой увеличить скорость работы модуля, особенно — компонента облака тегов. Для решения этой задачи нам было необходимо уменьшить число запросов и, как следствие, в целом увеличить скорость работы модуля.

Мы предусмотрели в модуле настройку для облака тегов «Без перегенерации». В таком случае вам сначала нужно сгенерировать ЧПУ, а после сами теги будут браться из таблицы ЧПУ. Соответственно, не будут генерироваться по новой. Мы произвели замеры скорости работы:
  • До оптимизации: 5-10 секунд;
  • После оптимизации: 0,6 секунды.
Это значит, что скорость работы увеличилась минимум в 8 раз:
Замеры скорости работы компонента облака тегов
Как мы написали, для ускорения работы сначала потребуется сгенерировать ЧПУ. Поэтому мы оптимизировали также и скорость генерации ЧПУ в модуле. Замеры скорости генерации:
  • До оптимизации: 40 секунд;
  • После оптимизации: 10 секунд.
Благодаря оптимизации мы увеличили скорость в 4 раза! Обратите внимание, что скорость зависит от таких показателей, как:
  • Количество свойств;
  • Количество значений свойств.
Замеры скорости генерации ЧПУ

2) Дальнейшее развитие модуля
Поскольку результатом рефакторинга является чистый код, это значительно упрощает дальнейшее развитие модуля. Это значит, что мы все также будем продолжать радовать вас новыми обновлениями, и сам процесс станет для нас проще.

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

3. Выпуск стабильной версии и нововведение
Многие владельцы модуля обратили внимание на то, что в последнее время мы выпускали обновления на Сотбит: SEO умного фильтра в beta-версии. И вот, спустя месяцы плодотворной работы отдела разработки, мы выпускаем в релиз стабильные версии модуля Сотбит: SEO умного фильтра. Теперь мы можем с уверенностью заявить, что наш код в порядке, а модуль работает быстро. И это только начало. Впереди вас ждут обновления с новым функционалом.

И уже сейчас мы радуем вас нововведением! Вы просили нас сделать работу с условиями в модуле проще. Теперь при выборе условия вам доступна строка поиска. Поэтому работа с созданием условий станет намного легче, ведь вам не нужно искать среди множества свойств нужное.

Так что если по какой-то причине вы еще не используете модуль в своем интернет-магазине (читайте “недополучаете трафик”), то устанавливайте его бесплатно в демо-режиме для тестирования. Наша бесплатная техподдержка поможет настроить модуль еще на этапе тестирования.

При возникновении вопросов по возможностям модуля или его настройкам, свяжитесь с нами удобным для вас способом:

с помощью соц. сетей, мессенджеров, либо онлайн-чата на нашем сайте

           

4. Нововведения, оптимизация и исправления в функционале
Давайте рассмотрим, какая работа была проделана вплоть до версии модуля 2.0.5:

1.6.0
Новые функциональные возможности:
  • Внедрен функционал склонения слов (морфология);
  • Добавлена настройка «Делать ЧПУ активными при генерации»;
  • Добавлена шкала прогресса при генерации ЧПУ;
  • Добавлена возможность задавать пользовательскую маску формирования ссылок;
  • Добавлена шкала прогресса при генерации карты сайта.
Оптимизация и исправления:
  • Исправлена работа условий с типом свойств: привязка к элементам, привязка к разделам;
  • Исправлена ошибка формирования названия тегов;
  • Исправлена ошибка настройки "Условие участвует в поиске";
  • Исправлены ошибки формирования метаинформации при использовании в условии цен товара;
  • Исправлены ошибки подстановки пользовательских полей в метаинформацию;
  • Исправлена ошибка работы со спецсимволами, содержащими в коде знак #, например, emoji;
  • Исправлена ошибка формирования карты сайта с количеством ссылок превышающим 50 000;
  • Исправлены ошибки отображения пунктов меню в административной части;
  • Оптимизировано поведение вкладок в условиях. Теперь при сохранении условия Вы остаетесь на прежней вкладке;
  • Исправлена некорректная работа строгого соответствия для срабатывания ЧПУ.
1.6.1
Оптимизация и исправления:
  • Исправлена ошибка пропадания глобального меню Сотбит в административной части;
  • Исправлены ошибки пагинации во вкладке "Условия" в таблице "ЧПУ".
1.6.2
Оптимизация и исправления
  • Исправлена генерация карты сайта;
  • Исправлены ошибки пагинации списка ЧПУ.
1.6.3
Исправления и оптимизация:
  • Исправлена критическая ошибка сортировки в административных настройках решения.
1.6.4
Оптимизация и исправления
  • Исправлена ошибка генерации карты сайта;
  • Исправлены критические ошибки, вызванные отсутствием требуемых классов в ранних версиях БУС.
2.0.0
Оптимизация:
  • Полностью переработана логика основных методов генерации (ЧПУ / Карта сайта, Теги);
  • Значительно сокращено количество обращений к БД;
  • Время генерации ЧПУ / Тегов ускорено в 2,5-5 раз. Скорость генерации напрямую зависит от произведения количества значений свойств в условии.
2.0.1
Новые функциональные возможности:
  • В компонент облака тегов добавлена настройка переключения режимов работы, с перегенерацией условий и без перегенерации. Внимание! Данная доработка распространяется только на стандартный компонент облака тегов.
Оптимизация и исправления:
  • Исправлена ошибка генерации для фильтра "Битрикс без ЧПУ";
  • Исправлена ошибка подстановки плейсхолдеров в метаданных условий;
  • Исправлена ошибка определения нахождения ЧПУ в карте сайта;
  • Исправлена ошибка подсчета товаров по ссылке.
2.0.2
Оптимизация и исправления:
  • Исправлена ошибка генерации ЧПУ;
  • Исправлен ряд ошибок, возникающих при работе модуля на версии PHP 7.4;
  • Исправлены ошибки, вызываемые заменой URL страницы, в частности, добавления товаров в корзину на посадочных страницах. Подмена ссылки не происходит при наличии параметра add2basket;
  • Исправлена ошибка некорректного отображения первой заглавной буквы в тегах.
2.0.3
Оптимизация и исправления:
  • Исправлены ошибки определения статуса ссылки в карте сайта;
  • Исправлены ошибки кнопки генерации карты сайта;
  • Исправлена ошибка отображения названия тега в случае, если функционал морфологии отработал с ошибкой.
2.0.4
Новые функциональные возможности:
  • Добавлен поиск в списке свойств при формировании условия;
2.0.5
Оптимизация и исправления:
  • Исправлена ошибка генерации ЧПУ при конкретном значении цены;
  • Оптимизация логики работы диапазонных значений;
  • Оптимизация логики работы и/или в условиях