Черная пятница в магазине Webasyst! Скидки 42% (в т.ч. на все наши разработки). Не знаете что купить? Смотреть подборку лучших плагинов

Документация к плагину "SEO шаблоны"

Настройки плагина (точь-в-точь как в админке)

Настройки плагина представлены исключительно для демонстрации. Протестировать работу плагина можно только после покупки. Предупреждаем, что отображение настроек плагина плохо адаптировано под мобильные устройства (также как и на странице настроек плагина в админке). Возможно, это будет доработано в будущем.

  • Общие настройки
  • Страница главная
  • Страницы листингов
  • Страницы товаров
  • Страницы брендов
  • Страница с брендами
  • Инфостраницы
  • Страницы отзывов о товарах
  • Страницы отзывов о листингах

Общие настройки

Сгенерировать документацию
Инструкция по настройке плагина
Шаг 1. В плагине "SEO-оптимизация" создать дополнительные поля для категорий:
  1. Создать новые поля
    • 1) • SEO Name указано в ед. числе? ("фыв" - да *пусто* - нет) (Поле N20)
    • 2) • ед.ч. в м. р.? ("фыв" - да *пусто* - нет) (Поле N21)
    • 3) • ед.ч. в ж. р.? ("фыв" - да *пусто* - нет) (Поле N22)
    • 4) • ед.ч. в ср.р.? ("фыв" - да *пусто* - нет) (Поле N23)
    • 5) SEO Name в ед.ч. имен.п. (ЧТО?) (Поле N24)
    • 6) SEO Name во мн.ч. род.п. (покупка ЧЕГО?) (Поле N25)
    • 7) SEO Name в ед.ч. род.п. (покупка ЧЕГО?) (Поле N26)
    • 8) SEO Name во мн.ч. вин.п. (купить ЧТО?) (Поле N27)
    • 9) SEO Name в ед.ч. вин.п. (купить ЧТО?) (Поле N28)
    • 10) SEO Name во мн.ч. предл.п. (отзывы о ЧЁМ?) (Поле N29)
    • 11) SEO Name во ед.ч. предл.п. (отзывы о ЧЁМ?) (Поле N30)
    • 12) — (резерв) (Поле N31)
    • 13) — (резерв) (Поле N32)
    • 14) — (резерв) (Поле N33)
    • 15) — (резерв) (Поле N34)
    • 16) — (резерв) (Поле N35)
    • 17) — (резерв) (Поле N36)
    • 18) — (резерв) (Поле N37)
    • 19) — (резерв) (Поле N38)
    • 20) — (резерв) (Поле N39)
    • 21) Название категории для отображения в меню (Поле N40)
  2. Удалить ненужные дополнительные поля для категорий (те которые были созданы на прошлом этапе с 1 по 19).
Шаг 2. С помощью плагина "SEO-оптимизация" заполнить переменные для всех категорий:

Для каждой категории на сайте заполнить значение "SEO-наименование" и значения у вышеупомнянутых дополнительных параметров (через раздел "Импорт-экспорт" --> "SEO-оптимизация").

  • — "SEO-наименование" - то как по Wardstat-у данную категорию товаров чаще всего ищут. В приоритете: множественное число. Все буквы - в нижнем регистре Первая буква - тоже в нижнем регистре!, за исключением тех случаев когда это необходимо (название бренда или аббревеатура).
  • 1) написать "фыв", если SEO-наименование указано в ед. ч.
  • 2-4) Указать "фыв" в соответствующем столбике, обозначив род значения, указанного в "SEO-наименовании".
  • 5-11) Просклонять SEO Name в нужном роде и числе, если такая форма существует. Если формы ед. ч. или мн.ч. не существует (пример: "Посуда" или "Ножницы"), то оставить поле пустым.
  • 12-20) не трогать.
  • 21) просто скопировать сюда SEO-name.

ВАЖНО! Заполнять сразу и всё! Никаких "заполню часть сейчас, остальное потом!".

Шаг 3. В плагине "SEO-фильтр" создать дополнительные поля для фильтров:
  1. Создать новые поля
    • 1) • Использовать склонение «SEO Name»? (Поле N20)
    • 2) ед.ч. мж.р. им.п. (КАКОЙ товар) (Поле N21)
    • 3) ед.ч. жн.р. им.п. (КАКАЯ штука) (Поле N22)
    • 4) ед.ч. ср.р. им.п. (КАКОЕ изделие) (Поле N23)
    • 5) мн.ч. род.п. (покупка КАКИХ товаров) (Поле N24)
    • 6) ед.ч. мж.р. род.п. (покупка КАКОГО товара) (Поле N25)
    • 7) ед.ч. жн.р. род.п. (покупка КАКОЙ штуки) (Поле N26)
    • 8) ед.ч. жн.р. вин.п. (купить КАКУЮ штуку) (Поле N27)
    • 9) ед.ч. мж.р. предл.п. (отзывы о КАКОМ товаре) (Поле N28)
    • 10) ед.ч. жн.р. предл.п. (отзывы о КАКОЙ штуке) (Поле N29)
    • 11) мн.ч. предл.п. (отзывы о КАКИХ товарах) (Поле N30)
    • 12) — (резерв) (Поле N31)
    • 13) — (резерв) (Поле N32)
    • 14) — (резерв) (Поле N33)
    • 15) — (резерв) (Поле N34)
    • 16) — (резерв) (Поле N35)
    • 17) — (резерв) (Поле N36)
    • 18) — (резерв) (Поле N37)
    • 19) — (резерв) (Поле N38)
    • 20) — (резерв) (Поле N39)
    • 21) • Порядковый № пробела для разделения * делает связку "ХАР₁ + КАТ + ХАР₂" → "фыв": для переноса всех слов → "1": для переноса влево одного слова → "2": для переноса влево двух слов → "X": для переноса влево X слов (Поле N40)
    • 22) • Alt SEO Name (которое не нужно склонять) (Поле N41)
  2. Удалить ненужные дополнительные поля для фильтров (те которые были созданы на прошлом этапе с 1 по 19). Если какие-либо поля были созданы не вами - проконсультироваться с ответственным за проект.
