SetPageProperty("robots", 'noindex, nofollow'); } $paginationText = ""; if ($_REQUEST['PAGEN_1']) { $pagOption = Option::get($moduleId, "PAGINATION_TEXT_" . SITE_ID); if ($pagOption) { $paginationText = " " . str_replace('%N%', $_REQUEST['PAGEN_1'], $pagOption); } } $str = $APPLICATION->GetCurPage(); if ($arParams['KOMBOX_FILTER'] == 'Y' && CModule::IncludeModule('kombox.filter')) { $str = CKomboxFilter::GetCurPageParam(); $str = explode("?", $str); $str = $str[0]; } $str = CSeoMeta::encodeRealUrl($str); $metaData = SeometaUrlTable::getByRealUrl($str, SITE_ID); if(empty($metaData)) { $metaData = SeometaUrlTable::getByRealUrl(preg_replace('/index.php$/', '', $str), SITE_ID); } if(empty($metaData)) { $requestGet = Context::getCurrent()->getRequest()->getQueryList()->toArray(); $pageParams = array_keys($requestGet); $str = $APPLICATION->GetCurPageParam( '', $pageParams ); $str = CSeoMeta::encodeRealUrl($str); $metaData = SeometaUrlTable::getByRealUrl($str, SITE_ID); } if (!empty($metaData['NEW_URL'])) { $APPLICATION->SetCurPage($metaData['NEW_URL']); } CSeoMeta::SetFilterResult($sotbitFilterResult, $arParams['SECTION_ID']); //filter result for class CSeoMeta::AddAdditionalFilterResults(${$arParams['FILTER_NAME']}, $arParams['KOMBOX_FILTER']); CSeoMeta::FilterCheck(); if ($this->StartResultCache($arParams["CACHE_TIME"] ?: false, $arParams["CACHE_GROUPS"] ? $USER->GetGroups() : false) ) { $arResult = CSeoMeta::getRules($arParams); //list of conditions for current section $this->endResultCache(); } $sku = new Section($arParams['SECTION_ID']); $morphyObject = SeoMetaMorphy::morphyLibInit(); $curReq = Context::getCurrent()->getRequest(); $protocol = $curReq->isHttps() ? 'https://' : 'http://'; $port = $curReq->getServerPort() == '80' ? ':' . $curReq->getServerPort() : ''; $classEmojiExist = class_exists('\Bitrix\Main\Text\Emoji'); if(empty($arResult) && !empty($metaData)){ $APPLICATION->SetPageProperty("robots", 'index, follow'); if ($metaData['SEOMETA_DATA']['ELEMENT_TITLE_REPLACE'] == 'Y') { $result['TITLE'] = $metaData['SEOMETA_DATA']['ELEMENT_TITLE']; } if (!empty($result['TITLE'])) { if ($classEmojiExist) { $result['TITLE'] = Emoji::decode($result['TITLE']); } $sotbitSeoMetaTitle = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['TITLE'])); $sotbitSeoMetaTitle = SeoMetaMorphy::convertMorphy($sotbitSeoMetaTitle, $morphyObject); $sotbitSeoMetaTitle .= $paginationText ?: ''; $APPLICATION->SetPageProperty("title", $sotbitSeoMetaTitle); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_KEYWORDS_REPLACE'] == 'Y') { $result['KEYWORDS'] = $metaData['SEOMETA_DATA']['ELEMENT_KEYWORDS']; } if (!empty($result['KEYWORDS'])) { if ($classEmojiExist) { $result['KEYWORDS'] = Emoji::decode($result['KEYWORDS']); } $sotbitSeoMetaKeywords = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['KEYWORDS'])); $sotbitSeoMetaKeywords = SeoMetaMorphy::convertMorphy($sotbitSeoMetaKeywords, $morphyObject); $APPLICATION->SetPageProperty("keywords", $sotbitSeoMetaKeywords); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_DESCRIPTION_REPLACE'] == 'Y') { $result['DESCRIPTION'] = $metaData['SEOMETA_DATA']['ELEMENT_DESCRIPTION']; } if (!empty($result['DESCRIPTION'])) { if ($classEmojiExist) { $result['DESCRIPTION'] = Emoji::decode($result['DESCRIPTION']); } $sotbitSeoMetaDescription = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['DESCRIPTION'])); $sotbitSeoMetaDescription = SeoMetaMorphy::convertMorphy($sotbitSeoMetaDescription, $morphyObject); $sotbitSeoMetaDescription .= $paginationText ?: ''; $APPLICATION->SetPageProperty("description", $sotbitSeoMetaDescription); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_PAGE_TITLE_REPLACE'] == 'Y') { $result['PAGE_TITLE'] = $metaData['SEOMETA_DATA']['ELEMENT_PAGE_TITLE']; } if (!empty($result['PAGE_TITLE'])) { if ($classEmojiExist) { $result['PAGE_TITLE'] = Emoji::decode($result['PAGE_TITLE']); } $sotbitSeoMetaH1 = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['PAGE_TITLE'])); $arResult['ELEMENT_H1'] = $sotbitSeoMetaH1 .= $paginationText ?: ''; $sotbitSeoMetaH1 = SeoMetaMorphy::convertMorphy($sotbitSeoMetaH1, $morphyObject); $APPLICATION->SetTitle($sotbitSeoMetaH1); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_BREADCRUMB_TITLE_REPLACE'] == 'Y') { $result['BREADCRUMB_TITLE'] = $metaData['SEOMETA_DATA']['ELEMENT_BREADCRUMB_TITLE']; } if (!empty($result['BREADCRUMB_TITLE'])) { if ($classEmojiExist) { $result['BREADCRUMB_TITLE'] = Emoji::decode($result['BREADCRUMB_TITLE']); } $url = $protocol . $curReq->getServer()->getServerName() . $port . $curReq->getRequestUri(); $sotbitSeoMetaBreadcrumbLink = $url; $sotbitSeoMetaBreadcrumbTitle = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['BREADCRUMB_TITLE'])); $sotbitSeoMetaBreadcrumbTitle = SeoMetaMorphy::convertMorphy($sotbitSeoMetaBreadcrumbTitle, $morphyObject); if (!empty($sotbitSeoMetaBreadcrumbLink)) { $arResult['BREADCRUMB_TITLE'] = $sotbitSeoMetaBreadcrumbTitle; $arResult['BREADCRUMB_LINK'] = $url; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_TOP_DESC_REPLACE'] == 'Y') { $result['ELEMENT_TOP_DESC'] = $metaData['SEOMETA_DATA']['ELEMENT_TOP_DESC']; } if (!empty($result['ELEMENT_TOP_DESC'])) { if ($classEmojiExist) { $result['ELEMENT_TOP_DESC'] = Emoji::decode($result['ELEMENT_TOP_DESC']); } $sotbitSeoMetaTopDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['ELEMENT_TOP_DESC']))); $sotbitSeoMetaTopDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaTopDesc, $morphyObject); if (!empty($sotbitSeoMetaTopDesc)) { if ($result['ELEMENT_TOP_DESC_TYPE'] == 'text') { $sotbitSeoMetaTopDesc = htmlspecialchars($sotbitSeoMetaTopDesc); } $arResult['ELEMENT_TOP_DESC'] = $sotbitSeoMetaTopDesc; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_BOTTOM_DESC_REPLACE'] == 'Y') { $result['ELEMENT_BOTTOM_DESC'] = $metaData['SEOMETA_DATA']['ELEMENT_BOTTOM_DESC']; } if (!empty($result['ELEMENT_BOTTOM_DESC'])) { if ($classEmojiExist) { $result['ELEMENT_BOTTOM_DESC'] = Emoji::decode($result['ELEMENT_BOTTOM_DESC']); } $sotbitSeoMetaBottomDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['ELEMENT_BOTTOM_DESC']))); $sotbitSeoMetaBottomDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaBottomDesc, $morphyObject); if (!empty($sotbitSeoMetaBottomDesc)) { if ($result['ELEMENT_BOTTOM_DESC_TYPE'] == 'text') { $sotbitSeoMetaBottomDesc = htmlspecialchars($sotbitSeoMetaBottomDesc); } $arResult['ELEMENT_BOTTOM_DESC'] = $sotbitSeoMetaBottomDesc; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_ADD_DESC_REPLACE'] == 'Y') { $result['ELEMENT_ADD_DESC'] = $metaData['SEOMETA_DATA']['ELEMENT_ADD_DESC']; } if (!empty($result['ELEMENT_ADD_DESC'])) { if ($classEmojiExist) { $result['ELEMENT_ADD_DESC'] = Emoji::decode($result['ELEMENT_ADD_DESC']); } $sotbitSeoMetaAddDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['ELEMENT_ADD_DESC']))); $sotbitSeoMetaAddDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaAddDesc, $morphyObject); if (!empty($sotbitSeoMetaAddDesc)) { if ($result['ELEMENT_ADD_DESC_TYPE'] == 'text') { $sotbitSeoMetaAddDesc = htmlspecialchars($sotbitSeoMetaAddDesc); } $arResult['ELEMENT_ADD_DESC'] = $sotbitSeoMetaAddDesc; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_FILE_REPLACE'] == 'Y') { $result['ELEMENT_FILE'] = $metaData['SEOMETA_DATA']['ELEMENT_FILE']; } if (intval($result['ELEMENT_FILE']) > 0) { $fileArray = CFile::GetFileArray($result['ELEMENT_FILE']); $arResult['ELEMENT_FILE']['SRC'] = $fileArray['SRC']; $arResult['ELEMENT_FILE']['DESCRIPTION'] = $fileArray['DESCRIPTION']; $sotbitSeoMetaFile = '' . $arResult['ELEMENT_FILE']['DESCRIPTION'] . ''; $issetCondition = true; } }else{ $COND = []; foreach ($arResult as $key => $condition) { //get conditions and metatags $COND[$key]['RULES'] = unserialize($condition['RULE']); $COND[$key]['META'] = unserialize($condition['META']); $COND[$key]['ID'] = $condition['ID']; $COND[$key]['NO_INDEX'] = $condition['NO_INDEX']; $COND[$key]['STRONG'] = $condition['STRONG']; } $issetCondition = false; $results = []; foreach ($COND as $rule) //get metatags if condition true { if ($res = CSeoMeta::SetMetaCondition($rule, $arParams['SECTION_ID'], $condition['INFOBLOCK'])) { $results[] = $res; } } $sectionParams = CIBlockSection::GetList( [], ['ID' => $arParams['SECTION_ID']], false, ['SECTION_PAGE_URL'] )->GetNext(); if ($results && is_array($results)) { foreach ($results as $result) //set metatags { //INDEX if ($result['NO_INDEX'] == 'Y') { $APPLICATION->SetPageProperty("robots", 'noindex, nofollow'); } elseif ($result['NO_INDEX'] == 'N') { $APPLICATION->SetPageProperty("robots", 'index, follow'); } if ($metaData['SEOMETA_DATA']['ELEMENT_TITLE_REPLACE'] == 'Y') { $result['TITLE'] = $metaData['SEOMETA_DATA']['ELEMENT_TITLE']; } if (!empty($result['TITLE'])) { if ($classEmojiExist) { $result['TITLE'] = Emoji::decode($result['TITLE']); } $sotbitSeoMetaTitle = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['TITLE'])); $sotbitSeoMetaTitle = SeoMetaMorphy::convertMorphy($sotbitSeoMetaTitle, $morphyObject); $sotbitSeoMetaTitle .= $paginationText ?: ''; $APPLICATION->SetPageProperty("title", $sotbitSeoMetaTitle); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_KEYWORDS_REPLACE'] == 'Y') { $result['KEYWORDS'] = $metaData['SEOMETA_DATA']['ELEMENT_KEYWORDS']; } if (!empty($result['KEYWORDS'])) { if ($classEmojiExist) { $result['KEYWORDS'] = Emoji::decode($result['KEYWORDS']); } $sotbitSeoMetaKeywords = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['KEYWORDS'])); $sotbitSeoMetaKeywords = html_entity_decode(SeoMetaMorphy::convertMorphy($sotbitSeoMetaKeywords, $morphyObject)); $APPLICATION->SetPageProperty("keywords", $sotbitSeoMetaKeywords); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_DESCRIPTION_REPLACE'] == 'Y') { $result['DESCRIPTION'] = $metaData['SEOMETA_DATA']['ELEMENT_DESCRIPTION']; } if (!empty($result['DESCRIPTION'])) { if ($classEmojiExist) { $result['DESCRIPTION'] = Emoji::decode($result['DESCRIPTION']); } $sotbitSeoMetaDescription = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['DESCRIPTION']))); $sotbitSeoMetaDescription = html_entity_decode(SeoMetaMorphy::convertMorphy($sotbitSeoMetaDescription, $morphyObject)); $sotbitSeoMetaDescription .= $paginationText ?: ''; $APPLICATION->SetPageProperty("description", $sotbitSeoMetaDescription); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_PAGE_TITLE_REPLACE'] == 'Y') { $result['PAGE_TITLE'] = $metaData['SEOMETA_DATA']['ELEMENT_PAGE_TITLE']; } if (!empty($result['PAGE_TITLE'])) { if ($classEmojiExist) { $result['PAGE_TITLE'] = Emoji::decode($result['PAGE_TITLE']); } $sotbitSeoMetaH1 = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['PAGE_TITLE'])); $arResult['ELEMENT_H1'] = $sotbitSeoMetaH1 .= $paginationText ?: ''; $sotbitSeoMetaH1 = SeoMetaMorphy::convertMorphy($sotbitSeoMetaH1, $morphyObject); $APPLICATION->SetTitle($sotbitSeoMetaH1); $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_BREADCRUMB_TITLE_REPLACE'] == 'Y') { $result['BREADCRUMB_TITLE'] = $metaData['SEOMETA_DATA']['ELEMENT_BREADCRUMB_TITLE']; } if (!empty($result['BREADCRUMB_TITLE'])) { if ($classEmojiExist) { $result['BREADCRUMB_TITLE'] = Emoji::decode($result['BREADCRUMB_TITLE']); } $url = $protocol . $curReq->getServer()->getServerName() . $port . $curReq->getRequestUri(); $sotbitSeoMetaBreadcrumbLink = $url; $sotbitSeoMetaBreadcrumbTitle = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($result['BREADCRUMB_TITLE'])); $sotbitSeoMetaBreadcrumbTitle = SeoMetaMorphy::convertMorphy($sotbitSeoMetaBreadcrumbTitle, $morphyObject); if (!empty($sotbitSeoMetaBreadcrumbLink)) { $arResult['BREADCRUMB_TITLE'] = $sotbitSeoMetaBreadcrumbTitle; $arResult['BREADCRUMB_LINK'] = $url; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_TOP_DESC_REPLACE'] == 'Y') { $result['ELEMENT_TOP_DESC'] = $metaData['SEOMETA_DATA']['ELEMENT_TOP_DESC']; } if (!empty($result['ELEMENT_TOP_DESC'])) { if ($classEmojiExist) { $result['ELEMENT_TOP_DESC'] = Emoji::decode($result['ELEMENT_TOP_DESC']); } $sotbitSeoMetaTopDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['ELEMENT_TOP_DESC']))); $sotbitSeoMetaTopDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaTopDesc, $morphyObject); if (!empty($sotbitSeoMetaTopDesc)) { if ($result['ELEMENT_TOP_DESC_TYPE'] == 'text') { $sotbitSeoMetaTopDesc = htmlspecialchars($sotbitSeoMetaTopDesc); } $arResult['ELEMENT_TOP_DESC'] = $sotbitSeoMetaTopDesc; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_BOTTOM_DESC_REPLACE'] == 'Y') { $result['ELEMENT_BOTTOM_DESC'] = $metaData['SEOMETA_DATA']['ELEMENT_BOTTOM_DESC']; } if (!empty($result['ELEMENT_BOTTOM_DESC'])) { if ($classEmojiExist) { $result['ELEMENT_BOTTOM_DESC'] = Emoji::decode($result['ELEMENT_BOTTOM_DESC']); } $sotbitSeoMetaBottomDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['ELEMENT_BOTTOM_DESC']))); $sotbitSeoMetaBottomDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaBottomDesc, $morphyObject); if (!empty($sotbitSeoMetaBottomDesc)) { if ($result['ELEMENT_BOTTOM_DESC_TYPE'] == 'text') { $sotbitSeoMetaBottomDesc = htmlspecialchars($sotbitSeoMetaBottomDesc); } $arResult['ELEMENT_BOTTOM_DESC'] = $sotbitSeoMetaBottomDesc; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_ADD_DESC_REPLACE'] == 'Y') { $result['ELEMENT_ADD_DESC'] = $metaData['SEOMETA_DATA']['ELEMENT_ADD_DESC']; } if (!empty($result['ELEMENT_ADD_DESC'])) { if ($classEmojiExist) { $result['ELEMENT_ADD_DESC'] = Emoji::decode($result['ELEMENT_ADD_DESC']); } $sotbitSeoMetaAddDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($result['ELEMENT_ADD_DESC']))); $sotbitSeoMetaAddDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaAddDesc, $morphyObject); if (!empty($sotbitSeoMetaAddDesc)) { if ($result['ELEMENT_ADD_DESC_TYPE'] == 'text') { $sotbitSeoMetaAddDesc = htmlspecialchars($sotbitSeoMetaAddDesc); } $arResult['ELEMENT_ADD_DESC'] = $sotbitSeoMetaAddDesc; } $issetCondition = true; } if ($metaData['SEOMETA_DATA']['ELEMENT_FILE_REPLACE'] == 'Y') { $result['ELEMENT_FILE'] = $metaData['SEOMETA_DATA']['ELEMENT_FILE']; } if (intval($result['ELEMENT_FILE']) > 0) { $fileArray = CFile::GetFileArray($result['ELEMENT_FILE']); $arResult['ELEMENT_FILE']['SRC'] = $fileArray['SRC']; $arResult['ELEMENT_FILE']['DESCRIPTION'] = $fileArray['DESCRIPTION']; $sotbitSeoMetaFile = '' . $arResult['ELEMENT_FILE']['DESCRIPTION'] . ''; $issetCondition = true; } //CANONICAL if ($arParams['KOMBOX_FILTER'] == 'Y' && CModule::IncludeModule('kombox.filter')) { $str = CKomboxFilter::GetCurPageParam(); $str = explode("?", $str); $CurPage_temp = SeometaUrlTable::getByRealUrl($str[0], SITE_ID); if (!empty($CurPage_temp['NEW_URL'])) { $CurPage = $CurPage_temp['NEW_URL']; } else { $CurPage = $str[0]; } } else { $CurPage = $APPLICATION->GetCurPage(false); } if ($issetCondition && Option::get($moduleId, "USE_CANONICAL_" . SITE_ID, "Y") != "N") { if ($metaData['NEW_URL'] || $metaData['REAL_URL']) { $APPLICATION->SetPageProperty("canonical", $protocol . $curReq->getServer()->getServerName() . $metaData['NEW_URL'] ?: $metaData['REAL_URL']); } elseif ($curReq->getServer()->get('REDIRECT_URL') || $curReq->getRequestUri()) { $APPLICATION->SetPageProperty("canonical", $protocol . $curReq->getServer()->getServerName() . $curReq->getServer()->get('REDIRECT_URL') ?: $curReq->getRequestUri()); } else { $APPLICATION->SetPageProperty("canonical", $protocol . $curReq->getServer()->getServerName() . $CurPage); } } //OpenGraph and TwitterCard $metaDataOgTw = new OGraphTWCard(); $arOGParams = OpengraphTable::getByConditionID($result['ID']); if(is_array($arOGParams) && $arOGParams['OG_FIELD_ACTIVE'] == 'Y') { unset($arOGParams['OG_FIELD_ACTIVE']); unset($arOGParams['ID']); unset($arOGParams['CONDITION_ID']); if ($metaData['NEW_URL'] || $metaData['REAL_URL']) { $arOGParams['OG_FIELD_URL'] = $protocol . $curReq->getServer()->getServerName() . $metaData['NEW_URL'] ?: $metaData['REAL_URL']; } else { $arOGParams['OG_FIELD_URL'] = $metaDataOgTw->getHttpSchema() . '://' . $curReq->getServer()->getServerName() . $CurPage; } foreach ($arOGParams as $name => $value) { if($name == 'OG_FIELD_TITLE' || $name == 'OG_FIELD_DESCRIPTION') { $afterProcess = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($value)); $afterProcess = SeoMetaMorphy::convertMorphy($afterProcess, $morphyObject); if($afterProcess) { $value = $afterProcess; } } $metaDataOgTw->setData($name, $value); } } $arTWParams = TwitterCardTable::getByConditionID($result['ID']); if(is_array($arTWParams) && $arTWParams['TW_FIELD_ACTIVE'] == 'Y') { unset($arTWParams['TW_FIELD_ACTIVE']); unset($arTWParams['ID']); unset($arTWParams['CONDITION_ID']); unset($arTWParams['TW_FIELD_IMAGE_descr']); foreach ($arTWParams as $name => $value) { if($name == 'TW_FIELD_TITLE' || $name == 'TW_FIELD_DESCRIPTION') { $afterProcess = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($value)); $afterProcess = SeoMetaMorphy::convertMorphy($afterProcess, $morphyObject); if($afterProcess) { $value = $afterProcess; } } $metaDataOgTw->setData($name, $value); } } //tags if ($issetCondition && $result['ID'] > 0) { $SeoMetaWorkingConditions[] = $result['ID']; } } } else { $notConfiguredSeoData = SeometaNotConfiguredPagesTable::getBySiteID(SITE_ID); if($notConfiguredSeoData['ACTIVE'] == 'Y' && CSeoMeta::isFilterChecked()) { $mode = $_REQUEST['PAGEN_1'] ? $notConfiguredSeoData['BEHAVIOR_PAGINATION_PAGES'] : $notConfiguredSeoData['BEHAVIOR_FILTERED_PAGES']; if ($mode == 'no_index') { $APPLICATION->SetPageProperty("robots", 'noindex, nofollow'); } elseif ($mode == 'canonical') { if (Option::get($moduleId, "NO_INDEX_" . SITE_ID, "N") === 'Y') { $APPLICATION->SetPageProperty("robots", 'noindex, nofollow'); } else { $APPLICATION->SetPageProperty("robots", 'index, follow'); } } if ($notConfiguredSeoData['META_ELEMENT_TITLE']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_TITLE'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_TITLE']); } $sotbitSeoMetaTitle = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($notConfiguredSeoData['META_ELEMENT_TITLE'])); $sotbitSeoMetaTitle = SeoMetaMorphy::convertMorphy($sotbitSeoMetaTitle, $morphyObject); $sotbitSeoMetaTitle .= $paginationText ?: ''; $sotbitSeoMetaTitle = \CSeoMeta::UserFields($sotbitSeoMetaTitle, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $APPLICATION->SetPageProperty("title", $sotbitSeoMetaTitle); } if ($notConfiguredSeoData['META_ELEMENT_KEYWORDS']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_KEYWORDS'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_KEYWORDS']); } $sotbitSeoMetaKeywords = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($notConfiguredSeoData['META_ELEMENT_KEYWORDS'])); $sotbitSeoMetaKeywords = SeoMetaMorphy::convertMorphy($sotbitSeoMetaKeywords, $morphyObject); $sotbitSeoMetaKeywords = \CSeoMeta::UserFields($sotbitSeoMetaKeywords, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $APPLICATION->SetPageProperty("keywords", $sotbitSeoMetaKeywords); } if ($notConfiguredSeoData['META_ELEMENT_DESCRIPTION']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_DESCRIPTION'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_DESCRIPTION']); } $sotbitSeoMetaDescription = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($notConfiguredSeoData['META_ELEMENT_DESCRIPTION'])); $sotbitSeoMetaDescription = SeoMetaMorphy::convertMorphy($sotbitSeoMetaDescription, $morphyObject); $sotbitSeoMetaDescription .= $paginationText ?: ''; $sotbitSeoMetaDescription = \CSeoMeta::UserFields($sotbitSeoMetaDescription, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $APPLICATION->SetPageProperty("description", $sotbitSeoMetaDescription); } if ($notConfiguredSeoData['META_ELEMENT_PAGE_TITLE']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_PAGE_TITLE'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_PAGE_TITLE']); } $sotbitSeoMetaH1 = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($notConfiguredSeoData['META_ELEMENT_PAGE_TITLE'])); if ($sotbitSeoMetaH1) { $sotbitSeoMetaH1 .= $paginationText ?: ''; $sotbitSeoMetaH1 = SeoMetaMorphy::convertMorphy($sotbitSeoMetaH1, $morphyObject); $sotbitSeoMetaH1 = \CSeoMeta::UserFields($sotbitSeoMetaH1, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $arResult['ELEMENT_H1'] = $sotbitSeoMetaH1; $APPLICATION->SetTitle($sotbitSeoMetaH1); } } if ($notConfiguredSeoData['META_ELEMENT_BREADCRUMB_TITLE']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_BREADCRUMB_TITLE'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_BREADCRUMB_TITLE']); } $url = $protocol . $curReq->getServer()->getServerName() . $port . $curReq->getRequestUri(); $sotbitSeoMetaBreadcrumbLink = $url; $sotbitSeoMetaBreadcrumbTitle = Engine::process($sku, SeoMetaMorphy::prepareForMorphy($notConfiguredSeoData['META_ELEMENT_BREADCRUMB_TITLE'])); $sotbitSeoMetaBreadcrumbTitle = SeoMetaMorphy::convertMorphy($sotbitSeoMetaBreadcrumbTitle, $morphyObject); $sotbitSeoMetaBreadcrumbTitle = \CSeoMeta::UserFields($sotbitSeoMetaBreadcrumbTitle, $arParams['SECTION_ID'], $condition['INFOBLOCK']); if (isset($sotbitSeoMetaBreadcrumbLink) && !empty($sotbitSeoMetaBreadcrumbLink)) { $arResult['BREADCRUMB_TITLE'] = $sotbitSeoMetaBreadcrumbTitle; $arResult['BREADCRUMB_LINK'] = $url; } } if ($notConfiguredSeoData['META_ELEMENT_TOP_DESC']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_TOP_DESC'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_TOP_DESC']); } $sotbitSeoMetaTopDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($notConfiguredSeoData['META_ELEMENT_TOP_DESC']))); $sotbitSeoMetaTopDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaTopDesc, $morphyObject); $sotbitSeoMetaTopDesc = \CSeoMeta::UserFields($sotbitSeoMetaTopDesc, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $arResult['ELEMENT_TOP_DESC'] = $sotbitSeoMetaTopDesc ?: ''; } if ($notConfiguredSeoData['META_ELEMENT_BOTTOM_DESC']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_BOTTOM_DESC'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_BOTTOM_DESC']); } $sotbitSeoMetaBottomDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($notConfiguredSeoData['META_ELEMENT_BOTTOM_DESC']))); $sotbitSeoMetaBottomDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaBottomDesc, $morphyObject); $sotbitSeoMetaBottomDesc = \CSeoMeta::UserFields($sotbitSeoMetaBottomDesc, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $arResult['ELEMENT_BOTTOM_DESC'] = $sotbitSeoMetaBottomDesc ?: ''; } if ($notConfiguredSeoData['META_ELEMENT_ADD_DESC']) { if ($classEmojiExist) { $notConfiguredSeoData['META_ELEMENT_ADD_DESC'] = Emoji::decode($notConfiguredSeoData['META_ELEMENT_ADD_DESC']); } $sotbitSeoMetaAddDesc = Engine::process($sku, SeoMetaMorphy::prepareForMorphy(html_entity_decode($notConfiguredSeoData['META_ELEMENT_ADD_DESC']))); $sotbitSeoMetaAddDesc = SeoMetaMorphy::convertMorphy($sotbitSeoMetaAddDesc, $morphyObject); $sotbitSeoMetaAddDesc = \CSeoMeta::UserFields($sotbitSeoMetaAddDesc, $arParams['SECTION_ID'], $condition['INFOBLOCK']); $arResult['ELEMENT_ADD_DESC'] = $sotbitSeoMetaAddDesc ?: ''; } //CANONICAL if ($mode == 'canonical') { $CurPage = $APPLICATION->GetCurPage(false); if ($arParams['KOMBOX_FILTER'] == 'Y' && CModule::IncludeModule('kombox.filter')) { $str = CKomboxFilter::GetCurPageParam(); $str = explode("?", $str); $CurPage_temp = SeometaUrlTable::getByRealUrl($str[0], SITE_ID); $CurPage = $str[0]; if (!empty($CurPage_temp['NEW_URL'])) { $CurPage = $CurPage_temp['NEW_URL']; } } if ($sectionParams['SECTION_PAGE_URL']) { $APPLICATION->SetPageProperty("canonical", $protocol . $curReq->getServer()->getServerName() . $sectionParams['SECTION_PAGE_URL']); } } } } } $SeoMetaWorkingConditions = array_unique($SeoMetaWorkingConditions); if(Option::get("sotbit.seometa",'INC_STATISTIC','N',SITE_ID) == 'Y') { $arParams['KOMBOX_FILTER'] = $arParams['KOMBOX_FILTER'] ?: 'N'; Asset::getInstance()->addJs("/bitrix/components/sotbit/seo.meta/js/stat.js"); $prop['ITEMS'] = $sotbitFilterResult['ITEMS'] ?: []; echo ''; } $this->IncludeComponentTemplate(); ?>