Меня очень бесит необходимость делать однотипную работу много раз подряд, поэтому всегда пишу какой-нибудь скрипт, который поможет всё автоматизировать. Новинка от HostCMS как раз из этой серии — SEO-шаблоны мета-тегов для информационных систем и интернет-магазинов, которые позволяют добавлять названия, описания, цены и другие свойства элементов в title, description и keywords.

Я как обычно проверял электронную почту, пил чай и готовился заполнять интернет-магазин строительных материалов очередным описанием категорий про гипсокартон или гипсоволокно, уже не помню, как увидел любимый значок:

Значок новых обновлений в Hostcms

А это значит что? Новые плюшки от HostCMS и я верил что ожидания не напрасны.

Это обновление Hostcms От 26.01.2018 версии 6.7.8 где презентовали seo-шаблоны для мета-тегов

ШАБЛОНЫ МЕТА-ТЕГОВ! УРА!

Новая функция доступна в обновлении 6.7.8 от 26.01.2018. Если у вас её нет — обновите систему до последней версии.

Зачем это нужно?

  • Чтобы быстро заполнить мета-теги для всего сайта буквально за 10 минут;
  • Получить для всего магазина, новостей или статей информативные тайтлы и дейскрипшны, которые попадут в сниппет Гугла и Яндекса
  • Раз сниппеты будут информативные — люди чаще будут заходить на сайт
  • Решает проблему, когда на сайте тысячи товаров и их все нужно подготовить для SEO-продвижения. Например, у нашего клиента есть интернет-магазин автозапчастей — там не менее 74 тысяч товаров и постоянно их число растет, попробуйте ка заполнить их все и не умереть.
  • Решает проблему, когда вы поменяли сеошника, а старый заполнил мета-теги тяп-ляп — нужно взять и поменять все теги для 400 статей в блоге или на страницах услуг. Тяжко.

Как выглядит в админке

Вот так выглядит вкладка, если вы вдруг её не нашли:

Это вкладка seo-Шаблонов мета-тегов в Hostcms Для тех кто не нашёл

Какие есть подстановки в Информационной системе

{informationsystem.name} — название информационной системы
{informationsystem.description} — описание ИС
{group.name} — название текущей группы системы
{group.id} — номер текущей группы
{group.description} — описание текущей группы ИС
{group.groupPathWithSeparator} — путь до текущей группы в списке, хлебные крошки вида «Статьи → Техническая документация по гипсокартону»
{group.groupPathWithSeparator » / «} — указание разделителя в хлебных крошках для ИС , в данном случае путь разделяется косой чертой, но вы можете подставить туда любой символ
{group.groupPathWithSeparator » / » 1} — ограничение на количество выводимых групп, в данном случае обрежет текущую группу
{this.pageNumber «, страница %d»} — покажет номер текущей страницу списка информационных элементов. Будет круто использовать для того, чтобы убрать дублирующиеся тайтлы при работе постраничной навигации. Ведь раньше было как — есть 10 страниц новостей или статей, фактически это десять разных страниц, но тег title у них одинаковый. Поисковики смогут признать это как дубли и удалить из индекса.
{item.name} — название инф. элемента
{item.id} — номер элемента
{item.guid} — GUID элемента
{item.description} — описание элемента
{item.text} — текст элемента

Это шаблоны seo мета-тегов в Hostcms для информационных систем

Быстрый выбор подстановок для информационной системы:

Быстрый выбор подстановок для мета-тегов информационной системы

Обратите внимание, что подстановки нужно делать разумно — данные о информационных элементах или товарах в группе вы не получите, потому что в группах доступна только информация о текущей группе. Однако в seo-шаблонах мета-тегов для элементов или товаров можно получать данные текущей группы, такие как название группы текущего товара, путь до его группы и.т.д.

Какие есть подстановки в Интернет-магазине