Шаг 4. В плагине "SEO-фильтр" заполнить переменные для всех фильтров:

Для каждого фильтра, значение которого может склоняться, необходимо заполнить значения вышеупомнянутых дополнительных параметров (через раздел "Импорт-экспорт" --> "SEO-фильтр").

  • — "SEO-наименование" - должно быть во мн.ч., ед. ч. в нижнем регистре Первая буква - тоже в нижнем регистре!, за исключением тех случаев когда это необходимо (название бренда или аббревеатура).
  • 1) Указать "фыв" в соответствующем столбике, если "SEO-наименование" имеет форму ед.ч. и для него будут прописаны соответствующие значения.
  • 2-10) Просклонять "SEO-наименование фильтра" в нужном роде и числе.
  • 11-20) не трогать.
  • 21) указать порядкой номер слов для переноса/разбиения слов. Обратиться за консультацией к ответственному за проект при выполнении данного пункта.
  • 22) по необходимости, для некоторых фильтров прописать альтернативное название. Обратиться за консультацией к ответственному за проект при выполнении данного пункта.

ВАЖНО! Заполнять сразу и всё! Никаких "заполню часть сейчас, остальное потом!".

Шаг 5. Настроить глобальный блок:

Выполняется строго ответственным за проект.

Шаг 6. Настроить шаблоны мета-тегов и описаний:

Выполняется строго ответственным за проект.

Шаг 7. Проставить обращения к методам плагина "SEO-шаблоны" в шаблонах плагина SEO-оптимизация: В плагине "SEO-опитимизация" настроить общие шаблоны для всех витрин:
  • Главная страница. Title: {shopAaaseotemplatesPlugin::getHomepageTitle()}
  • Главная страница. META Description: {shopAaaseotemplatesPlugin::getHomepageDescription()}
  • Главная страница. META Keywords: {shopAaaseotemplatesPlugin::getHomepageKeywords()}
  • Главная страница. Описание: {shopAaaseotemplatesPlugin::getHomepageText0()}
  • Страницы категорий. Title: {shopAaaseotemplatesPlugin::getListTitle($category)}
  • Страницы категорий. Заголовок H1: {shopAaaseotemplatesPlugin::getListH1($category)}
  • Страницы категорий. META Description: {shopAaaseotemplatesPlugin::getListDescription($category)}
  • Страницы категорий. META Keywords: {shopAaaseotemplatesPlugin::getListKeywords($category)}
  • Страницы категорий. Описание: {shopAaaseotemplatesPlugin::getListText0($category)}
  • Страницы категорий. Дополнительное описание: {shopAaaseotemplatesPlugin::getListText1($category)}
  • Страницы товаров. Title: {shopAaaseotemplatesPlugin::getProductTitle($product, $category)}
  • Страницы товаров. Заголовок H1: {shopAaaseotemplatesPlugin::getProductH1($product, $category)}
  • Страницы товаров. META Description: {shopAaaseotemplatesPlugin::getProductDescription($product, $category)}
  • Страницы товаров. META Keywords: {shopAaaseotemplatesPlugin::getProductKeywords($product, $category)}
  • Страницы товаров. Описание: {shopAaaseotemplatesPlugin::getProductText0($product, $category)}
  • Страницы товаров. Дополнительное описание: {shopAaaseotemplatesPlugin::getProductText1($product, $category)}
  • Страницы отзывов о товаре. Title: {shopAaaseotemplatesPlugin::getProductreviewsTitle($product, $category)}
  • Страницы отзывов о товаре. META Description: {shopAaaseotemplatesPlugin::getProductreviewsDescription($product, $category)}
  • Страницы отзывов о товаре. META Keywords: {shopAaaseotemplatesPlugin::getProductreviewsKeywords($product, $category)}
  • Статические страницы. Title: {shopAaaseotemplatesPlugin::getInfopageTitle()}
  • Статические страницы. META Description: {shopAaaseotemplatesPlugin::getInfopageDescription()}
  • Статические страницы. META Keywords: {shopAaaseotemplatesPlugin::getInfopageKeywords()}
  • Страницы тегов: Выключить шаблон.
Шаг 8. Проставить обращения к методам плагина "SEO-шаблоны" в шаблонах плагина SEO-фильтр: В плагине "SEO-фильтр" настроить общие шаблоны для всех витрин:
  • Title: {shopAaaseotemplatesPlugin::getListTitle($category,$filter,$seo_name)}
  • H1 заголовок: {shopAaaseotemplatesPlugin::getListH1($category,$filter,$seo_name)}
  • META Description: {shopAaaseotemplatesPlugin::getListDescription($category,$filter,$seo_name)}
  • META Keywords: {shopAaaseotemplatesPlugin::getListKeywords($category,$filter,$seo_name)}
  • Описание: {shopAaaseotemplatesPlugin::getListText0($category,$filter,$seo_name)}
  • Дополнительное описание: {shopAaaseotemplatesPlugin::getListText1($category,$filter,$seo_name)}
