Избавляемся от дублей страниц в 1С-Битрикс
1С-Битрикс - очень универсальная CMS с огромнейшим функционалом. 90% проблем решается штатными средствами, но за эту универсальность приходится расплачиваться некоторыми "дырами".
Сегодня мы попробуем решить одну очень нашумевшую проблему SEO.В Битриксе есть возможность задавать свой ЧПУ. Вроде бы здорово, но возникает проблема, когда по разным адресам появляется одна и та же страница. Например:
1) mysite.ru/catalog/phones/iphone-6/ 2) mysite.ru/catalog/smartphones/iphone-6/
Происходит это по множеству причин. В частности из-за того, что товар может быть привязан к нескольким категориям или мы заходим в товар из родительских разделов. Ну и вместо названия раздела можно вписать все, что угодно, например:
mysite.ru/catalog/smartphones-blablabla/iphone-6/
И это так же будет работать. Откроется все та же страница карточки товара.
Побороть этот недуг можно разными способами.Самый простой - прописать каноническую ссылку.
Для этого заходим в шаблон элемента каталога 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. Далее просто добавляем строчку в component_epilog.php:
$APPLICATION->AddHeadString('<link href="//'.SITE_SERVER_NAME.$arResult['DETAIL_PAGE_URL'].'" rel="canonical" />',true);
Проблема дублей решена. Теперь рады все, как поисковики, так и клиенты ;)
Комментарии (2)