Битрикс. Добавляем <link rel="canonical"
Последние записи
Добавляем каноническую ссылку через настройки комплексного компонента каталог
Если у вас стандартный компонент и шаблон, то с большой долей вероятности вам достаточно просто добавить параметр в вызов компонента:
$APPLICATION->IncludeComponent(
'bitrix:catalog',
'catalog',
[
...
'DETAIL_SET_CANONICAL_URL'=> 'Y'
...
]
);
Добавляем rel canonical в header.php
Как вариант, каноническую ссылку можно добавить обрезая из урл все лишнее
$page = $APPLICATION->GetCurPage(true);
if (preg_match('/^\/catalog/', $curPage))
echo '<link rel="canonical" href="' . page . '" />';
или
<link rel="canonical" href="<?=$APPLICATION->GetCurDir(); ?>" />
Добавление канонической ссылки через шаблоны компонента catalog
В файле result_modifier.php
компонента catalog.section
в самый низ добавляем:
$arSection = CIblockSection::GetById($arResult["ID"])->GetNext();
$arResult['SECTION_PAGE_URL'] = $arSection['SECTION_PAGE_URL'];
$cp = $this->__component;
if (is_object($cp))
$cp->SetResultCacheKeys(array('SECTION_PAGE_URL'));
В файл component_epilog.php
добавляем
$APPLICATION->AddHeadString('<link href="https://'.SITE_SERVER_NAME.$arResult['SECTION_PAGE_URL'].'" rel="canonical" />',true);
В шаблоне компонента catalog.element
действуем аналогичным способом. В файл result_modifier.php
добавляем
$arElement = CIblockElement::GetById($arResult["ID"])->GetNext();
$arResult['DETAIL_PAGE_URL'] = $arElement['DETAIL_PAGE_URL'];
$cp = $this->__component;
if (is_object($cp))
$cp->SetResultCacheKeys(array('DETAIL_PAGE_URL'));
В component_epilog.php
добавляем
$APPLICATION->AddHeadString('<link href="https://'.SITE_SERVER_NAME.$arResult['DETAIL_PAGE_URL'].'" rel="canonical" />',true);
Комментарии