Полный цикл в digital

Работа с шаблонами SEO

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

Содержимое закладки SEO для инфоблока и для раздела полностью идентично. В ней задаются шаблоны заголовков, ключевых слов, описаний для разделов и для элементов, а также шаблоны тегов для изображений разделов и элементов. На закладке SEO формы редактирования элементов присутствуют только те настройки, которые касаются самих элементов и их изображений.

Кроме текста можно использовать специальные конструкции в фигурных скобках:

  • {=this.Code} символьный код раздела/элемента
  • {=iblock.PreviewText} описание инфоблока
  • {=this.sections.name} названия родительских разделов
  • {=this.property.COLOR} свойство инфоблока
  • {=lower this.Name} приведет значение к нижнему регистру
  • {=concat this.sections.name " / "} названия родительских разделов будут соединены с помощью слэша

Пример использования:

Купить {=this.Name} {=concat {=distinct this.catalog.sku.property.color ", "}} по низким
ценам. От {=min this.catalog.sku.price.BASE} до {=max this.catalog.sku.price.BASE}

Вывод:

Купить платье синее, зеленое, черное по низким ценам. От 1000 руб. до 2000 руб.

Работа с шаблонами SEO свойств инфоблоков

Получить SEO шаблоны для инфоблока с идентификатором $iblockId:

$ipropIblockTemplates = new \Bitrix\Iblock\InheritedProperty\IblockTemplates($iblockId);
$templates = $ipropIblockTemplates->findTemplates();
print_r($templates);

Вывод:

