Решение проблемы дублирования контента в K2

07 Апреля 2011г.

Одна из важных недоработок компонента K2 – это дублирование страниц в результате использования content module k2 (mod_k2_content) при включенном SEF на joomla . Таким образом адреса страниц в компоненте получаются  http://ваш_сайт/алиас_страницы_раздела_компонента/item/11-алиас_материала, в то время как в модуле ссылки на материалы получаются  в виде http://ваш_сайт/component/k2/itemlist/category/71-ваш_алиас.html

 

 

Получается что каждая страница материала и категории дублируется , а это отрицательно сказывается на ранжировании в поисковых системах.


Решение.


Так как решений этой проблемы я нигде не нашел, то решил сделать все сам.
1.    Открываем файл modules/mod_k2_content/helper.php ;
2.    Изменяем формирование переменной, которая отвечает за создание ссылок на материал
Заменяем  строку
//Read more link
$item->link = urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias))));

На
$item->link = 'алиас_раздела_впункте_меню/item/'. $item->id.'-'.urlencode($item->alias) .'.html';
3.    Изменяем формирование переменной, которая отвечает за создание ссылок на категории:
Заменяем
//Category link
        if ($params->get('itemCategory'))
          $item->categoryLink = urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias))));

         
На
//Category link
                if ($params->get('itemCategory'))
                $item->categoryLink = 'алиас_раздела_впункте_меню /itemlist/category/'. $item->catid.'-'.urlencode($item->categoryalias) .'.html';
       

Примечание!  '.html' добавляем в конце в том случае если в настройках joomla у Вас включено добавление суффикса адреса.

 
Интересная статья? Поделись ей с другими:

Комментарии  

 
+2 #3 05.09.2011 10:27
По идее, надо цеплять и пихать в линк Itemid
Цитировать
 
 
0 #2 04.05.2011 07:15
Цитирую Валерий:
Не помогло.
Дублирование остается.
Установлен модуль mod_k2_tool.
Может в нем создаются дубликаты?

Я рассмотрел лишь пример с использованием модуля mod_k2_content) . На самом деле все модули K2 одинаково генерируют "левые" url. Думаю, внимательно посмотрев данный пример, не сложно будет найти , то что необходимо поправить и в модуле mod_k2_tool.
Цитировать
 
 
0 #1 03.05.2011 07:43
Не помогло.
Дублирование остается.
Установлен модуль mod_k2_tool.
Может в нем создаются дубликаты?
Цитировать