Шаблоны мета-тегов (шаблоны SEO) в информационных системах

Шаблоны мета-тегов предназначены для гибкой и простой настройки SEO-тегов. Шаблоны задаются как целиком для информационных систем, так и для его конкретных групп.

Если у группы не задан тот или иной шаблон, то будет использоваться шаблон от информационной системы. Для корневой страницы задается отдельный шаблон.
Мета-теги, явно заполненные у групп и информационных элементов на вкладке SEO, имеют приоритет перед шаблонами мета-тегов.

Перейдите в раздел Контент → Информационные системы и отредактируйте систему. На вкладке Шаблоны SEO доступны поля для внесения шаблонов.

В системе есть заранее сформированный список подстановок, которые можно добавить в шаблон:

При выборе значения из списка в поле будет добавлена подстановка. Например, создадим шаблон следующего вида:

Теперь находясь в группе с названием "Комедии" получим результат:

Лучшие Комедии в Москве! Фильмы → Искусство

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

Подстановка Описание
{informationsystem.name} Добавляет название текущей информационной системы
{group.name} Добавляет название текущей группы
{group.description} Добавляет описание текущей группы
{this.seoFilter ": " ", "} Добавляет опции, заданные фильтру. Может принимать 2 параметра:
первый — разделитель между названием и списком значений свойства, по умолчанию ': ';
второй — разделитель между значениями, по умолчанию ', '
{group.propertyValue ID}

Добавляет значения свойств информационной группы с идентификатором ID. Может принимать 3 параметра:
первый — идентификатор свойства;
второй — шаблон вывода значения свойства, по умолчанию '%2$s' выводит только значения, чтобы вывести название свойства со значением задайте шаблон '%s: %s';
третий — разделитель, по умолчанию ', '

Для вывода значений свойств с 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 параметра:
первый — идентификатор свойства;
второй — шаблон вывода значения свойства, по умолчанию '%2$s' выводит только значения, чтобы вывести название свойства со значением задайте шаблон '%s: %s';
третий — разделитель, по умолчанию ', '

Для вывода значений свойств с 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

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.