Шаг 9. Проставить обращения к методам плагина "SEO-шаблоны" в шаблонах плагина Бренды PRO:

В плагине "Бренды PRO" настроить общие шаблоны для всех витрин:

  • Страница списка брендов. Заголовок H1: {shopAaaseotemplatesPlugin::getBrandspageH1()}
  • Страница списка брендов. Title: {shopAaaseotemplatesPlugin::getBrandspageTitle()}
  • Страница списка брендов. META Description: {shopAaaseotemplatesPlugin::getBrandspageDescription()}
  • Страница списка брендов. META Keywords: {shopAaaseotemplatesPlugin::getBrandspageKeywords()}
  • Страница списка брендов. Описание: {shopAaaseotemplatesPlugin::getBrandspageText0()}
  • Страница списка брендов. Дополнительное описание: {shopAaaseotemplatesPlugin::getBrandspageText1()}
  • Страницы брендов. Заголовок H1: {shopAaaseotemplatesPlugin::getBrandH1($brand)}
  • Страницы брендов. Title: {shopAaaseotemplatesPlugin::getBrandTitle($brand)}
  • Страницы брендов. META Description: {shopAaaseotemplatesPlugin::getBrandDescription($brand)}
  • Страницы брендов. META Keywords: {shopAaaseotemplatesPlugin::getBrandKeywords($brand)}
  • Страницы брендов. Описание: {shopAaaseotemplatesPlugin::getBrandText0($brand)}
  • Страницы брендов. Дополнительное описание: {shopAaaseotemplatesPlugin::getBrandText1($brand)}
Шаг 10. Проставить обращения к методам плагина "SEO-шаблоны" в шаблонах плагина Каталог отзывов:

В плагине "Каталог отзывов" настроить общие шаблоны для всех витрин:

  • Общий (...) описания. Title: {shopAaaseotemplatesPlugin::getListreviewsTitle($category)}
  • Общий (...) описания. H1: {shopAaaseotemplatesPlugin::getListreviewsH1($category)}
  • Общий (...) описания. META Description: {shopAaaseotemplatesPlugin::getListreviewsDescription($category)}
  • Общий (...) описания. META Keywords: {shopAaaseotemplatesPlugin::getListreviewsKeywords($category)}
  • Общий (...) описания. Описание: {shopAaaseotemplatesPlugin::getListreviewsText0($category)}
  • (...) страниц плагина SEO-Фильтр. Title: {shopAaaseotemplatesPlugin::getListreviewsTitle($category, $filter, $seo_name)}
  • (...) страниц плагина SEO-Фильтр. H1: {shopAaaseotemplatesPlugin::getListreviewsH1($category, $filter, $seo_name)}
  • (...) страниц плагина SEO-Фильтр. META Description: {shopAaaseotemplatesPlugin::getListreviewsDescription($category, $filter, $seo_name)}
  • (...) страниц плагина SEO-Фильтр. META Keywords: {shopAaaseotemplatesPlugin::getListreviewsKeywords($category, $filter, $seo_name)}
  • (...) страниц плагина SEO-Фильтр. Описание: {shopAaaseotemplatesPlugin::getListreviewsText0($category, $filter, $seo_name)}
Переменные в шаблонах плагина
Специальные переменные
  • Переменная $sex[0] ("Sex" — "пол") - пол листинга во мн.ч.
    • $sex[0] возвращает 0, если название листинга имеет форму мн.ч. и возвращает именно форму мн.ч. (Например, для категории "Ножницы" $sex[0] = 0)
    • $sex[0] возвращает 1, если название листинга не имеет форму мн.ч., и возвращает форму м.р. (Например, для категории "Сахар" $sex[0] = 1)
    • $sex[0] возвращает 2, если название листинга не имеет форму мн.ч., и возвращает форму ж.р. (Например, для категории "Посуда" $sex[0] = 2)
    • $sex[0] возвращает 3, если название листинга не имеет форму мн.ч., и возвращает форму ж.р. (Например, для категории "Молоко" $sex[0] = 3)
  • Переменная $sex[1] ("Sex" — "пол") - пол листинга в ед.ч.
    • $sex[1] возвращает 0, если название листинга не имеет форму ед.ч. и возвращает форму мн.ч. (Например, для категории "Ножницы" $sex[1] = 0)
    • $sex[1] возвращает 1, если название листинга имеет форму ед.ч., и возвращает именно форму м.р. (Например, для категории "Сахар" $sex[1] = 1)
    • $sex[1] возвращает 2, если название листинга имеет форму ед.ч., и возвращает именно форму ж.р. (Например, для категории "Посуда" $sex[1] = 2)
    • $sex[1] возвращает 3, если название листинга имеет форму ед.ч., и возвращает именно форму ж.р. (Например, для категории "Молоко" $sex[1] = 3)
  • Переменная $sp ("Same Prices" — "одинаковые цены") - отсутствие диапазона цен в листинге.
    • $sp возвращает 0, если переменная $price имеет диапазон цен "от X до Y" (Например, в категории где есть хотя бы 2 товара с разными ценами, $sp = 0)
    • $sp возвращает 1, если переменная $price не имеет диапазон цен "от X до Y" (Например, в категории у всех товаров одна и та же цена, $sp = 1)
  • Переменная $sum ("Sum" - "сумма/итог") - "код" кол-ва товаров в листинге, полученный формулой с получением остатка от деления переменной $count
    • $sum возвращает 0, если кол-во товаров в листинге = 5|6|7|8|9|10|12|13|14|15|16|17|18|19|20|25|26|...итд. (Используется для вывода "{$count} товаров")
    • $sum возвращает 1, если кол-во товаров в листинге = 1|21|31|41|51|61|71|81|91|101|121|...итд. (Используется для вывода "{$count} товар")
    • $sum возвращает 2, если кол-во товаров в листинге = 2|3|4|22|23|24|32|33|34|42|43|44|...итд. (Используется для вывода "{$count} товара")
  • Переменная $site_type ("Site Type" — "тип сайта") — тип витрины сайта
    • $site_type возвращает 0, если витрина розничная
    • $site_type возвращает 1, если витрина оптовая
    • $site_type возвращает 3, если витрина другая
  • Переменная $hasAllVariables ("Has All Variables" — "имеет все переменные") - заполненность дополнительных полей в настройках категории
    • $hasAllVariables возвращает 0, если в настройках категории не заполнены дополнительные поля (в частности, форма категории в р.п. и в.п.)
    • $hasAllVariables возвращает 1, если в настройках категории заполнены дополнительные поля
