Шаблоны мета-тегов (шаблоны SEO) в информационных системах
Шаблоны мета-тегов предназначены для гибкой и простой настройки SEO-тегов. Шаблоны задаются как целиком для информационных систем, так и для его конкретных групп.
Перейдите в раздел Контент → Информационные системы и отредактируйте систему. На вкладке Шаблоны SEO доступны поля для внесения шаблонов.
В системе есть заранее сформированный список подстановок, которые можно добавить в шаблон:
При выборе значения из списка в поле будет добавлена подстановка. Например, создадим шаблон следующего вида:
Теперь находясь в группе с названием "Комедии" получим результат:
Лучшие Комедии в Москве! Фильмы → Искусство
Полный список предустановленных подстановок
Подстановка | Описание |
---|---|
{informationsystem.name} | Добавляет название текущей информационной системы |
{group.name} | Добавляет название текущей группы |
{group.description} | Добавляет описание текущей группы |
{this.seoFilter ": " ", "} | Добавляет опции, заданные фильтру. Может принимать 2 параметра: первый — разделитель между названием и списком значений свойства, по умолчанию ': '; второй — разделитель между значениями, по умолчанию ', ' |
{group.propertyValue ID} |
Добавляет значения свойств информационной группы с идентификатором ID. Может принимать 3 параметра: Для вывода значений свойств с ID 17 с указанием названия свойства и собственным разделителем используйте вызов {group.propertyValue 17 '%s: %s' ' / '} |
{group.groupPathWithSeparator} | Добавляет путь к группе, в виде Фильмы → Комедии → 2018. Сепаратор можно изменить передав в качестве аргумента. Например, {group.groupPathWithSeparator " / "}, также можно ограничить количество групп, удалив текущую группу, для этого передается второй аргумент {group.groupPathWithSeparator " / " 1} |
{this.pageNumber ", страница %d"} | Добавляет номер страницы, в виде ", страница 2". |
{item.name} | Добавляет название текущего информационного элемента |
{item.description} | Добавляет краткое описание информационного элемента |
{item.text} | Добавляет текст информационного элемента |
{item.propertyValue ID} |
Добавляет значения свойств информационного элемента с идентификатором ID. Может принимать 3 параметра: Для вывода значений свойств с ID 17 с указанием названия свойства и собственным разделителем используйте вызов {item.propertyValue 17 '%s: %s' ' / '} |
Собственные подстановки
Помимо предустановленных подстановок вы можете использовать любое свойство модели магазина, групп, товара или метод модели, например,
Подстановка | Описание |
---|---|
{informationsystem.description} | Добавляет описание текущей информационной системы |
{group.id} | Добавляет идентификатор текущей группы |
{item.guid} | Добавляет GUID текущего информационного элемента |
Префиксы
В качестве префикса может быть использован toLower для приведения к нижнему регистру {toLower item.name}, toUpper для приведения к верхнему {toUpper item.name}, а также любая php-функция, например, {mb_strtolower item.currencyName}
Обработка H1
Если заданы шаблоны для H1, то сформированные значения будут в тегах /informationsystem/seo_item_h1 и /informationsystem/seo_group_h1. Пример проверки для товара в XSL-шаблоне:
<!-- Название информационного элемента или SEO-шаблон для H1 --> <xsl:choose> <xsl:when test="/informationsystem/seo_item_h1/node()"> <h1><xsl:value-of select="/informationsystem/seo_item_h1"/></h1> </xsl:when> <xsl:otherwise> <h1 hostcms:id="{@id}" hostcms:field="name" hostcms:entity="informationsystem_item"><xsl:value-of select="name"/></h1> </xsl:otherwise> </xsl:choose>
Корректировка типовой динамической страницы
Для использования SEO-шаблонов мета-тегов необходимо отредактировать код типовой динамической страницы информационной системы. Закомментировать строки, начинающиеся с $aTitle = array($oInformationsystem->name); и по Core_Page::instance()->object = $Informationsystem_Controller_Show;
Пример:
/*
$aTitle = array($oInformationsystem->name);
$aDescription = array($oInformationsystem->name);
$aKeywords = array($oInformationsystem->name);
...
if (count($aTitle) > 1)
{
$aTitle = array_reverse($aTitle);
$aDescription = array_reverse($aDescription);
$aKeywords = array_reverse($aKeywords);
Core_Page::instance()->title(implode($pageSeparator, $aTitle));
Core_Page::instance()->description(implode($pageSeparator, $aDescription));
Core_Page::instance()->keywords(implode($pageSeparator, $aKeywords));
}
*/
Core_Page::instance()->object = $Informationsystem_Controller_Show;
Функционал доступен с версии 6.7.8