Мы рекомендуем всегда по умолчанию задавать SEO настройки в виде шаблона в настройке соответствующего инфоблока. Далее, если будет необходима корректировка отдельных разделов/элементов, то делать это в конкретном разделе/элементе.
Содержимое закладки SEO для инфоблока и для раздела полностью идентично. В ней задаются шаблоны заголовков, ключевых слов, описаний для разделов и для элементов, а также шаблоны тегов для изображений разделов и элементов. На закладке SEO формы редактирования элементов присутствуют только те настройки, которые касаются самих элементов и их изображений.
Кроме простого текста можно использовать специальные конструкции в фигурных скобках:
{=this.Code}символьный код раздела/элемента{=iblock.PreviewText}описание инфоблока{=this.sections.name}названия родительских разделов{=this.property.COLOR}свойство инфоблока{=lower this.Name}приведет значение к нижнему регистру{=concat this.sections.name " / "}названия родительских разделов будут соединены с помощью слэша
Получить 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();
Больше полезных материалов в нашем Telegram канале. Вступайте и будем на связи! https://t.me/bf_conversion

