Интересные статьи

После решения задачи, хочется рассказать об этом

Как правильно вывести seo информацию в битриксе для простых компонентов

В этой статье я расскажу, как настроить вывод seo meta теги для сайта на битрикс из настроек инфоблока и включенных в него разделов и элементов соответственно. Для комплексных компонентов вовод мета данных настраивается в параметрах компонента. Мы же рассмотрим, как сделать вывод данных для простых компонентов, где такие параметры отсутствуют.

СЕО настройки в component_epilog.php

Создаем файл в шаблоне компонента component_epilog.php Он подключается после того, как сформирован html шаблоном компонента и в него приходят массивы $arResult и $arParams из кэша. Если какие-то параметры не пришли, необходимо их добавить в файле result_modifier.php

global $APPLICATION;

	$cp = $this->__component; // объект компонента

	if (is_object($cp))
	{
		// добавим в arResult компонента
		$cp->arResult['ITEM'] = $arResult["ITEM"];
		$cp->SetResultCacheKeys(array('ITEM'));

	}

Далее в component_epilog.php уже отправляем наши сео мета данные c помощью технологии отложенных функций. Следующую запись нельзя было написать в result_modifier.php, т.к. если у компонента включено кэширование, это попросту не будет работать

if(count($arResult["ITEM"])){
	$APPLICATION->SetPageProperty("title", $arResult["ITEM"]["IPROPERTY_VALUES"]["ELEMENT_META_TITLE"]);
	$APPLICATION->SetPageProperty("description", $arResult["ITEM"]["IPROPERTY_VALUES"]["ELEMENT_META_DESCRIPTION"]);
	$APPLICATION->SetPageProperty("keywords", $arResult["ITEM"]["IPROPERTY_VALUES"]["ELEMENT_META_KEYWORDS"]);
}