
- MODX 2
- MODX 3
- miniShop2
- miniShop3
- PHP 7.2


msCatalyst не нуждается в SeoFilter. На сайте без SeoFilter ставить его не нужно: посадочные, тексты, склонения, ЧПУ и карту сайта даёт сам msCatalyst, см. Посадочные страницы. SeoFilter для MODX 3 не выпущен (на modstore.pro он помечен как несовместимый с MODX 3), так что на MODX 3 посадочные с текстами есть только у msCatalyst.
Если SeoFilter на сайте уже настроен, перенесите его к msCatalyst. Блок «Перенос из SeoFilter» на вкладке «Посадочные» появится сам, когда msCatalyst найдёт таблицы SeoFilter. msCatalyst читает эти таблицы напрямую, поэтому перенос работает и на MODX 3, и после удаления SeoFilter.
mscatalyst_seo_mode = native). Кнопка «Вернуть SeoFilter» откатывает это действие. Если плагина SeoFilter уже нет, а режим native включён, кнопки не будет.sfLink, sfMenu, sfSitemap, sfWord, sfNearLink и sfNeighbors в шаблонах, чанках и ресурсах и покажет замену. sfLink и sfSitemap заменяются точно, sfMenu примерно (плоским списком). После подтверждения msCatalyst перепишет вызовы и сохранит исходный текст, «Вернуть как было» восстановит его. Вызовы в Fenom-синтаксисе и статических элементах правьте вручную, отчёт их перечислит.seofilter_urls становятся посадочными со своим адресом и правилом «Всегда в индексе»;{$color}, {$color_r}, {$m_color_r} и [[+color]] становятся {color}, {color:gen}, {color:plural_gen};old_url) и адреса в другом регистре или без косой черты в конце отвечают 301 на новый адрес. msCatalyst хранит их в таблице mscatalyst_seo_redirects;h2, keywords и content переносить некуда, отчёт покажет их число.После переноса включается настройка mscatalyst_seofilter_placeholders. На страницах с фильтром msCatalyst заполняет [[+sf.title]], [[+sf.h1]], [[+sf.description]], [[+sf.introtext]], [[+sf.text]], [[+sf.content]], [[+sf.link]], [[+sf.total]] и [[+sf.url]]. Шаблоны, свёрстанные под SeoFilter, работают без правок. Когда перенесёте шаблоны на [[+mscatalyst.*]], настройку можно выключить.
Если SeoFilter пока остаётся на сайте, msCatalyst может работать рядом с ним. Задайте |alias= как в mFilter2 и &seo=seofilter`` или both. В AJAX-ответе есть блок seo: title, h1, description, canonical, aliases. Событие mscatalyst:seo на document нужно для моста с SeoFilter или своей подмены мета-тегов:
document.addEventListener('mscatalyst:seo', function (e) {
console.log(e.detail.seo.title, e.detail.seo.canonical);
});Плейсхолдеры для шаблона выставляет сниппет msCatalystSeoFilter. Мост работает только на MODX 2, где установлен SeoFilter.