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


A landing page answers a query like "red Bosch drills": it has its own URL, title, H1, description and text above and below the products. msCatalyst keeps landing pages in its own tables, so you don't need SeoFilter. Landing pages work on MODX 2 and MODX 3 with mscatalyst_seo_mode set to native. How to turn that mode on is described in SEO.
Demo: chelnysite.ru/belye-krossovki/, English version chelnysite.ru/en/white-sneakers/.
Pick a catalog and a language. A catalog shows up in the list once its page with the msCatalyst call has been opened on the site: the manager page takes the same facets as the page itself.
"Export CSV" and "Import CSV" download and upload the landing pages of a catalog. Delimiter ;, UTF-8, columns key, filters, url, index_mode, active and the text fields. The filters column is for people, the import matches rows by key.
For each field msCatalyst takes the first filled value:
mscatalyst_seo_title_filtered, mscatalyst_seo_h1_filtered, mscatalyst_seo_description settings.{color:plural:lower} {vendor}{?size}, size {size}{/size}: {total} items{pagetitle}, {total}, {page}, {filters}, {query};{color}: selected values of the facet, {color.title}: the facet title;:: gen, dat, acc, ins, pre, about;plural, plural_gen, plural_dat, plural_acc, plural_ins, plural_pre, plural_about;where ("в Москве"), to ("в Москву"), from ("из Москвы"). Rules don't guess them, type the forms on the Word forms tab;lower, upper, ucfirst, title, for example {color:plural:lower};{?size}…{/size} prints the part when the facet is selected, {!size}…{/size} when it is not.When the language is Russian, msCatalyst declines adjectives and plural words by rules. A value in the plural ("Экскаваторы", "Буровые установки") gets plural cases: {parent:gen} prints "экскаваторов", {parent:pre} prints "экскаваторах". The rules guess the plural genitive from the ending, so check it on the Word forms tab. Vendor names skip the noun rules: type the brand forms you need on the Word forms tab. Other languages use the forms from the Word forms tab.
A hand-written form beats the rule. A filled "Nominative" form replaces the value itself: {vendor} prints it instead of the stored value. A missing about falls back to pre, a missing plural_acc to plural. The old syntax in the settings still works.
white-sneakers or shoes/white. The page opens at /catalog/white-sneakers/.mscatalyst_seo_index_max, "Always indexed" opens the page with any number of values, "Always noindex" closes it.mscatalyst_seo_empty setting decides what a page without products answers: noindex, 404 or a normal page.<div data-msc-intro>[[!+mscatalyst.intro]]</div>
[[!msCatalyst? ...]]
<div data-msc-text>[[!+mscatalyst.text]]</div>After an AJAX update the script replaces the content of the data-msc-intro and data-msc-text blocks and hides empty ones. Title, H1 and description go to the same placeholders as without landing pages, see Page placeholders.
[[!msCatalystLandings? &mode=`related` &facets=`vendor, color` &limit=`12` &title=`Popular`]]Place the call after msCatalyst: the snippet reuses its index and selected filters. The parameters are listed in msCatalystLandings. With &catalog the block works on any page of the site, for example in a menu or on the home page.
Links lead to the own URL of a landing page when it has one. Links without products are skipped.
[[!msCatalystSitemap? &catalogs=`*`]]The sitemap lists landing pages with an own URL or the "Always indexed" rule that have products, plus friendly URLs of single values. The parameters are listed in msCatalystSitemap.
msCatalyst imports SeoFilter rules, URLs and the dictionary, see Moving from SeoFilter.