Решение проблемы дублирования контента в 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 у Вас включено добавление суффикса адреса.
|
Комментарии
Я рассмотрел лишь пример с использованием модуля mod_k2_content) . На самом деле все модули K2 одинаково генерируют "левые" url. Думаю, внимательно посмотрев данный пример, не сложно будет найти , то что необходимо поправить и в модуле mod_k2_tool.
Дублирование остается.
Установлен модуль mod_k2_tool.
Может в нем создаются дубликаты?
RSS лента комментариев этой записи.