Как убрать дубли страниц в Joomla?
Для борьбы с дублями страниц в Joomla было создано расширение разработчиком Hekima
Плагин ShnoDoubles прост в использовании, и достаточно всего лиш установить его и активировать в менеджере плагинов.
Что полезного делает плагин ShnoDoubles ?
Плагин перенаправляет (делает редирект 301) с дублирующих страниц на оригинальные страницы сайта.Оригинальная страница считается та страница которая привязана к пункту меню.
Так же в настройках плагина можно установить перенаправление с дублей на страницу ошибки 404 или же оставить перенаправлять на оригинальную ссылку.
Скачиваем плагин и устанавливаем его через стандартный Менеджер расширений: Установка
После установки плагина и для его старта включите его в менеджере плагинов.
После активации плагина идем по фтп в директорию вашего сайта.
Добавляем следующий код для работы плагина
Пример куда вставлять код в скриптах :
// no direct access
defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
// Create shortcuts to some parameters.
$params = $this->item->params;
$images = json_decode($this->item->images);
$urls = json_decode($this->item->urls);
$canEdit = $this->item->params->get('access-edit');
$user = JFactory::getUser();
?>
Добавляем код сразу после закрывающего тега ?>
в папке components\com_content\views\article\tmpl открываем default.php и вверху после запрещающего кода доступа после тега ?> к скрипту добавляем следующи код и сохраняем изменения
<?php
if ($this->item->readmore_link != JRequest::getURI())
JApplication::redirect ($this->item->readmore_link);
?>
в папке components\com_content\views\category\tmpl открываем blog.php и вверху после запрещающего кода доступа после тега ?> к скрипту добавляем следующи код и сохраняем изменения
<?php if ($this->item->state == 0) : ?>
<div class="system-unpublished">
<?php endif; ?>
в папке файл components\com_content\views\featured\tmpl открываем default.php и вверху после запрещающего кода доступа после тега ?> к скрипту добавляем следующи код и сохраняем изменения
<?php
$this->original_link = "/";
if (JRequest::getInt('start') > 0) $this->original_link .= "index.php?start=" .
JRequest::getVar('start');
$this->real_link = JRequest::getURI();
if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link,'','' ,true);
?>
Примечание: Если у вас в установленом шаблоне присутствует папка com_content переименуйте или удалите в папках
в папке шаблона article - файл default.php
в папке шаблона category - файл blog.php
в папке шаблона featured - файл default.php
Данный метод избавления от дублей подходит только для Joomla 2.5
Совместимость:
shnodoubles.zip | [Плагин ShnoDoubles для Joomla 2.5] |