Array
(
[SECTION_META_KEYWORDS] => Array
(
[ID] => 37
[CODE] => SECTION_META_KEYWORDS
[TEMPLATE] => {=lower this.Name} {=lower iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => N
)
[SECTION_META_DESCRIPTION] => Array
(
[ID] => 38
[CODE] => SECTION_META_DESCRIPTION
[TEMPLATE] => {=this.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => N
)
[SECTION_META_TITLE] => Array
(
[ID] => 41
[CODE] => SECTION_META_TITLE
[TEMPLATE] => {=this.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => N
)
[ELEMENT_META_TITLE] => Array
(
[ID] => 42
[CODE] => ELEMENT_META_TITLE
[TEMPLATE] => {=this.Name}. {=parent.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => N
)
[ELEMENT_META_DESCRIPTION] => Array
(
[ID] => 43
[CODE] => ELEMENT_META_DESCRIPTION
[TEMPLATE] => {=this.Name}. {=parent.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => N
)
[ELEMENT_META_KEYWORDS] => Array
(
[ID] => 45
[CODE] => ELEMENT_META_KEYWORDS
[TEMPLATE] => {=lower this.Name} {=lower parent.Name} {=lower iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => N
)
)

Получить SEO шаблоны для раздела с идентификатором $iblockSectionId:

$ipropSectionTemplates = new \Bitrix\Iblock\InheritedProperty\SectionTemplates($iblockId, $iblockSectionId);
$templates = $ipropSectionTemplates->findTemplates();
print_r($templates);

Вывод:

Array
(
[SECTION_META_KEYWORDS] => Array
(
[ID] => 37
[CODE] => SECTION_META_KEYWORDS
[TEMPLATE] => {=lower this.Name} {=lower iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[SECTION_META_DESCRIPTION] => Array
(
[ID] => 38
[CODE] => SECTION_META_DESCRIPTION
[TEMPLATE] => {=this.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[SECTION_META_TITLE] => Array
(
[ID] => 41
[CODE] => SECTION_META_TITLE
[TEMPLATE] => {=this.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[ELEMENT_META_TITLE] => Array
(
[ID] => 42
[CODE] => ELEMENT_META_TITLE
[TEMPLATE] => {=this.Name}. {=parent.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[ELEMENT_META_DESCRIPTION] => Array
(
[ID] => 43
[CODE] => ELEMENT_META_DESCRIPTION
[TEMPLATE] => {=this.Name}. {=parent.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[ELEMENT_META_KEYWORDS] => Array
(
[ID] => 45
[CODE] => ELEMENT_META_KEYWORDS
[TEMPLATE] => {=lower this.Name} {=lower parent.Name} {=lower iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
)

Получить SEO шаблоны для элемента с идентификатором $iblockElementId:

$ipropElementTemplates = new \Bitrix\Iblock\InheritedProperty\ElementTemplates($iblockId, $iblockElementId);
$templates = $ipropElementTemplates->findTemplates();
print_r($templates);

Вывод:

Array
(
[SECTION_META_KEYWORDS] => Array
(
[ID] => 37
[CODE] => SECTION_META_KEYWORDS
[TEMPLATE] => {=lower this.Name} {=lower iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[SECTION_META_DESCRIPTION] => Array
(
[ID] => 38
[CODE] => SECTION_META_DESCRIPTION
[TEMPLATE] => {=this.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[SECTION_META_TITLE] => Array
(
[ID] => 41
[CODE] => SECTION_META_TITLE
[TEMPLATE] => {=this.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[ELEMENT_META_TITLE] => Array
(
[ID] => 42
[CODE] => ELEMENT_META_TITLE
[TEMPLATE] => {=this.Name}. {=parent.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[ELEMENT_META_DESCRIPTION] => Array
(
[ID] => 43
[CODE] => ELEMENT_META_DESCRIPTION
[TEMPLATE] => {=this.Name}. {=parent.Name}. {=iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
[ELEMENT_META_KEYWORDS] => Array
(
[ID] => 45
[CODE] => ELEMENT_META_KEYWORDS
[TEMPLATE] => {=lower this.Name} {=lower parent.Name} {=lower iblock.PreviewText}
[ENTITY_TYPE] => B
[ENTITY_ID] => 5
[INHERITED] => Y
)
)

Изменить SEO шаблоны для инфоблока с идентификатором $iblockId:

$ipropIblockTemplates = new \Bitrix\Iblock\InheritedProperty\IblockTemplates($iblockId);
$templates = $ipropIblockTemplates->findTemplates();
$newTemplates = array(
'SECTION_META_TITLE' => $templates['SECTION_META_TITLE']['TEMPLATE']." дополнительный текст - {=this.Name}"
);
$ipropIblockTemplates->set($newTemplates);

Изменить SEO шаблоны для раздела с идентификатором $iblockSectionId:

$ipropSectionTemplates = new \Bitrix\Iblock\InheritedProperty\SectionTemplates($iblockId, $iblockSectionId);
$templates = $ipropSectionTemplates->findTemplates();
$newTemplates = array(
'SECTION_META_TITLE' => $templates['SECTION_META_TITLE']['TEMPLATE']." дополнительный текст - {=this.Name}"
);
$ipropSectionTemplates->set($newTemplates);

Изменить SEO шаблоны для элемента с идентификатором $iblockElementId:

$ipropElementTemplates = new \Bitrix\Iblock\InheritedProperty\ElementTemplates($iblockId, $iblockElementId);
$templates = $ipropElementTemplates->findTemplates();
$newTemplates = array(
'ELEMENT_META_TITLE' => $templates['ELEMENT_META_TITLE']['TEMPLATE']." дополнительный текст - {=this.Name}"
);
$ipropElementTemplates->set($newTemplates);

Удалить SEO шаблоны для инфоблока с идентификатором $iblockId:

$ipropIblockTemplates = new \Bitrix\Iblock\InheritedProperty\IblockTemplates($iblockId);
$ipropIblockTemplates->delete();

Удалить SEO шаблоны для раздела с идентификатором $iblockSectionId:

$ipropSectionTemplates = new \Bitrix\Iblock\InheritedProperty\SectionTemplates($iblockId, $iblockSectionId);
$ipropSectionTemplates->delete();

Удалить SEO шаблоны для элемента с идентификатором $iblockElementId:

$ipropElementTemplates = new \Bitrix\Iblock\InheritedProperty\ElementTemplates($iblockId, $iblockElementId);
$ipropElementTemplates->delete();

Работа со значениями SEO свойств инфоблоков

Получение значений SEO для инфоблока с идентификатором $iblockId:

$ipropIblockValues = new \Bitrix\Iblock\InheritedProperty\IblockValues($iblockId);
print_r($ipropIblockValues->getValues());

Получить значения SEO для раздела с идентификатором $iblockSectionId:

$ipropSectionValues = new \Bitrix\Iblock\InheritedProperty\SectionValues($iblockId, $iblockSectionId);
print_r($ipropSectionValues->getValues());

Вывод:

Array
(
[SECTION_META_KEYWORDS] => породы собак статьи о домашних животных
[SECTION_META_DESCRIPTION] => Породы собак. Статьи о домашних животных
[SECTION_META_TITLE] => Породы собак. Статьи о домашних животных
[ELEMENT_META_TITLE] => Породы собак. Статьи. Статьи о домашних животных
[ELEMENT_META_DESCRIPTION] => Породы собак. Статьи. Статьи о домашних животных
[ELEMENT_META_KEYWORDS] => породы собак статьи статьи о домашних животных
)

Получить значения SEO для элемента с идентификатором $iblockElementId:

$ipropElementValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($iblockId, $iblockElementId);
print_r($ipropElementValues->getValues());

Вывод:

Array
(
[SECTION_META_KEYWORDS] => афганская борзая статьи о домашних животных
[SECTION_META_DESCRIPTION] => Афганская борзая. Статьи о домашних животных
[SECTION_META_TITLE] => Афганская борзая. Статьи о домашних животных
[ELEMENT_META_TITLE] => Афганская борзая. Породы собак. Статьи о домашних животных
[ELEMENT_META_DESCRIPTION] => Афганская борзая. Породы собак. Статьи о домашних животных
[ELEMENT_META_KEYWORDS] => афганская борзая породы собак статьи о домашних животных
)

Сбросить кэш SEO для инфоблока с идентификатором в переменной $iblockId:

$ipropIblockValues = new \Bitrix\Iblock\InheritedProperty\IblockValues($iblockId);
$ipropIblockValues->clearValues();

Сбросить кэш SEO для раздела инфоблока с идентификатором в переменной $iblockSectionId:

$ipropSectionValues = new \Bitrix\Iblock\InheritedProperty\IblockSectionValues($iblockId, $iblockSectionId);
$ipropSectionValues->clearValues();

Сбросить кэш SEO для элемента инфоблока с идентификатором в переменной $iblockElementId:

$ipropElementValues = new \Bitrix\Iblock\InheritedProperty\IblockElementValues($iblockId, $iblockElementId);
$ipropElementValues->clearValues();
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг