Минимальные требования для работы - SeoFilter 1.7.1 и PHP 7.0
- Безопасное расширение без правки исходников (можно обновляться);
- Поиск работает также в админке во вкладке поиск в компонете mSearch2 (скриншот ниже);
- Результаты перемешиваются по весу, то есть для пользователей поиска никакой разницы между SEO-страницами и обычными;
- Индекс обновляется из админки по кнопке "Обновить индекс" и при создании, редактировании SEO-страниц. Индекс подставляет в переменные все переменные и учитывает это;
- ! Важно ! Названия SEO-страниц должны быть сгенерированы заранее. В правилах это
Шаблон для названия страниц в меню и в хлебных крошках
; - Учитывается настройка
seofilter_hide_empty
- не покажет страницы с 0 результатами (корректно настройте подсчёты); - Можете управлять полями для индексации и их развесовкой:
seo_word
- значение слова из которого состоит ссылка (то, что обычно видно в фильтрах, например, название производителя, района или цвет). Рекомендую наибольший вес ставить сюда;seo_link
- сформированное название SEO-страницы, оно же и отображается в чанках результатов, как pagetitle (чанки результатов менять не нужно, pagetitle привязанной страницы будет доступен в переменной[[+page_title]]
или$page_title
для Fenom);seo_title
,seo_h1
иh2, description, introtext, keywords, text, content
(все с префиксомseo_
) - индивидуальные поля в SEO-странице, индексируются, ли страница использует индивидуальные теги;- такие же поля, но с префиксом
rule_
индексируют SEO-страницу с учётом общего шаблона (рекомендую ставить минимальный вес, так как обычные слова из правил попадут ко всем привязанным SEO-страницам);
- Новое! Учитывется балл за неточный поиск по SEO страницам из настройки
mse2_seo_search_like_match_bonus
- Новое! Можно индексировать страницы только определенных SEO-правила введя их ID через запятую в настройке
mse2_seo_index_rules
(нужно добавить) или исключить правила, указав дефис перед ID
- Скопируйте все файлы в соответствующие директории;
- Создайте копию сниппета
mSearch2
с названиемmSearch2Seo
(название не менять) с содержимым изcore/components/msearch2/elements/snippets/snippet.msearch2seo.php
; - Создайте плагин
SeoUrlToIndex
с содержимым изcore/components/msearch2/elements/plugins/plugin.seourltoindex.php
и отметить события sfOnUrlAdd, sfOnUrlUpdate, sfOnUrlBeforeRemove; - Отредактируйте пункт меню mSearch2 в админке
/manager/?a=system/action
, изменив действиеhome
наseohome
(пространство имёнmsearch2
);
! Важно ! Это нужно будет делать при каждом обновлении mSearch2, что-бы работало в админ-панели; - Создайте системные настройки:
mse2_seo_index_empty
с типом Да/нет со значением1
- разрешить индекс пустых SEO страниц;mse2_seo_index_fields
со значениемseo_word:5,seo_link:3,seo_title:1,seo_h1:1,seo_description:1,rule_title:1,rule_content:1,rule_h1:1
- развесовка полей ссылок и правил, и к SEO-страницам также применяются все остальные настройки из mSearch2, включая баллы за совпадения (порегулируйте веса и прочие настройки);msearch2.action_url
со значением/assets/components/msearch2/action-search.php
- замена коннектора для ajax запросов;mse2_seo_search_like_match_bonus
- с числовым значением1
. По умолчанию возьмётся значение из настройкиmse2_search_like_match_bonus
- балл за неточное совпадение по поиску SEO страниц.
- Запустите обновление индекса в во вкладке индекс в mSearch2 по этому адресу
/manager/?a=seohome&namespace=msearch2
(скриншот ниже); - В вызовах mSearchForm указажите
&element=`mSearch2Seo`
; - И замените вызовы mSearch2 на mSearch2Seo (при pdoPage на
&element=`mSearch2Seo`
). - Для вывода лога работы в вызовах сниппетов можете указать параметры
&showSearchLog=`1` &showLog=`1`