Функции для SEO

Home » Bitrix » Функции для SEO
Bitrix Комментариев нет
1. Редирект карточки товара со страниц дублей при выводе товаров дочерних категорий result_modifier.php /* {+ usovdm: no doubles */ $arPathDB = CIBlockSection::GetNavChain($arParams['IBLOCK_ID'], $arResult['IBLOCK_SECTION_ID'])->arResult; $arPath = array(); foreach($arPathDB as $v){ $arPath[] = $v['CODE']; } $arResult['CORRECT_URL'] = $arParams['DETAIL_URL']; $arResult['CORRECT_URL'] = str_replace('#SECTION_CODE_PATH#',implode('/',$arPath),$arResult['CORRECT_URL']); $arResult['CORRECT_URL'] = str_replace('#ELEMENT_CODE#',$arResult['CODE'],$arResult['CORRECT_URL']); $this->__component->arResultCacheKeys[] = 'CORRECT_URL'; /* }- usovdm: no doubles */ component_epilog.php if(GetPagePath(false, false) != $arResult['CORRECT_URL']){ LocalRedirect($arResult['CORRECT_URL'], true, '301 Moved permanently'); } 2. Подмена дублей на странице списка товаров result_modifier.php /* {+ usovdm: no doubles */ if(!empty($arResult['ITEMS'])){ $arSectionPathes = array(); foreach($arResult['ITEMS'] as &$arItem){ if(empty($arSectionPathes[$arItem['~IBLOCK_SECTION_ID']])){ $arPathDB = CIBlockSection::GetNavChain($arParams['IBLOCK_ID'], $arItem['~IBLOCK_SECTION_ID'])->arResult; $arPath = array(); foreach($arPathDB as $v){ $arPath[] = $v['CODE']; } $arPath = implode('/',$arPath); $arSectionPathes[$arItem['~IBLOCK_SECTION_ID']] = $arPath; }else{ $arPath = $arSectionPathes[$arItem['~IBLOCK_SECTION_ID']]; } $arItem['DETAIL_PAGE_URL'] = $arParams['DETAIL_URL']; $arItem['DETAIL_PAGE_URL'] = str_replace('#SECTION_CODE_PATH#',$arPath,$arItem['DETAIL_PAGE_URL']); $arItem['DETAIL_PAGE_URL'] = str_replace('#ELEMENT_CODE#',$arItem['CODE'],$arItem['DETAIL_PAGE_URL']); }unset($arItem); } /* }- usovdm: no doubles */ 3. clearSEO() function clearSEO(){ require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/iblock/lib/inheritedproperty/basevalues.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/iblock/lib/inheritedproperty/iblockvalues.php'); $ipropValues = new \Bitrix\Iblock\InheritedProperty\IblockValues(14); $ipropValues->clearValues(); return "clearSEO();"; }