Skip to content

sheronov/msearch2seo

Repository files navigation

Поиск mSearch2 по SEO страницам из SeoFilter

Минимальные требования для работы - 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

Пример поиска по SEO страницам с показом результатов


9 простых действий для настройки:

  1. Скопируйте все файлы в соответствующие директории;
  2. Создайте копию сниппета mSearch2 с названием mSearch2Seo (название не менять) с содержимым из core/components/msearch2/elements/snippets/snippet.msearch2seo.php;
  3. Создайте плагин SeoUrlToIndex с содержимым из core/components/msearch2/elements/plugins/plugin.seourltoindex.php и отметить события sfOnUrlAdd, sfOnUrlUpdate, sfOnUrlBeforeRemove;
  4. Отредактируйте пункт меню mSearch2 в админке /manager/?a=system/action, изменив действие home на seohome (пространство имён msearch2);
    ! Важно ! Это нужно будет делать при каждом обновлении mSearch2, что-бы работало в админ-панели;
  5. Создайте системные настройки:
    • 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 страниц.
  6. Запустите обновление индекса в во вкладке индекс в mSearch2 по этому адресу /manager/?a=seohome&namespace=msearch2 (скриншот ниже);
  7. В вызовах mSearchForm указажите &element=`mSearch2Seo`;
  8. И замените вызовы mSearch2 на mSearch2Seo (при pdoPage на &element=`mSearch2Seo`).
  9. Для вывода лога работы в вызовах сниппетов можете указать параметры &showSearchLog=`1` &showLog=`1`

Скриншот изменений для SEO-страниц в админ-панели

About

Поиск из mSearch2 по SEO страницам SeoFilter

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published