Битрикс. Работа с шаблонами SEO
01.09.2018
Теги: CMS • SEO • Web-разработка • Битрикс • Инфоблок • МетаТеги • Настройка • РазделИнфоблока • Шаблон • ЭлементИнфоблока
Шаблоны 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();
- Битрикс. SEO для инфоблока, раздела и страницы
- Битрикс. Работа с инфоблоками в старом ядре
- Битрикс. Работа с инфоблоками в новом ядре
- Битрикс. Создание комплексного компонента. Часть 4 из 4
- Битрикс. Создание комплексного компонента. Часть 3 из 4
- Битрикс. Создание комплексного компонента. Часть 2 из 4
- Битрикс. Создание комплексного компонента. Часть 1 из 4
Поиск: CMS • SEO • Web-разработка • Битрикс • Инфоблок • Раздел инфоблока • Шаблон • Элемент инфоблока • Настройка • Мета теги