всем привет. а как в этой конструкции исключить страницы каталога, т.е. чтобы главная, корзина и другие получали каноническую ссылку из текущей, а в каталоге каноническая на уровне компонента ставится.
27.01.2016 11:41:06
Юлиана Присяжнюк, почему бы вам тогда не отключить в компоненте каталога установку канона?
|
|
|
|
16.06.2016 17:46:29
Во-первых такой штуки, как false() не существует, это не метод. Во-вторых, зачем использовать GetCurPageParam если тот же результат выдаст GetCurPage(false)? К тому же, /catalog/section/ /catalog/section/?page=2 Не являются одинаковыми страницами, т.к. первая выдает товары с первой страницы, а вторая со второй, и их то как раз не надо склеивать, по этому предложенный метод уберет из индекса страницы не только лишние, но и полезные. По этому всегда смотрите что применяете прежде чем применить. Вообще нужно взять GetCurPageParam затем проверить, есть ли там параметр постраничной навигации (или еще какой нужный) а потом уже убирать все остальное. и делать такую страницу канонической.
Вместо str_replace('index.php', '', $APPLICATION->GetCurPage(true)) Нужно просто написать $APPLICATION->GetCurPage(false) Но проблема будет таже с параметрами постраничной навигации. Да, кстати, по поводу решения Где то так будет работать: <? $gets = array(); foreach($_GET as $gettik=>$val) { if(strpos($gettik, 'PAGEN_') === false) { $gets[$gettik] = $val; } } $page = $APPLICATION->GetCurPageParam("", array_keys($gets), false); if($APPLICATION->GetCurPageParam("", "", false) !== $page) { $APPLICATION->AddHeadString('<link href="'.$page.'" rel="canonical" />',true); } ?> ну и в цикле проверки на параметры, можете свои добавить параметры - которые не являются каноническими для страницы. Можно вставить это в header.php если конечно у вас все страницы без параметров =) Если у вас не настроены ЧПУ - рекомендую настроить, ну или добавлять ваши параметры (вроде id) в цикл проверки. |
|||||||
|
|
04.04.2017 13:01:05
Для версии D7
Каноникал для всех страниц из пагинации
|
|||||
|
|
30.05.2017 15:26:05
|
|||||||
|
|
23.09.2017 14:46:14
|
|||
|
|
16.11.2017 01:13:18
Решение:
вставляем это в catalog.section в result_modifier.php $arSection = CIblockSection::GetById($arResult["ID"])->GetNext(); а в в component_epilog.php вставляем это: $APPLICATION->AddHeadString('<link href="http://'.SITE_SERVER_NAME.$arResult['SECTION_PAGE_URL'].'" rel="canonical" />',true); Все должно работать! |
|
|
|
30.03.2018 13:59:27
$APPLICATION->AddHeadString('<link href="http://'.SITE_SERVER_NAME.$arResult['SECTION_PAGE_URL'].'" |
|||
|
|
29.04.2018 18:37:29
Спасибо за инструкцию !
Настраиваю для сайта Или же сразу, пусть спец сделает Кто может быстро настроить и за сколько ? |
||||
|
|
|||