Пагинация google в битриксе

При создании сайта очень важно не забывать о том, насколько хорошо сайт будет принят поисковыми системами. Существует множество факторов ранжирования, большинство из которых неизвестно SEO-оптимизаторам. Одним из новых «фишек» в продвижении сайта является добавление meta-тега, показывающего, что у страницы есть продолжение, по ссылкам prev/next

<link rel="prev" href="/news/?PAGEN_1=1" />

<link rel="next" href="/news/?PAGEN_1=3" />

Это позволит поисковикам более грамотно проиндексировать сайт, и понять, что страница является продолжением.

В стандартных компонентах битрикса пагинация google отсутствует.

Задача: сделать пагинацию google в битриксе, следующим образом:

1.       Для первой страницы выводим link rel="prev"

2.       Для последней страницы выводим link rel="next"

3.       На промежуточных страницах выводим и link rel="prev" и link rel="next"

4.       На страницах без пагинации не выводим ничего

Нам необходимо задать новую переменную через настойки модуля управление структурой. Для этого идем в админку – настройки – настройки продукта – настройки модулей – управление структурой. Раздел – типы свойств.

1.jpg

Для начала скопируем шаблон компонента system.pagenavigation в папку с нашим шаблоном (ПУТЬ). Здесь добавим переменную google_prev_next и нажмем сохранить.

В header.php нашего шаблона вставим строку           

<?$APPLICATION->ShowProperty('google_prev_next');?>

Вставляем в блок <head>

Затем нам необходимо кастомизировать стандартный компонент битрикс system.pagenavigation

Для этого скопируем содержимое папки с шаблоном компонента в раздел /bitrix/шаблон_сайта/components/bitrix/system.pagenavigation/.default/

В конец файла template.php добавим следующий код:

	 if($arResult["NavPageNomer"]!=1)
	    $APPLICATION->SetPageProperty("page_number", " - страница ".$arResult["NavPageNomer"]);

	 if($arResult["NavPageNomer"] > 1)
	    $prev = '<link rel="prev" href="'.$arResult["sUrlPath"].$strNavQueryString.'?PAGEN_'.$arResult["NavNum"].'='.($arResult["NavPageNomer"]-1).'" />';

	 if($arResult["NavPageNomer"] < $arResult["NavPageCount"])
	    $next = '<link rel="next" href="'.$arResult["sUrlPath"].$strNavQueryString.'?PAGEN_'.$arResult["NavNum"].'='.($arResult["NavPageNomer"]+1).'" />';

	 $APPLICATION->SetPageProperty("google_prev_next", $prev.$next);

Теперь чистим кеш, и видим готовую пагинацию google в битриксе.



Статьи на тему: Оставить комментарий
x
Комментарий успешно отправлен и будет доступен после проверки модератором!