Skip to content
mFilter
mFilter
Фасетная фильтрация для MODX 3 с поддержкой SEO URL
  • MODX 3
  • PHP 8.1
  • Vue 3
  1. Компоненты
  2. mFilter
  3. Интерфейс админки
  4. Индивидуальные SEO

Индивидуальные SEO ​

Вкладка задаёт title, H1, description и текст для конкретной подборки — например, для страницы одного цвета, а не для всех значений фильтра «Цвет».

SEO-шаблоны дают заголовки всем подборкам по одному правилу. Индивидуальная запись нужна, когда под страницу пишут текст руками и шаблонная формулировка её портит.

Список подборок ​

Список строится из фильтров страницы каталога при каждом открытии вкладки. Заранее записи не создаются: строка попадает в базу при первом сохранении.

Сначала выберите страницу каталога. В выпадающем списке только страницы, покрытые набором фильтров, — на остальных подборок нет. Рядом с названием показано, сколько записей уже заполнено.

ФильтрНазначение
СвойствоПоказать подборки по одному фильтру — «Цвет», «Материал»
Все / Заполненные / Пустые / Без комбинацииЗаполненные — найти уже написанное. Без комбинации — записи, чьего значения сейчас нет в списке, см. Комбинация исчезла
Поиск по значениюИщет по значению и по заполненному H1. Запускается клавишей Enter

Счётчик «Заполнено: N из M» над таблицей считает всю страницу каталога без учёта фильтров списка.

Какие подборки есть в списке ​

Подборки по одному значению одного фильтра — под такие страницы и пишут тексты. В списке нет:

  • диапазонов (цена, площадь) — адресов между границами бесконечно много;
  • сочетаний нескольких значений (цвет=красный,синий) и нескольких фильтров.

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

Редактор ​

Четыре поля: H1, Title, Description, Текст. В H1 и Title пишите только текст: после фильтрации скрипт вставляет H1 как текст, и теги станут видны на странице. HTML допустим в поле «Текст».

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

Флажок Активна отключает запись, не стирая текст. Выключенная запись не действует на сайте, в том числе не снимает noindex, но в списке считается заполненной.

Удалить запись можно кнопкой с корзиной в списке или очисткой всех полей — кнопка сохранения тогда называется «Удалить запись».

Поля поддерживают те же плейсхолдеры, что и SEO-шаблоны, включая падежи через словоформы:

{$pagetitle} — название страницы
{$color}, {$color.gen} — значение фильтра и его падежи
{$site_name} — название сайта

Индексация ​

Где запись снимает noindex, там и canonical снова указывает на саму отфильтрованную страницу, а не на раздел без фильтров:

НастройкаЧто закрываетЗапись снимает noindex
mfilter.seo_max_filtersСтраницу, где активных фильтров больше, чем заданоДа — у записей для сочетаний нескольких значений. Подборку по одному значению настройка и так не закрывает
mfilter.seo_max_valuesСтраницу, где у одного фильтра значений больше, чем заданоТо же
mfilter.seo_noindex_filteredВсе отфильтрованные страницы сайтаНет

Вывод на сайт ​

Значения приходят в те же плейсхолдеры mfilter.seo.*, что и у SEO-шаблонов. Пример вывода H1 и текста — в Плейсхолдерах.

Без маркеров текст не обновится при фильтрации

Атрибуты data-mfilter-h1 и data-mfilter-seo-text (или класс mfilter-h1 на самом <h1> и класс mfilter-seo-text) обязательны: по ним JS находит элементы при AJAX-фильтрации. Без них значения обновятся только после перезагрузки страницы.

Привязка к значению, а не к URL ​

Запись связана со значением фильтра, а не с адресом страницы. Адрес меняется, а запись продолжает работать, если:

  • переименовали слаг во вкладке Алиасы;
  • сменили настройку mfilter.url_separator;
  • сменили режим mfilter.slug_parent_prefix.

Порядок значений не важен: цвет=красный,синий и цвет=синий,красный — одна подборка и одна запись.

Комбинация исчезла ​

Если значения нет среди текущих подборок, запись помечается «значения нет в списке» и приглушается. Причины:

  • значение убрали из каталога или переименовали;
  • у значения нет опубликованных товаров в разделе;
  • сам фильтр убрали из набора — тогда помечаются все его записи.

Запись при этом продолжает работать: если комбинация вернётся, текст выведется. Автоматически такие записи не удаляются.

Записи с меткой «несколько значений» сюда не относятся: их подборки просто не перечисляются в списке.

Приоритет ​

При отрисовке страницы значения складываются в таком порядке:

  1. Индивидуальная запись — если она есть и активна, её заполненные поля побеждают.
  2. SEO-шаблон — подобранный по ключам фильтров, см. Как подбирается SEO-шаблон.
  3. Значения по умолчанию — если SEO-шаблон не подобран, см. Если SEO-шаблон не подобран. У SEO-текста значения по умолчанию нет.

Пустое поле подобранного SEO-шаблона выводится пустым — значение по умолчанию его не заменяет.

Каждое из четырёх полей выбирается отдельно: