SEO умного фильтра: посадочные страницы, ЧПУ, мета-теги
Модуль codebrain.seofilter превращает комбинации умного фильтра каталога в полноценные посадочные страницы: «Платья из вискозы», «Кроссовки Nike белые», «Диваны до 30 000 ₽». У каждой страницы — свой понятный адрес, title, description, H1, хлебная крошка, SEO-тексты, место в облаке тегов и в карте сайта.
Модуль бесплатный, работает без правки шаблона сайта и сам следит за страницами: появились новые значения свойств — создаёт страницы, закончились товары — закрывает страницу от индексации, вернулись — открывает снова.
#Возможности
- Страницы из условий: раздел каталога + свойства фильтра → по странице на каждую комбинацию значений, в которой есть товары. Свойства-списки, строки, справочники, привязки, свойства торговых предложений, цены и числовые свойства по диапазонам.
- ЧПУ без правки шаблона:
/catalog/dresses/viskoza/вместо/catalog/dresses/filter/material-is-viskoza/apply/. Адрес фильтра перенаправляется на посадочную (301), ссылки фильтра сразу ведут на неё. - Мета-теги по шаблонам с переменными, падежами, ценами, брендами и наличием; наследование шаблонов сайт → инфоблок → раздел → условие → страница.
- SEO-тексты над и под списком товаров, блок «Вопросы и ответы» с разметкой FAQPage, OG-теги.
- Перелинковка: облако тегов, похожие страницы, теги в карточке товара, ссылки на посадочные прямо внутри умного фильтра.
- Индексация: карта сайта, IndexNow, ЧПУ пагинации, правила noindex и canonical для страниц фильтра.
- Контроль качества: каннибализация, одинаковые и длинные мета-теги, проверка страниц на сайте.
- Спрос: какие комбинации фильтра открывают посетители и ищут в поиске по сайту — страницы из отчёта создаются в один клик.
- Импорт из списка адресов (текст, CSV, XLSX) — например, при переходе с другого SEO-модуля: страницы сохраняют прежние адреса.
- ИИ-тексты через бесплатный модуль «AI-генератор контента» на ваших ключах.
#Требования
| Что | Требование |
|---|---|
| Платформа | 1С-Битрикс: Управление сайтом, главный модуль 20.0 или новее; модуль «Информационные блоки», для цен и наличия — «Торговый каталог» |
| PHP | 7.3 или новее |
| Кодировка | UTF-8 |
| Каталог | Комплексный компонент bitrix:catalog с умным фильтром bitrix:catalog.smart.filter — в режиме ЧПУ или на GET-параметрах |
| Фасетный индекс | Рекомендуется: с ним подсчёт товаров быстрый. Без индекса модуль работает, но генерация на больших каталогах медленнее |
| Агенты | Рекомендуется выполнять агенты на cron — пересчёт страниц, карта сайта и аудит идут фоном |
#Установка
- Установите модуль из Маркетплейса: Marketplace → Каталог решений, найдите «SEO умного фильтра» и нажмите «Установить».
- При установке модуль сам находит каталоги сайта — по правилам обработки адресов и параметрам компонента
bitrix:catalog. - В главном меню административной панели появится раздел Codebrain → SEO умного фильтра.
- Откройте Мастер интеграции — он проверит каталоги, фасетный индекс, правила адресов, агентов и шаблон сайта и подскажет, что настроить.
Кнопка «Проверить с открытием страниц» откроет три посадочные и их разделы и покажет, встали ли на место H1, title, canonical, robots, SEO-текст, облако тегов и редирект с адреса фильтра. Для каждой проблемы — подсказка, что сделать именно в вашем шаблоне (стандартный магазин, Аспро, Сотбит, INTEC, Deluxe и другие).
#Быстрый старт
- Условия → Добавить условие. Выберите каталог, разделы и одно-два свойства фильтра — например, «Платья» и «Материал».
- На вкладке «Адреса и индексация» нажмите «Предпросмотр» — модуль покажет, сколько страниц получится, их адреса, H1 и title.
- Нажмите «Сохранить и сгенерировать».
- Откройте любую страницу из списка на сайте: у неё свой адрес, заголовок, мета-теги и текст, в фильтре отмечено нужное значение, а адрес фильтра перенаправляется на неё.
#Условия
Условие — это правило, по которому создаются страницы: где (каталог и разделы) и по каким свойствам. Модуль создаёт по странице на каждую комбинацию значений, в которой не меньше заданного числа товаров.
Условия можно объединять в группы, копировать, выключать, перегенерировать. Число страниц ведёт в список посадочных этого условия, «пустых: N» — к страницам, где закончились товары.
#Где создавать страницы
- Разделы — одна или несколько; галочка «и во всех их подразделах» распространяет условие вниз по дереву.
- Корень каталога — страницы без раздела (
/catalog/brand-x/), если шаблон каталога показывает товары и фильтр на корневой странице. - Сортировка — она же приоритет: если два условия дают одну и ту же страницу, её получает условие с меньшей сортировкой.
- Минимум товаров на странице и не больше страниц — защита от тонких страниц и от взрывного роста комбинаций.
#Свойства фильтра
- В списке — свойства, которые показаны в умном фильтре, включая свойства торговых предложений и цены.
- Каждая страница получает по одному значению каждого отмеченного свойства. Нужны страницы и по одному свойству, и по паре («Бренд» и «Бренд + Цвет») — создайте два условия.
- Можно выбрать только часть значений — например, пять главных брендов. Ничего не выбрано — все значения.
- Порядок свойств (перетаскиванием) задаёт порядок значений в
{values}и в адресе. - Цены и числовые свойства — по диапазонам, по одному на строку:
0-5000,5000-10000,10000-(без верхней границы). - В адресе: только значение (
/viskoza/) или код свойства и значение (/material-viskoza/).
#Дополнительные условия
Страницы, которых нет в фильтре напрямую:
- Только товары в наличии.
- Новинки — добавленные за последние N дней.
- Подборка — список ID товаров.
- Свой фильтр — JSON в формате фильтра
CIBlockElement::GetList, например «со скидкой» по свойству:{"PROPERTY_SALELEADER_VALUE": "да"}. Разрешены ключи свойств (PROPERTY_*), полей каталога (CATALOG_*),AVAILABLE,QUANTITY,ID,XML_ID,CODE,NAME, даты,SORT,TAGS— с префиксами сравнения (!,>=,%…).
Такая страница — отдельная: адрес фильтра на неё не перенаправляется, ведь фильтр показал бы другой набор товаров.
#Адреса и индексация
Шаблон адреса собирается из переменных:
| Переменная | Что подставляется |
|---|---|
#SECTION_URL# |
Адрес раздела |
#VALUES# |
Значения через разделитель, в порядке свойств |
{CODE} |
Значение одного свойства — так задаётся любой порядок: #SECTION_URL#{brand_ref}/{color}/ |
#SECTION_CODE#, #SECTION_CODE_PATH#, #SECTION_ID# |
Код, путь кодов и ID раздела |
#CATALOG# |
Папка каталога |
Адрес может быть и вне каталога — например, /{brand_ref}/: модуль сам добавит правило обработки адресов. Значения транслитерируются, свой фрагмент адреса для значения задаётся в словаре значений. Если адрес занят разделом, товаром, файлом сайта или другой посадочной, к нему добавляется -2.
Если товаров стало меньше минимума:
- оставить страницу, закрыть от индексации, убрать из тегов и карты сайта (по умолчанию);
- временно (302) перенаправлять в раздел;
- отдавать 404.
Когда товары вернутся, страница откроется сама. Галочка «Обновлять автоматически» включает условие в пересчёт агентом раз в 6 часов: новые значения свойств получат страницы, опустевшие страницы закроются.
Предпросмотр до сохранения показывает, сколько страниц получится, сколько из них уже есть, а также адрес, H1, title и число товаров каждой страницы.
#Мета-теги и тексты
На вкладке «Мета-теги и тексты» условия задаются шаблоны для всех его страниц: H1, title, description, keywords, пункт хлебных крошек, текст ссылки в облаке тегов, SEO-тексты сверху, снизу и дополнительный, вопросы и ответы, картинка для соцсетей.
Пустое поле берётся из шаблонов раздела, инфоблока или сайта, затем из шаблонов по умолчанию в настройках модуля (показаны серым).
#Переменные
| Переменная | Значение |
|---|---|
{section} |
Название раздела |
{values} |
Значения фильтра через запятую |
{prop:CODE} |
Значение свойства; для цены — код типа цены: {prop:BASE} |
{propname:CODE} |
Название свойства |
{site} |
Название сайта |
{count} |
Число товаров; со словом в нужной форме — см. ниже |
{min_price}, {max_price} |
Цены страницы с валютой |
{brands_top3} |
Три самых частых бренда страницы |
{in_stock_count} |
Товаров в наличии |
{discount_max} |
Наибольшая скидка |
{rating} |
Средний рейтинг товаров |
{city} |
Регион (региональные модули Аспро и Сотбит) |
{section_picture} |
Картинка раздела — удобно для og:image |
Число со словом: {count|товар|товара|товаров} — «1 товар», «3 товара», «12 товаров».
Модификаторы: .lower, .upper, .ucfirst и падежные формы из словаря значений — .gen, .dat, .acc, .ins, .pre, .plural, .plural_gen. Например, {prop:COLOR.gen.lower} или {city.pre}.
Условный блок: {?min_price}от {min_price}{/?} — выводится, только если цена есть.
Варианты: {Купить|Заказать} — вариант выбирается по адресу страницы и не меняется между показами, поэтому соседние страницы получают разные формулировки.
Пример шаблона title:
{section} {prop:MATERIAL.lower} — {count|модель|модели|моделей}{?min_price} от {min_price}{/?} | {site}
Макросы шаблонов Аспро вроде #REGION_NAME_DECLINE_PP# можно писать как есть.
#Где выводятся тексты
- Верхний текст — вместо описания раздела, перед ним или после него (настройка условия). Если на странице нет описания раздела, текст встаёт после H1.
- Нижний и дополнительный тексты — в маркеры шаблона (см. «Вывод на сайте»).
- Вопросы и ответы: вопрос и ответ с новой строки, блоки разделяются пустой строкой. Блок выводится после нижнего текста или в маркер
<!--codebrain_seofilter_faq-->вместе с разметкой FAQPage.
#Шаблоны по разделам
Шаблоны по разделам — мета-шаблоны для всего сайта, инфоблока или раздела (действуют и на подразделы). Так можно задать свой title для всего раздела «Обувь», не трогая условия.
Наследование: сайт → инфоблок → раздел → условие → страница. Серым показано, что будет взято с уровня выше.
#Посадочные страницы
Посадочные страницы — все страницы модуля: адрес, раздел и значения, H1, title, число товаров, статус.
- Фильтр по условию, статусу (есть товары, пустые, выключены, закрыты, с закреплённым адресом, со своими мета-тегами) и поиск по адресу, тексту мета-тегов или ID.
- Колонки списка настраиваются: description, цены, откуда страница, условие, дата изменения, визиты из поиска.
- Двойной клик по H1 или title — правка прямо в списке (Enter — сохранить, Esc — отмена).
- Групповые действия: включить, выключить, разрешить или закрыть индексацию, снять закрепление адреса, сбросить свои мета-теги, пересчитать товары, пересобрать адрес по шаблону (со старого — 301), проверить на сайте, сгенерировать тексты через ИИ, удалить.
- Создать страницу вручную: раздел и значения фильтра, в том числе несколько значений одного свойства («или») и диапазоны цен.
#Массовое редактирование в Excel
Внизу списка — «Выгрузить CSV» и «Выгрузить в Excel (XLSX)»: выгружаются страницы по текущему фильтру. Отредактируйте мета-теги и адреса в Excel и загрузите файл обратно.
- Страницы ищутся по ID, без ID — по адресу.
- Пустая ячейка мета-тега — шаблон условия; заполненная — своё значение страницы.
- CSV — с разделителем
;, в UTF-8 или windows-1251. - Сначала загрузите с галочкой «только проверить» — модуль покажет, сколько страниц изменится, и найдёт ошибки, ничего не записывая.
#Страница
- Адрес можно изменить вручную и закрепить — генерация его больше не тронет. Со старого адреса модуль перенаправляет (301).
- Адрес фильтра — с него посетители и роботы перенаправляются на посадочную.
- Индексация: как в условии, разрешить или запретить.
- Canonical на страницу (ID) — для дублей: страница остаётся доступной, но указывает на основную, закрывается от индексации и уходит из карты сайта.
- Свои мета-теги и тексты: пустое поле — значение из шаблона (показано под полем), заполненное — только для этой страницы, генерация его не перезапишет. Под полями — предпросмотр сниппета в Google и Яндексе с длиной title и description в пикселях.
- Проверить на сайте — модуль откроет страницу и сравнит код ответа, title, H1, canonical и robots с настройками.
#История и откат
Каждое изменение страницы — вручную, генерацией, из Excel, импортом или ИИ — попадает в историю. Кнопка «Вернуть» восстанавливает прежние значения; откат тоже попадает в историю.
#Словарь значений
Словарь значений — как значение свойства выглядит в текстах и адресах:
- SEO-название вместо подписи в фильтре: «Без покрытия (светлая)» → «без покрытия».
- Фрагмент адреса: своя транслитерация или короткое имя. Новый адрес применится при следующей генерации, со старого будет 301.
- Падежные формы для шаблонов: родительный, дательный, винительный, творительный, предложный, множественное число — для
{prop:COLOR.gen}и других модификаторов.
Кнопка «Заполнить пустые формы автоматически» строит формы по правилам русского языка (прилагательные, основные типы существительных, словосочетания); латиница и фразы с предлогом не меняются. С модулем «AI-генератор контента» доступно и «Заполнить пустые формы через ИИ». Это черновик — проверьте результат; заполненные вручную формы не перезаписываются.
#Вывод на сайте
Модуль не требует правки шаблона: H1, title, мета-теги, canonical, тексты и облако тегов ставятся сами. Настройки — Настройки → Вывод на сайте.
- Заменять H1 прямо в HTML — для шаблонов, которые выводят заголовок не через
$APPLICATION->ShowTitle(false)(часто — Аспро, INTEC, Deluxe). - Ставить OG-теги посадочной — og:title, og:description, og:url, og:image; теги шаблона заменяются.
- Ссылки умного фильтра сразу ведут на посадочные — кнопка «Показать» и отправка формы фильтра открывают адрес посадочной без промежуточного редиректа.
- В AJAX-каталогах обновлять title, H1 и тексты — для шаблонов, которые подгружают товары без перезагрузки и меняют адрес через
history.pushState. - Ссылки на посадочные внутри умного фильтра — подпись значения становится ссылкой
<a href>: поисковик видит перелинковку, посетитель кликает по фильтру как обычно. - Посадочные в поиске по сайту — заголовок и SEO-тексты индексируются модулем «Поиск».
- Адрес сайта для canonical и карты сайта — если у сайта не заполнен «URL сервера».
#Маркеры и компоненты
Если блок не встал автоматически, поставьте в шаблон маркер:
| Маркер | Что выводится |
|---|---|
<!--codebrain_seofilter_top--> |
Верхний SEO-текст |
<!--codebrain_seofilter_bottom--> |
Нижний SEO-текст |
<!--codebrain_seofilter_extra--> |
Дополнительный текст |
<!--codebrain_seofilter_faq--> |
Вопросы и ответы |
<!--codebrain_seofilter_tags--> |
Облако тегов |
<!--codebrain_seofilter_similar--> |
Похожие страницы |
Компоненты: codebrain:seofilter.tags (облако тегов: посадочные раздела, уточняющие, похожие или «в карточке товара») и codebrain:seofilter.map (карта всех посадочных — например, для страницы «Каталог брендов»).
#Перелинковка
Настройки → Перелинковка:
- Облако тегов после H1 раздела и посадочной — без правки шаблона. Число ссылок, сколько показывать сразу (остальные — по кнопке «Ещё»), сортировка (по индексу, алфавиту, числу товаров или популярности), группировка по свойствам («По бренду», «По цвету»).
- Похожие посадочные — 3–6 страниц с самыми близкими наборами товаров, в маркер или компонент.
- Теги в карточке товара — посадочные, в которые входит товар.
- Ссылки внутри умного фильтра — см. «Вывод на сайте».
Текст ссылки в облаке — поле «Текст ссылки в облаке тегов» шаблона (по умолчанию {values}), порядок — «Сортировка в облаке тегов» страницы.
#Индексация
Настройки → Индексация:
- ЧПУ пагинации:
/page-2/вместо?PAGEN_1=2на посадочных и в разделах. Старые адреса перенаправляются (301), ссылки пагинатора переписываются. Canonical страниц пагинации — на себя или на первую страницу. - noindex для страниц с сортировкой и видом (
sort,order,view…), для страниц пагинации кроме первой, для страниц фильтра с N и больше значениями («бренд + цвет» индексируется, «бренд + цвет + размер» — нет). - Страницы фильтра без посадочной — закрыть от индексации (
noindex, follow) или поставить canonical на раздел. Тогда в индексе остаются только посадочные. - Карта сайта
sitemap-seofilter.xml— раз в сутки агентом или по кнопке «Записать сейчас» на вкладке «Обслуживание»; добавляется в индекс/sitemap.xmlмодуля SEO. Для региональных поддоменов — отдельный файл на каждый домен. - IndexNow — новые и изменённые посадочные раз в час отправляются в Яндекс и Bing. Ключ создаётся модулем и кладётся в корень сайта.
Мастер интеграции показывает строки для robots.txt, которые закрывают страницы фильтра без посадочной. Модуль файл не меняет — добавьте их вручную.
#Качество
Качество — аудит посадочных раз в сутки (агент) или по кнопке.
| Проблема | Что делать |
|---|---|
| Каннибализация | Почти одинаковые наборы товаров (порог в настройках, по умолчанию 90%): страницы спорят за одни запросы. Оставьте одну, у второй поставьте canonical на первую или выключите её — действие доступно прямо в отчёте |
| Одинаковый title, H1, description | Добавьте в шаблон различающую переменную или поправьте страницы |
| Пустой H1, длинный title или description | Поправьте шаблон; пороги длины — в настройках |
| Код ответа, title, H1, canonical, robots на сайте другие | Шаблон или другой модуль перебивает значения модуля — подсказка в строке отчёта |
«Проверить 30 страниц на сайте» запрашивает страницы и сравнивает, что видит поисковик, с тем, что задано. Включите ежедневную проверку части страниц в Настройках → Качество и спрос. Если сервер не может открыть сайт по внешнему адресу, укажите адрес для проверок (например, http://nginx) — запросы пойдут туда с заголовком Host сайта.
Из любой строки отчёта можно открыть эти страницы в списке и исправить групповым действием.
#Спрос
Спрос подсказывает, какие страницы создать.
- Применения фильтра — комбинации, которые открывают посетители и для которых ещё нет посадочной. Учитывается одна запись на состояние фильтра в месяц, без IP, cookies и данных посетителей; роботы не учитываются.
- Поиск по сайту — фразы из статистики модуля «Поиск», в которых есть название раздела и значение свойства: «белые кроссовки» → раздел «Кроссовки», цвет «белый».
Кнопка «Создать страницу» делает посадочную из строки отчёта. Сбор статистики и срок хранения — в Настройках → Качество и спрос.
#Импорт из списка адресов
Импорт создаёт посадочные из списка адресов без потери позиций: страница получает тот же адрес, что был у неё раньше — например, в другом SEO-модуле, — и свои мета-теги. Адрес закрепляется — перегенерация его не изменит.
- Формат строки — текст, CSV или XLSX:
ЧПУ;адрес фильтра;title;h1;description;keywords;text_top;text_bottom. Разделитель —;,,или табуляция; можно добавить строку заголовков с именами колонок (url,filter_url,title…). - Строка только с адресом фильтра — ЧПУ будет построен по шаблону условия.
- Страницы можно привязать к условию — тогда они будут обновляться вместе с ним.
- Сначала запускайте с галочкой «Только проверить».
Переход с другого SEO-модуля: выгрузите из него список «адрес фильтра → ЧПУ» с мета-тегами (обычно это экспорт в CSV или Excel) и загрузите его здесь. Затем выключите условия старого модуля, иначе мета-теги будут ставить оба модуля.
Совет макросы старого модуля в мета-тегах не переводятся. После импорта найдите их поиском в списке посадочных и замените переменными модуля.
#ИИ-тексты
С бесплатным модулем «AI-генератор контента» посадочные получают H1, title, description, SEO-тексты и вопросы-ответы, написанные языковой моделью на ваших ключах.
- Модель получает факты страницы: раздел, значения фильтра, число товаров, цены, частые бренды, наличие, скидку, распределение характеристик и до 8 названий товаров — и пишет только по ним.
- Тексты сравниваются с соседними страницами условия: слишком похожий текст переписывается ещё раз (порог — в Настройках → ИИ).
- Задача — страницы условия или список ID, выбранные поля, «только пустые» или с перезаписью. Задача выполняется, пока открыта страница, и агентом в фоне; при ограничении скорости провайдера ждёт и продолжает. Десять страниц с ошибкой подряд останавливают задачу.
- «Попробовать на одной странице» показывает результат и промпт с фактами, ничего не сохраняя.
- Кнопки «✨ ИИ» есть у полей на странице посадочной и в групповых действиях списка.
- Результат пишется в свои мета-теги страницы и попадает в историю — его можно откатить.
Промпты, системный промпт и провайдер для SEO-текстов (по умолчанию — все включённые по порядку, с переключением при ошибке) настраиваются в Настройках → ИИ. Стоимость задачи показывается по ценам провайдеров.
#Настройки
Настройки модуля разделены на вкладки:
| Вкладка | Что настраивается |
|---|---|
| Каталоги | Где на сайте каталоги и как устроены их адреса; кнопка «Найти каталоги» |
| Вывод на сайте | H1, OG-теги, ссылки фильтра, AJAX-каталоги, поиск по сайту, адрес сайта |
| Перелинковка | Облако тегов, похожие страницы, теги в карточке товара, свойство бренда для {brands_top3} |
| Индексация | ЧПУ пагинации, noindex и canonical, карта сайта, IndexNow |
| Качество и спрос | Пороги аудита, проверка страниц на сайте, статистика фильтра |
| Яндекс | Необязательно: Вебмастер и Метрика на вашем OAuth-токене |
| ИИ | Промпты и провайдер ИИ-текстов |
| Права | Кто и что может делать в модуле |
| Шаблоны по умолчанию | Шаблоны мета-тегов для полей, не заполненных нигде выше |
| Обслуживание | Карта сайта и пересчёт сейчас, маркеры для шаблона |
Шаблоны адресов каталога — те же, что в компоненте bitrix:catalog (относительно папки каталога). Пустой шаблон умного фильтра означает, что фильтр работает на GET-параметрах (?set_filter=y…); модуль поддерживает оба варианта.
#Яндекс Вебмастер и Метрика
Необязательно. OAuth-токен Яндекса с доступом к Вебмастеру и/или Метрике:
- новые посадочные отправляются на переобход (с учётом дневной квоты Вебмастера) — укажите ID сайта в Вебмастере вида
https:example.ru:443; - в список посадочных добавляются визиты из поиска и отказы за 30 дней — укажите номер счётчика Метрики.
Токен хранится в настройках модуля и на странице не показывается.
#Права доступа
Настройки → Права: группам пользователей назначаются уровни.
| Уровень | Что можно |
|---|---|
| Просмотр | Списки, отчёты, мастер интеграции |
| Редактирование | Условия, страницы, словарь значений, шаблоны |
| Генерация | Запуск генерации, пересчёт, импорт, удаление страниц, ИИ-тексты |
| Настройки | Настройки модуля |
Администраторы могут всё. HTML в текстах, сохранённых не администраторами, очищается: остаются безопасные теги и ссылки, скрипты и обработчики событий удаляются.
#Как это работает
- Модуль перехватывает запрос посадочной в начале страницы и показывает каталог так, будто открыт адрес фильтра: компоненты каталога и фильтра работают как обычно, шаблон не меняется. Адрес в браузере остаётся адресом посадочной.
- Адрес фильтра, у которого есть посадочная, перенаправляется на неё (301), с сохранением UTM-меток и прочих параметров.
- Число товаров считается по фасетному индексу инфоблока. Если индекс устарел (например, после прямых правок базы), мастер интеграции это покажет и пересоздаст индекс по шагам.
- Страницы с собственными правками (свои мета-теги, закреплённый адрес) генерация не перезаписывает.
- Модуль совместим с композитным сайтом: правки страницы делаются до сохранения в кеш.
#Агенты
| Агент | Как часто | Что делает |
|---|---|---|
| Пересчёт | Раз в 6 часов | Условия с автообновлением: новые страницы, пустые, вернувшиеся |
| Карта сайта | Раз в сутки | sitemap-seofilter.xml |
| Аудит качества | Раз в сутки | Каннибализация, дубли мета, проверка части страниц на сайте |
| Отправка | Раз в час | IndexNow и переобход в Вебмастере |
| ИИ-тексты | Раз в минуту | Задачи ИИ-текстов |
#Данные и конфиденциальность
- Статистика спроса — одна запись на состояние фильтра в месяц: без IP, cookies и данных посетителей.
- Никаких данных на серверы Codebrain модуль не отправляет.
- Внешние запросы — только по включённым вами функциям: IndexNow (адреса страниц — Яндексу и сети IndexNow), Яндекс Вебмастер и Метрика (на вашем токене), ИИ-тексты (факты страницы — выбранному LLM-провайдеру через модуль «AI-генератор контента»).
- Токен Яндекса хранится в настройках модуля и на страницы не выводится.
#Для разработчиков
#События
Модуль отправляет события, на которые можно подписаться в своём модуле или init.php:
use Bitrix\Main\EventManager;
use Bitrix\Main\EventResult;
EventManager::getInstance()->addEventHandler('codebrain.seofilter', 'OnBeforeLandingMeta', function ($event) {
$meta = $event->getParameter('meta');
$meta['title'] .= ' — доставка по России';
return new EventResult(EventResult::SUCCESS, ['meta' => $meta]);
});
| Событие | Параметры | Что можно сделать |
|---|---|---|
OnLandingResolve |
landing, url |
Перед показом посадочной: ERROR — показать страницу как без модуля; SUCCESS с landing — подменить страницу |
OnBeforeLandingMeta |
landing, condition, meta |
Изменить мета-теги и тексты (SUCCESS с meta) |
OnTemplateVariables |
landing, variables |
Добавить свои переменные шаблонов (SUCCESS с variables) |
OnAfterGenerate |
condition_id, stat |
После генерации условия |
OnAfterLandingSave |
id, old, fields |
После сохранения страницы |
#API
use Codebrain\Seofilter\Api;
\Bitrix\Main\Loader::includeModule('codebrain.seofilter');
$landing = Api::getCurrent(); // посадочная текущей страницы или null
$meta = Api::getMeta(); // её мета-теги и тексты после шаблонов
Api::findByFilterUrl(SITE_ID, $url); // посадочная адреса фильтра (ЧПУ или GET)
Api::findByUrl(SITE_ID, $url); // посадочная по её адресу
Api::parseFilterUrl(SITE_ID, $url); // раздел и значения адреса фильтра
#Удаление модуля
Marketplace → Установленные решения → SEO умного фильтра → Удалить. Модуль спросит, сохранить ли данные: условия, посадочные страницы, словарь значений и настройки. Если оставить галочку, после повторной установки всё вернётся.
После удаления адреса посадочных страниц перестанут открываться, а правила обработки адресов модуля удаляются. Перед удалением подумайте о редиректах с посадочных — например, выгрузите список страниц в Excel.
#Частые вопросы
Страниц получилось меньше, чем комбинаций. Страница создаётся, только если в комбинации не меньше «Минимума товаров на странице», и не больше лимита страниц условия. Значения, которые уже заняты условием с меньшей сортировкой, пропускаются — их число видно в сообщении после генерации.
Число товаров на посадочной не совпадает с разделом. Подсчёт идёт по фасетному индексу. Если индекс устарел, мастер интеграции покажет это и предложит пересоздать его.
H1 на посадочной не меняется. Шаблон выводит заголовок не через $APPLICATION->ShowTitle(false). Включите Настройки → Вывод на сайте → Заменять H1 прямо в HTML.
Title или canonical на сайте другие. Их выводит шаблон напрямую или другой SEO-модуль. «Проверить на сайте» на странице посадочной покажет, что именно отличается; подсказки — в мастере интеграции.
SEO-текст не появился. На странице нет описания раздела и H1 для автоматической вставки. Поставьте маркер <!--codebrain_seofilter_top--> в шаблон раздела или выберите другой режим вывода текста в условии.
Адрес фильтра не перенаправляется на посадочную. Проверьте шаблон умного фильтра в Настройках → Каталоги — он должен совпадать с адресами фильтра на сайте (ЧПУ или GET). У страниц с дополнительными условиями редиректа с адреса фильтра нет — так задумано.
Посадочная открывается с 404. Страница пустая и в условии выбрано «Отдавать 404», или страница выключена. Статус виден в списке посадочных.
Нужны страницы по одному свойству и по паре свойств. Создайте два условия: «Бренд» и «Бренд + Цвет».
Как перенести страницы со старого SEO-модуля, не потеряв позиции? Выгрузите из старого модуля список «адрес фильтра → ЧПУ» и загрузите его через Импорт: адреса страниц сохранятся и закрепятся. Запустите сначала с «Только проверить».
Изменил адрес значения в словаре — что со старыми адресами? После генерации условия страницы получат новые адреса, со старых будет 301.
Не нашли ответ — нажмите «Техподдержка» вверху страницы.