{shop.name} — выводит название интернет-магазина
{shop.description} — подстановка для вывода описание
{group.name} — вывод названия текущей групп ИМ
{group.id} — вывод номера текущей группы ИМ
{group.description} — вывод описание группы
{group.groupPathWithSeparator} — покажет хлебные крошки до текущего товара вида «Магазин Строительных материалов → Гипсокартон»
{group.groupPathWithSeparator » / «} — также, как и для информационных систем, задает разделитель вместо стрелочки в хлебных крошках
{this.pageNumber «, страница %d»} — выводит номер страницы при использовании постраничной навигации и это опять же поможет нам избавиться от дублей на страницах каталога. Для интернет-магазина это особенно важно. Есть у вас 600 товаров в определенной категории, выбрали вы показывать на странице по 30 товаров — это 20 страниц. Двадцать страниц с одинаковым названием, да и товары там наверняка будут похожи, и отличаться только размером или цветом. Поисковики будут недовольны. Зачем делать это со своим сайтом? Раньше просто так проблему было не решить, зато теперь — легко. Ставим эту подстановку и получаем уникальные title или description.
{item.name} — выводит название товара
{item.description} — описание товара
{item.text} — полный текст товара
{item.price} — покажет цену товара (!). Это же круто! Получим тайтл вида «Гипсокартон 12мм за 250 руб.». Не писать же это всё для каждого товара отдельно? Сейчас всё на автомате.
{item.marking} — добавит в мета-теги артикул товара
{item.currencyName} — если очень хочется и валют для автоматизации, то можно использовать эту подставновку
{item.producerName} — если вы заполняете магазин качественно с указанием производителя или выгружаете товара из 1С, то эта подстановка идеальна для вас. А если скомбинировать всё с ценой, то из простого названия товара «Гипсокартон 12 мм» мы получим «Купить Гипсокартон 12 мм КНАУФ за 250 руб». Офигенно!

Это шаблон мета-тегов для интернет-магазина в ХостЦМС

Быстрый выбор подстановок для интернет-магазина:

Быстрый выбор подстановок для мета-тегов интернет-магазина

Префиксы в подтановках

Подстановки в seo-шаблонах мета-тегов — это божественный подарок разработчиков, однако это еще не всё…

Мы можем использовать PHP-функции!

Предустановленны два префикса для приведения к нижнему и верхнему регистру — toLower и toUpper. Вот пример их использования:

Изначальный шаблон: Купить {item.name} {item.producerName} за {item.price} {item.currencyName} в Москве — {shop.name}

А вот с использованием префиксов: Купить {toLower item.name} {toUpper item.producerName} за {item.price} {item.currencyName} в Москве — {shop.name}.

Префиксы понизят регистр названия товара, чтобы «Купить Гипсокартон» превратилось в «Купить гипсокартон», а уже потом сделает все большие буквы у производителя, а то вдруг он выгружается как «кнауф».

Насчёт самих PHP-функций в подстановках — пока я нашёл только то, как использовать функции с одним аргументом, например:
{strlen group.name} — покажет число символов в группе товара
{mb_strtolower group.name} — приведет к нижнему регистру

Как только узнаю у разработчиков как добавлять параметры для функций — дополню инструкцию.

Как подключить на сайт

Заходим в Структуру Сайта и нажимаем напротив узла интернет-магазина — Редактировать

Заходим в настройки узла интернет-магазина

Переходим к настройкам типовой динамической страницы

Переходим к настройкам типовой динамической структуры Hostcms

И комментируем всё начиная от сюда

Комментируем вывод мета-тегов в ТДС

И заканчивая здесь

Заканчиваем комментирование мета-тегов и оставляем вызов контроллера

По итогу у вас должно остаться внизу только:

Core_Page::instance()->object = $Shop_Controller_Show;

Вот что может получиться в итоге в тайтлах или дескрипшнах:

Пример работы seo-шаблонов мета-тегов заполненных title и description

Пример работы seo-шаблонов мета-тегов заполненных title и description для товара интернет-магазина

Всё! На этому установка заканчивается. Теперь вам нужно зайти в настройки интернет-магазина и информационной системы, чтобы создать seo-шаблоны мета-тегов в Hostcms и подготовить свой сайт к продвижению.