Кастомные переменные
  • {$word_sum_tovarov[$sum]} — пример пользовательской переменной для слова "товаров/товар/товара", меняющего форму в зависимости от $sum
    • Пример шаблона: "В нашем каталоге {$word_sum_tovarov[$sum]} {$name_acc[0]}.")
    • Результат для категории с $sum = 101: "В нашем каталоге 101 товар."
    • Результат для категории с $sum = 122: "В нашем каталоге 122 товара."
    • Результат для категории с $sum = 200: "В нашем каталоге 200 товаров."
  • {$word_sex_krasivye[$sex[0]]} — пример пользоват. переменной для слова "красивые/красивый/красивую/красивое", меняющего форму в зависимости от $sex[0]
    • Пример шаблона: "В нашем каталоге вы найдете {$word_sex_krasivye[$sex[0]]} {$name_acc[0]}."
    • Результат для категории с $sex[0] = 0: "В нашем каталоге вы найдете красивые кроссовки."
    • Результат для категории с $sex[0] = 2: "В нашем каталоге вы найдете красивую обувь."
  • {$word_sex_nedorogie[$sex[1]]} — пример польз. переменной для слова "недорогие/недорогой/недорогая/недорогое", меняющего форму в зависимости от $sex[1]
    • Пример шаблона: "{$word_sex_nedorogie[$sex[1]]} {$name_nom[1]} можно подобрать с помощью фильтра по цене."
    • Результат для категории с $sex[1] = 0: "Недорогие ножницы можно подобрать с помощью фильтра по цене."
    • Результат для категории с $sex[1] = 1: "Недорогой молоток можно подобрать с помощью фильтра по цене."
  • {$word_sp_nizkim_cenam[$sp]} — пример пользовательской переменной для фразы "низким ценам/низкой цене", меняющего форму в зависимости от $sp
    • Пример шаблона: "{$up_name} можно купить по {$word_sp_nizkim_cenam[$sp]}: {$price}."
    • Результат для категории с $sp = 0: "Кроссовки можно купить по низким ценам: от 1000 до 5231 рубля."
    • Результат для категории с $sp = 1: "Кроссовки можно купить по низкой цене: 5231 рубль."

Чтобы выше перечисленные пользовательские переменные корректно работали, необходимо их объявить перед использованием в шаблоне:

  • {$word_sum_tovarov[0] = 'товаров'}
  • {$word_sum_tovarov[1] = 'товар'}
  • {$word_sum_tovarov[2] = 'товара'}
  • {$word_sex_krasivye[0] = 'красивые'}
  • {$word_sex_krasivye[1] = 'красивый'}
  • {$word_sex_krasivye[2] = 'красивую'}
  • {$word_sex_krasivye[3] = 'красивое'}
  • {$word_sex_nedorogie[0] = 'недорогие'}
  • {$word_sex_nedorogie[1] = 'недорогой'}
  • {$word_sex_nedorogie[2] = 'недорогая'}
  • {$word_sex_nedorogie[3] = 'недорогое'}
  • {$word_sp_nizkim_cenam[0] = 'по низким ценам'}
  • {$word_sp_nizkim_cenam[1] = 'по низкой цене'}
