Форум русской поддержки Joomla!® CMS
16.08.2017, 21:39:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Избавляемся от дублей при смене метода сортировки на get

 (Прочитано 192 раз)
0 Пользователей и 1 Гость смотрят эту тему.
broot
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 65


« : 22.03.2017, 12:52:09 »

Добрый день.
Меня достала ошибка браузера ERR_CACHE_MISS, и я решил сменить метод сортировки на get в файле form_filters.php
Появились страшные ссылки с префиксом ?order=3&limit=20&orderby=1&limitstart=0 и тому подобные, ну и соответственно куча дублей.
Добавил в робот Disallow: /*?order, но почему то Google все равно переходит по этим ссылкам. Решил использовать канонические URL для этих страниц.
Нашел на этом форуме прекрасное решение для категорий, чуть изменил его и вставил в начало файла form_filters.php
Код:
<!------------ Start Canonical-Mod--!>
<?php
$document = JFactory::getDocument();
$docstart = JRequest::getInt('start',0);
$docorder = JRequest::getInt('order',0);
$docroute = 'http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'],0,strpos($_SERVER['REQUEST_URI'],'?'));
if($docorder > 0 || $docstart > 0 ) {
$document->addHeadLink($docroute, 'canonical', 'rel', '');
}
?>
<!------------ End Canonical-Mod---!>
Вроде все работает, надеюсь что помог кому нибудь.
Если сайт на протоколе https то соответственно  надо заменить в коде.
« Последнее редактирование: 22.03.2017, 13:06:34 от broot » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet