Есть сайт (интерент магазин), на нем множество параметров фильтрации, а так разделение на страницы (пагинация)
site.ru/catalog/category/?PAGEN_1=2
Вопрос, как можно реализовать canonical ссылку в шапке страницы?
<link rel="canonical" href="site.ru/catalog/category/">
Проблема, что поисковики начали утверждать, у меня в два раза больше страниц, чем на самом деле (начали создавать дубли одних и тех же страниц). Выход один, указать каноническую страницу, но как реализовать?
Перечитал весь интеренет, ответа не нашел. Кто сталкивался, как решил?
------------------------
Решение вопроса:Для catalog.section
в result_modifier.php
$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="http://'.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="http://'.SITE_SERVER_NAME.$arResult['DETAIL_PAGE_URL'].'" rel="canonical" />',true);
Всем спасибо кто откликнулся. Надеюсь данное решение кому то поможет вроде меня.
п.с. в техподдержке согласились со мной, что это необходимый функционал и обещали что добавят в будущую версию, правда не уточнили в какой именно релиз.
п.с. ребят, за вопросом не слежу (он востребован, комментарии постоянно появляются), решение возможно устарело. Напишите в ЛК правильный вариант, что бы я обновил решение в вопросе.