Названия листингов
  • {$name} — дефолтное название листинга. может быть как в им.п., так и во мн.ч. (Например, "чешские кастрюли" или "чешская обувь")
  • {$name_nom[0]} — название листинга в им. п. во мн. ч. (или в ед.ч.) в формате "чешские кастрюли"
  • {$name_nom[1]} — название листинга в им. п. в ед. ч. (или во мн.ч.) в формате "чешская кастрюля"
  • {$name_gen[0]} — название листинга в род. п. во мн. ч. (или в ед.ч.) в формате "чешских кастрюлей"
  • {$name_gen[1]} — название листинга в род. п. в ед. ч. (или во мн.ч.) в формате "чешской кастрюли"
  • {$name_acc[0]} — название листинга в вин. п. во мн. ч. (или в ед.ч.) в формате "чешские кастрюли"
  • {$name_acc[1]} — название листинга в вин. п. в ед. ч. (или во мн.ч.) в формате "чешскую кастрюлю"
  • {$name_pre[0]} — название листинга в предл. п. во мн. ч. (или в ед.ч.) в формате "чешских кастрюлях"
  • {$name_pre[1]} — название листинга в предл. п. в ед. ч. (или во мн.ч.) в формате "чешской кастрюле"
  • {$o} — предлог "о" или "об", в зависимости от первой буквы названия листинга в предл. п.
  • {$alt_name_nom[0]} — альтернативное название листинга в им. п. во мн. ч. (или в ед.ч.) в формате "кастрюли из Чехии"
  • {$alt_name_nom[1]} — альтернативное название листинга в им. п. в ед. ч. (или во мн.ч.) в формате "кастрюля из Чехии"
  • {$alt_name_gen[0]} — альтернативное название листинга в род. п. во мн. ч. (или в ед.ч.) в формате "кастрюлей из Чехии"
  • {$alt_name_gen[1]} — альтернативное название листинга в род. п. в ед. ч. (или во мн.ч.) в формате "кастрюли из Чехии"
  • {$alt_name_acc[0]} — альтернативное название листинга в вин. п. во мн. ч. (или в ед.ч.) в формате "кастрюли из Чехии"
  • {$alt_name_acc[1]} — альтернативное название листинга в вин. п. в ед. ч. (или во мн.ч.) в формате "кастрюлю из Чехии"
  • {$alt_name_pre[0]} — альтернативное название листинга в предл. п. во мн. ч. (или в ед.ч.) в формате "кастрюлях из Чехии"
  • {$alt_name_pre[1]} — альтернативное название листинга в предл. п. в ед. ч. (или во мн.ч.) в формате "кастрюле из Чехии"
  • {$alt_o} — предлог "о" или "об", в зависимости от первой буквы альтернативного названия листинга в предл. п.

Все названия листингов также могут начинаться с большой буквы:

  • {$up_name}
  • {$up_name_nom[0]}
  • {$up_name_nom[1]}
  • {$up_name_gen[0]}
  • {$up_name_gen[1]}
  • {$up_name_acc[0]}
  • {$up_name_acc[1]}
  • {$up_name_pre[0]}
  • {$up_name_pre[1]}
  • {$up_o}
  • {$up_alt_name_nom[0]}
  • {$up_alt_name_nom[1]}
  • {$up_alt_name_gen[0]}
  • {$up_alt_name_gen[1]}
  • {$up_alt_name_acc[0]}
  • {$up_alt_name_acc[1]}
  • {$up_alt_name_pre[0]}
  • {$up_alt_name_pre[1]}
  • {$up_alt_o}
Количественные переменные в листингах
  • {$count} — кол-во товаров в листинге в формате "123"
  • {$price_min} — минимальная цена в листинге в формате "X рубл(ей/ь/я)"
  • {$price_max} — минимальная цена в листинге в формате "X рубл(ей/ь/я)"
  • {$price} — диапазон цен в листинге от минимальной до максимальной в формате "от X до Y рубл(ей/я)"
Региональные переменные
  • {$count_total} — общее количество товаров во всех листингах на витрине
  • {$city_nom} — название города в им. п. в формате "Город"
  • {$city_gen} — название города в род. п. падеже в формате "Города"
  • {$city_acc} — название города в вин. п. в формате "в Город"
  • {$city_pre} — название города в предл. п. в формате "в Городе"
  • {$deltime_min} — минимальный срок доставки в город в формате "от X дней"
  • {$deltime_max} — максимальный срок доставки в город в формате "до X дней"
  • {$deltime} — диапазон сроков доставки в город от минимального до максимального в формате "от X до Y дней"
  • {$tel_reg} — региональный номер тел. в формате "+7 (495) 123-45-67"
  • {$tel_gen} — общий номер тел. в формате "8 (800) 123-45-67"
  • {$tel} — приоритетный номер тел. Если есть региональный номер тел. - возвращает его. Иначе - общий
  • {$tel_reg_html} — региональный номер тел. в формате "+7 (495) 123-45-67"
  • {$tel_gen_html} — общий номер тел. в формате "+7 (495) 123-45-67"
  • {$tel_html} — приоритетный номер тел (ссылкой). Если есть региональный номер тел. - возвращает его. Иначе - общий
  • {$email_reg} — региональный адрес эл. почты в формате "msk@site.ru"
  • {$email_gen} — общий адрес эл. почты в формате "zakaz@site.ru"
  • {$email} — приоритетный адрес эл. почты. Если есть региональный адрес эл. почты, то возвращает его. Иначе - общий
  • {$email_reg_html)} — региональный адрес эл. почты в формате "msk@site.ru"
  • {$email_gen_html)} — общий адрес эл. почты в формате "msk@site.ru"
  • {$email_html} — приоритетный адрес эл. почты (ссылкой). Если есть региональный номер тел. - возвращает его. Иначе - общий
  • {$address_fake} — адрес фейкового представительства в городе в формате "ул. Уличная, 20"
  • {$address_rela} — адрес реального представительства в городе в формате "ул. Уличная, 20"
  • {$address} — приоритетный адрес представительства в городе. Если есть региональный адрес реальный, то возвращает его. Иначе - фейковый
  • {$office_fake} — офис фейкового представительства в городе в формате "офис 999"
  • {$office_real} — офис реального представительства в городе в формате "офис 999"
  • {$office} — приоритетный офис представительства в городе. Если есть региональный офис реальный, то возвращает его. Иначе - фейковый
  • {$worktime_fake} — режим работы фейкового представительства в городе в формате "пн-пт: 08:00 - 17:00
    сб-вс: выходные"
  • {$worktime_real} — режим работы реального представительства в городе в формате "пн-пт: 08:00 - 17:00
    сб-вс: выходные"
  • {$worktime} - приоритетный режим работы представительства в городе. Если есть реальный офис , возвращает его режим работы. Иначе - фейковый
  • {$map_fake} — карта фейковая
  • {$map_real} — карта реальная
  • {$map} — приоритетная карта
  • {$company} — название компании
Пример верстки текстового контента на страницах категорий
{* global variables *} {$did_globals = $wa->globals('did_globals')} {if !$did_globals} {$_ = $wa->block("globals")} {/if} {$storefrontpath = $wa->globals('storefrontpath')} {$delfree = $wa->globals('delfree')} {* кастомные переменные *} {$word_sex_nedorogie[0] = 'недорогие'} {$word_sex_nedorogie[1] = 'недорогой'} {$word_sex_nedorogie[2] = 'недорогая'} {$word_sex_nedorogie[3] = 'недорогое'} {$word_sex_Dorogie[0] = 'Дорогие'} {$word_sex_Dorogie[1] = 'Дорогой'} {$word_sex_Dorogie[2] = 'Дорогая'} {$word_sex_Dorogie[3] = 'Дорогое'} {* /конец кастомные переменные *} {* блок с текстовой генережкой без столбцов *} {if $site_type == 1} <div class="aaaseotemplates_description"> <h2 class="aaaseotemplates_description__title">{$up_name} {if $sp}по низкой цене{else}по низким ценам{/if}</h2> <div class="aaaseotemplates_description__text"> <p>Текст текст текст текст текст текст текст текст текст.</p> <p>Текст текст текст текст текст текст текст текст текст.</p> </div> </div> {/if} {* /конец блок с текстовой генережкой без столбцов *} {* блок с текстовой генережкой в 3 столбца *} {if $site_type == 2 || $site_type == 0} <div class="aaaseotemplates_description"> {* 1-й столбец *} <div class="aaaseotemplates_description__col"> <h2 class="aaaseotemplates_description__title">Заголовок 1-го столбца</h2> <div class="aaaseotemplates_description__text"> <p>Текст текст текст текст текст текст текст текст текст.</p> <p>Текст текст текст текст текст текст текст текст текст.</p> </div> </div> {* /конец 1-й столбец *} {* 2-й столбец *} <div class="aaaseotemplates_description__col"> <h2 class="aaaseotemplates_description__title">Заголовок 2-го столбца</h2> <div class="aaaseotemplates_description__text"> <p>Текст текст текст текст текст текст текст текст текст.</p> <p>Текст текст текст текст текст текст текст текст текст.</p> </div> </div> {* /конец 2-й столбец *} {* 3-й столбец *} <div class="aaaseotemplates_description__col"> <h2 class="aaaseotemplates_description__title">{if $delfree}Бесплатная доставка {$city_gen}{else}Гибкая система скидок и бонусов{/if}</h2> <div class="aaaseotemplates_description__text"> {if $delfree} <p>Бесплатная доставка, подробнее <a href="/sistema-skidok/" rel="nofollow">здесь</a>. Текст текст текст текст текст текст текст текст текст.</p> {else} <p>Текст текст текст текст текст текст текст текст текст. Текст текст текст текст текст текст текст текст текст. Текст текст текст текст текст текст текст текст текст.</p> {/if} </div> </div> {* /конец 3-й столбец *} </div> {/if} {* /конец блок с текстовой генережкой в 3 столбца *} {* блок вопрос-ответ *} <div class="aaaseotemplates_faq" itemscope="" itemtype="https://schema.org/FAQPage"> {* заголовок блока вопрос-ответ *} <h2 class="aaaseotemplates_faq__title">Часто задаваемые вопросы про {$name_acc[0]}</h2> {* /конец заголовок блока вопрос-ответ *} {* 1-й вопрос-ответ *} <details class="aaaseotemplates_faq__item" itemscope="" itemprop="mainEntity" itemtype="https://schema.org/Question"> <summary> <h3 class="aaaseotemplates_faq__item-question" itemprop="name"> Сколько стоят самые дешевые {$name_nom[0]}? </h3> </summary> <div class="aaaseotemplates_faq__item-answer" itemscope="" itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"> <div itemprop="text"> Цены на {$word_sex_nedorogie[$sex[0]]} {$name_acc[0]} в каталоге начинаются {$price_min}. </div> </div> </details> {* /конец 1-й вопрос-ответ *} {* 2-й вопрос-ответ *} <details class="aaaseotemplates_faq__item" itemscope="" itemprop="mainEntity" itemtype="https://schema.org/Question"> <summary> {if $delfree} <h3 class="aaaseotemplates_faq__item-question" itemprop="name"> Есть ли бесплатная доставка {$name_gen[0]} {$city_acc}? </h3> {else} <h3 class="aaaseotemplates_faq__item-question" itemprop="name"> Сколько стоят самые дорогие {$name_nom[0]}? </h3> {/if} </summary> <div class="aaaseotemplates_faq__item-answer" itemscope="" itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"> <div itemprop="text"> {if $delfree} При заказе на сумму от {$delfree} рублей доставка {$city_gen} бесплатная. {else} {$word_sex_Dorogie[$sex[0]]} {$name_nom[0]} можно купить за {$price_max|replace:'до ':''}. {/if} </div> </div> </details> {* /конец 2-й вопрос-ответ *} </div> {* /конец блок вопрос-ответ *} {* стили для блока с генережкой в 3 столбца *} <style> .aaaseotemplates_description { display: inline-block; font-size: 14px; } .aaaseotemplates_description__col { display: inline-block; box-sizing: border-box; } .aaaseotemplates_description__col:not(:last-child) { margin-bottom: 30px; } .aaaseotemplates_description__title { font-weight: 600; font-size: 16px !important; line-height: 18px !important; margin-bottom: 10px; } .aaaseotemplates_description__text a { text-decoration: underline; font-weight: 600; } .aaaseotemplates_description__text a:hover { text-decoration: none; } .aaaseotemplates_description__text p:last-child { margin-bottom: 0; } @media (min-width: 800px) { .aaaseotemplates_description__col:not(:nth-child(3n)) { border-right: 1px solid #e6e7e7; } .aaaseotemplates_description__col:nth-child(3n-2) { padding-right: 20px; } .aaaseotemplates_description__col:nth-child(3n-1) { padding-left: 20px; padding-right: 20px; } .aaaseotemplates_description__col:nth-child(3n) { padding-left: 20px; } .aaaseotemplates_description__col { width: 33.3333333%; float: left; } .aaaseotemplates_description__col:not(:last-child) { margin-bottom: 0; } } </style> {* /конец стили для блока с генережкой в 3 столбца *} {* стили для блока вопрос-ответ *} <style> .aaaseotemplates_faq { margin-top: 30px; } .aaaseotemplates_faq__title { font-size: 20px !important; } .aaaseotemplates_faq__item { font-size: 16px; margin-bottom: 10px; } .aaaseotemplates_faq__item-question { display: inline; user-select: none; font-size: 16px; border-bottom: 1px currentColor dotted; color: #88AA3D; } .aaaseotemplates_faq__item-answer { margin-bottom: 15px; font-size: 14px; } .aaaseotemplates_faq__item-answer a { text-decoration: underline; font-weight: 600; } .aaaseotemplates_faq__item-answer a:hover { text-decoration: none; } </style> {* /конец стили для блока вопрос-ответ *}
Переменные в персональном теге Title
  • %city_nom% — название города в им. п. в формате "Город"
  • %city_pre% — название города в предл. п. в формате "в Городе"
  • %company% — название компании
  • {$_ = $wa->block("globals")}{$wa->globals('city_acc')} - таким образом по необходимости можно получить любую другую переменную из блока globals. Но в персональном заголовке Title обычно в этом нет необходимости.
Инструкция по интеграции плагина в тему дизайна
  • Найти в шаблоне category.html (обычно этот шаблон) конструкцию, которая выводит описание категорий (обычно это {$category.description} в обертке одним-двумя тегами div) и заменить конструкцию на такую (по необходимости, в первой строчке добавив кастомный класс обертки для корректной стилизации темы дизайна): {* интеграция с плагином SEO-шаблоны *} {* доработка: не выводить описание на страницах с GET-параметрами *} {* доработка: не выводить персональное описание на поддоменах *} {$custom_class_category_desc = false} {if !strpos($wa->currentUrl(false), '?') !== false} {if $category.description && $category.description!=' '} {if (strpos($category.description, 'aaaseotemplates') !== false)} <div class="category-desc{if $custom_class_category_desc} {$custom_class_category_desc}{/if}"> {$category.description} </div> {elseif (substr_count($wa->domainUrl(), ".") < 2)} <div class="category-desc{if $custom_class_category_desc} {$custom_class_category_desc}{/if}"> {$category.description} </div> {/if} {/if} {/if}
  • Найти в шаблоне index.html (обычно этот шаблон) конструкцию, которая выводит тег Title страницы (обычно это <title>{$wa->title()|escape}</title>) и заменить конструкцию на такую: {* global variables *} {$did_globals = $wa->globals('did_globals')} {if !$did_globals} {$_ = $wa->block("globals")} {/if} {$city_nom = $wa->globals('city_nom')} {$city_pre = $wa->globals('city_pre')} {$company = $wa->globals('company')} {* интеграция с плагином SEO-шаблоны *} <title>{$wa->title()|escape|replace:'%city_nom%':{$city_nom}|replace:'%city_pre%':{$city_pre}|replace:'%company%':{$company}}</title>
Важные моменты
Важность использования запасных шаблонов в плагине

ВАЖНАЯ ИНФОРМАЦИЯ! Во время проведения оптимизации сайта, оптимизатор может заполнить все дополнительные поля категорий, однако в дальнейшем на сайте могут появиться новые категории, для которых дополнительные поля не будут вовремя заполнены. У таких категорий будет работать только переменная $name, остальные переменные будут пустыми. Во избежание генерации некорректных мета-тегов и описаний, крайне рекомендуется заранее предусмотреть такую ситуацию и заполнить "запасные" шаблоны, в которых продвинутые склоняемые названия категорий использоваться не будут.

Тем не менее, рекомендуется регулярно проверять проверять актуальность и корректность заполнения дополнительных переменных. Во-первых, для того чтобы применить к ним более качественные шаблоны со склоняемыми названиями категорий, а во-вторых: чтобы устранить несогласованность слов в переменной $name у некоторых страниц фильтров. Пример: если у категории "Посуда" не прописано seo-наименование "посуда", а в дополнительных полях не указано что название категории записано в женском роде, то переменная $name получит значение "Посуда чешские". В итоге, даже используя запасной максимально простой шаблон Title вида " купить недорого" на странице фильтра из примера получится Title "Посуда чешские купить недорого". Это довольно критичная ошибка.

Не забудьте интегрировать плагин в тему дизайна согласно инструкции!

Иначе результат работы некоторых переменных будет некорректным

Прочие важные моменты
  • листинг — это либо страница категории сайта, либо настроенная через плагин SEO-фильтр страница фильтра в категории
  • названия листингов указаны в нижнем регистре, за исключением аббревиатур и брендов (например: "ВВГ кабель", "телевизор Sony")
  • при использовании названия листинга в начале предложения необходимо использовать специальные переменные, начинающиеся с префикса "up"
  • некоторые названия листингов не имеют форму мн.ч. (например, слово "посуда"). В этом случае переменные возвращают ед.ч. того же падежа
  • некоторые названия листингов не имеют форму ед.ч. (например, слово "ножницы"). В этом случае переменные возвращают мн.ч. того же падежа
  • для использования шаблонного слова согласованного с $name нужно нужно объявить, затем вызвать пользовательскую переменную $word_sex_*yourword*[$sex]
  • для использования шаблонного слова согласованного с $count нужно нужно объявить, затем вызвать пользовательскую переменную $word_sum_*yourword*[$sum]
  • при объявлении $word_sex_*yourword*[] вместо *yourword* рекомендую использовать транслит слова, актуального для $sex[]=0 (мн.ч.) Например: "krasivye"
  • при объявлении $word_sum_*yourword*[] вместо *yourword* рекомендую использовать транслит слова, актуального для $sum[]=0 (>4 шт). Например: "tovarov")
  • используйте пользовательские переменную $word_sex_*yourword*[0] рядом с $name_*case*[$sex[0]], а переменную $word_sex_*yourword*[1] рядом с $name_*case*[$sex[1]]
  • альтернативное название листинга может встречаться только у некоторых страниц фильтров плагина SEO-фильтр. Иначе возвращается обычное название листинга в той же форме
FAQ. Ответы на часто задаваемые вопросы
Хочу скидку на плагин! Дадите?

На все наши продукты действует скидка 50% на повторные лицензии. На покупку первой лицензии скидок нет.

Мы не любим попрошайничество. Пожалуйста, не обращайтесь к нам в поддержку с просьбой дать вам скидку. Также не ждите больших акций: мы их не устраиваем (символические промоакции по 5% и участие в распродажах, устраиваемых компанией Webasyst - исключения).

Хочу скидку на услуги! Дадите?

Нет. Если для вас приоритетным критерием по выбору подрядчика для проведения работ на сайте является низкая цена - рекомендуем вам поискать других исполнителей. Мы работаем в среднем ценовом диапазоне, делаем упор на самый качественный сервис и высокое качество оказываемых услуг.

Хочу настройку плагина бесплатно! Сделаете?

Нет. Мы не осуществляем настройку плагинов на бесплатной основе. К каждому плагину прилагается подробная документация и мы прилагаем максимум усилий для того, чтобы разобраться с каждым плагином мог даже неопатный пользователь.

Если вы не можете или не хотите самостоятельно настраивать плагин - вы можете обратиться за помощью к стороннему специалисту, либо заказать у нас платные услуги.

Хочу настройку плагина платно! Сделаете?

Зависит от текущей загрузки. Свяжитесь с нами любым удобным образом и уточните детали.

Обычно мы настраиваем плагины в рамках комплексных услуг. Например, настраиваем плагины "SEO Link Canonical" и "SEO Meta Robots" в рамках услуги Оптимизация сайта с внедрением региональных поддоменов (SEO), а плагин "Доработки оформления заказа в корзине" в рамках услуги Продвинутая настройка оформления заказа в корзине.

Рекомендуем ознакомиться со всеми нашими комлпексными услугами.

Техническая поддержка
  • Техническая поддержка осуществляется только через личный кабинет. Инструкция по созданию заявки здесь. Пожалуйста, не пишите на электронную почту и в мессенджеры.
  • Техническая поддержка обычно осуществляется в рабочее время: Пн-Сб 08:00-17:00 (мск).
  • Среднее время реакции на обращения: 2-3 часа
  • Максимальное время реакции на обращения: 2-3 рабочих дня
  • Если ответ на ваше обращение не поступил за 3 рабочих дня - напишите снова напрямую на электронную почту, не используя форму на сайте (возможны перебои в работе формы из-за антиспам-защиты)
  • В техническую поддержку плагина входят только решение вопросов, касающихся непосредственно функционала плагина. На вопросы про SEO продвижение, не относящиеся к функционалу плагина, ответы даны не будут.