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

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

Средство по борьбе с дублями, работающее на 100%

 (Прочитано 157 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alfa212
Захожу иногда
**

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

Сообщений: 10


« : 13.05.2016, 09:30:29 »

Долго бился с дублями на разных сайтах. Ставил всякие плагины, nodubles и т.д. Ничего нормально не помогало, думал, уже не решить эту проблему. Но вот недавно придумал такой вариант:
Вот 100% действенный метод (указываем в роботс):

Код:
Disallow: /*?*
Disallow: /*?
Disallow: /*0-*
Disallow: /*1-*
Disallow: /*2-*
Disallow: /*3-*
Disallow: /*4-*
Disallow: /*5-*
Disallow: /*6-*
Disallow: /*7-*
Disallow: /*8-*
Disallow: /*9-*

Правда этот метод накладывает некоторые ограничения - во-первых, надо будет создавать пункты меню для каждого материала. Эти пункты можно засунуть в служебное меню, которое не будет видно на сайте. Но должны быть пункты для каждой статьи. Во-вторых, в алиасах пунктов меню нельзя использовать сочетания, приведенные выше, с цифрами и тире.
Ну вот в принципе и все - все урлы пунктов меню будут открыты для индексации, все урлы, содержащие цифры и тире (прямые урлы статей), будут закрыты для поисковиков. Пробовал, работает 100% - ставил даже на сайты с тысячами дублей в поиске - за две недели - месяц все лишнее чистилось из поиска.

Дубли в основном плодят блоги категорий и всякие плагины - то, что ссылается на статью по ее прямому адресу. А все адреса статей содержат их id. Вот тут-то мы их "поймаем".
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1468


« Ответ #1 : 13.05.2016, 09:46:27 »

Зачем так усложнять? Можно и проще. Если вставить в шаблон следующее, то дубли закроются от индексации без всяких ограничений:

Код
$vars = JFactory::getApplication()->getRouter()->getVars();                
$url_parts = explode('?', JRoute::_('index.php?' . http_build_query($vars), false), 2);
$path = $url_parts[0];
 
$uri = JURI::getInstance();
$canonical = $uri->toString(array('scheme', 'host', 'port')). $path;
$root = JURI::root(true);
 
if($canonical !== urldecode(JURI::current()) && $path !== "$root/index.php")
{
   JFactory::getDocument()->setMetaData('robots', 'noindex');
}

Далее в robots.txt можно закрыть от индексации страницы с GET параметрами (при желании).
« Последнее редактирование: 13.05.2016, 09:57:50 от Филипп Сорокин » Записан
Страниц: [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