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

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

Избавляемся от дублей страниц с помощью 301 редиректа

 (Прочитано 75644 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Efanych
Группа развития
*****

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

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



« : 14.02.2012, 11:59:39 »

Отличный способ избавления от дублей на сайте придумал пользователь TwistedAndy
Принцип работы редиректа описан в теме Решение проблемы с дублями страниц в Joomla 1.5

Так же в той теме пользователь sherza написала


Ещё...




Решение предназначено для использования со стандартным SEF. При использовании сторонних SEF корректная работа не гарантируется.

В этой теме буду выкладывать решения для сторонних компонентов.
Приведённый код желательно вставлять после запрета прямого доступа, если знаете синтаксис php. Если не знаете, то просто скопируйте код и вставьте в самый верх указаного файла. Файлы буду указывать системные, но часто они могут быть переопределены в шаблоне в папке HTML, тогда указаный код необходимо писать в переопределённые файлы, иначе работать не будет. Подробнее о шаблонизации

Joomla 1.6+ (эти файлы почти всегда переопределены в шаблоне, так что ищите в папке HTML шаблона)
Показать текстовый блок

Для VirtueMart 1,1 (может и на других заработает, не проверял)
Показать текстовый блок

Для FLEXIcontent 2.0
Показать текстовый блок

Для K2
Показать текстовый блок

Для zoo. (Проверял на 2.6.6)

Показать текстовый блок


Для JoomShopping (Пробовал на версии 3.11.4)
Показать текстовый блок
Стоит отметить, что при использовании редиректа станет невозможной передача параметров через URL. В часности не работает страница печати.

Аналогичным образом можна избавиться от дублей остальных компонентов. Коллекция будет пополняться. Не пропустите Azn

Добавлено: хак для роутера com_content проверялся на версии 2.5.4 и 2.5.7
Избавляет от дублей вида - site.ru/2 site.ru/333 и подобных (страницы нормально отдают 404)
/components/com_content/router.php
просто закомментировать строку
Код
$vars['id'] = (int)$segments[0];
« Последнее редактирование: 09.02.2016, 13:32:01 от Efanych » Записан
 
Efanych
Группа развития
*****

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

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



« Ответ #1 : 01.03.2012, 14:26:25 »

У вас в шаблоне есть папка html/com_content?
Записан
gadjet
Осваиваюсь на форуме
***

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

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


« Ответ #2 : 01.03.2012, 14:28:24 »

есть конечно)
Решение от TwistedAndy не сработало у меня. Да там у многих проблемы я смотрю были. Да и ваше проще на мой взгляд. Только в чем глюк собственно млм я забыл сделать что то?
Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 4723



« Ответ #3 : 01.03.2012, 14:30:01 »

есть конечно)
вот там и нужно прописывать, у вас шаблон переопределен

зы. подписалась Wink
Записан
leshkoff
Осваиваюсь на форуме
***

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

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



« Ответ #4 : 15.05.2012, 15:39:51 »

я так смотрю + тайтл вбиваю и все всплывает
(PS: пост выше обновила, ссылка на плагин)

Хотя в 1.5 эта проблема уходила простым добавлением кода. Может это потому, что для списка категорий (com_content/categories) в Joomla 1.7/2.5 код пока не разработали?
Записан
Efanych
Группа развития
*****

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

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



« Ответ #5 : 15.05.2012, 15:51:22 »

Для списка категорий не разработано. Но когда я первый раз ходил по тем странным ссылкам, там же был блог категории вроде. Я что ещё подумал, а вы альтернативные шаблоны не используете?
Записан
kman
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #6 : 14.10.2012, 22:34:06 »

Добрый день! Очень просим сделать подобное решение для борьбы с дублями DJ Catalog2
Записан
rightmiha
Осваиваюсь на форуме
***

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

Сообщений: 41


« Ответ #7 : 24.10.2012, 17:41:34 »

------
Поставьте или плагин от sherza
Или внесите правки в Файл components\com_content\views\article\tmpl\default.php (я этим способом пользуюсь для стандартного ком_контент)
Потом расскажете о результатах

Простите меня за наивные вопросы, если у меня весь контент в K2, то мне плагин ставить? Или лучше править код компонента?

Плагин вылечит вот эту проблему?:
http://site.ru/ohota/item/851-ohota-na-gusya
http://site.ru/ohota/item/851-ohota-n
http://site.ru/ohota/item/851
результат тот же, удаляй-добаляй один фиг.


и вот эта конструкция
http://site.ru/rybalka?start=10
если к ней добавить что угодно...
http://site.ru/rybalka?start=167676768686878787
не отдает 404... я так понимаю, что здесь выход - только robots.txt Disallow: /*?   так?

Спасибо!
« Последнее редактирование: 24.10.2012, 17:48:11 от rightmiha » Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 4723



« Ответ #8 : 24.10.2012, 17:50:48 »

для k2 править код компонента
чтоб пагинацию закрыть - да через robots.txt
Записан
rightmiha
Осваиваюсь на форуме
***

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

Сообщений: 41


« Ответ #9 : 24.10.2012, 17:57:06 »

для k2 править код компонента
чтоб пагинацию закрыть - да через robots.txt

в файл  components/com_k2/templates/default/item.php

вставил код

<?php
if ($this->item->link!= JRequest::getURI()) JApplication::redirect($this->item->link,'','' ,true);
?>

в самый верх файла, до открывающего  <?php

Эффекта нет, как угодно укорачивай удлинняй урл, или просто айдишник оставляй - не отдает 404
Я только правил код, модуль не ставил.
Кэш через админку чистил.
« Последнее редактирование: 24.10.2012, 18:01:02 от rightmiha » Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 4723



« Ответ #10 : 24.10.2012, 18:04:16 »

оно и не будет 404 отдавать, а должен быть 301 редирект на правильный урл
у вас точно default шаблон?
я к сожалению не использую k2, проверить не на чем
возможно Efanych поможет чем-то
Записан
rightmiha
Осваиваюсь на форуме
***

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

Сообщений: 41


« Ответ #11 : 24.10.2012, 18:07:07 »

оно и не будет 404 отдавать, а должен быть 301 редирект на правильный урл
у вас точно default шаблон?
я к сожалению не использую k2, проверить не на чем
возможно Efanych поможет чем-то

ну, может он и редиректит...но в строке урла так и остается корявая ссылка. Шаблон сайта не дефолтный, шаблон K2 (K2 v2.5.7) item.php из коробки дефолтный.

PS: Нашел еще одно руководство: http://joomlaforum.ru/index.php/topic,200322.msg1060006.html#msg1060006 
« Последнее редактирование: 24.10.2012, 18:30:18 от rightmiha » Записан
Efanych
Группа развития
*****

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

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



« Ответ #12 : 24.10.2012, 18:23:04 »

Цитировать
в файл  components/com_k2/templates/default/item.php
вставил код
Посмотрите, нет ли аналогичного файлика в папке HTML вашего шаблона.
Записан
rightmiha
Осваиваюсь на форуме
***

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

Сообщений: 41


« Ответ #13 : 24.10.2012, 18:33:43 »

Посмотрите, нет ли аналогичного файлика в папке HTML вашего шаблона.

Нет там файла нет, вот тут вот :
Увидел еще один шаг, который я не делал, но проблема у меня такая же как у человека, хотя версия выше чем 2.5

шаг: http://joomlaforum.ru/index.php/topic,200322.msg1060006.html#msg1060006

2) Добавляем строчки в файле /components/com_k2/k2.php (Только для К2, не выше 2.4.1. - В Версии 2.5.+ этот вопрос решен - именно оттуда и взял дополнительное условие).
После текста:
Код:
if (JFile::exists(JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php')) {
   require_once (JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php');
   $classname = 'K2Controller'.$controller;
   $controller = new $classname();
   $controller->execute(JRequest::getWord('task'));
   $controller->redirect();
}
Добавляем строчку:
Код:
else {
   JError::raiseError(404, JText::_('K2_404'));
}
Записан
Efanych
Группа развития
*****

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

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



« Ответ #14 : 24.10.2012, 19:53:21 »

Цитировать
проблема у меня такая же как у человека, хотя версия выше чем 2.5
Если
Цитировать
урл:  http://site.ru/rybalka/item/226-zimnyaya-ryibalka-nachinayuschim
отображает ту же самую страницу по адресам:
то там другая проблема.

Для проверки, тот ли вы файлик правите, поменяйте какой-нибуть класс дива и посмотрите, отобразятся ли изменения на сайте.
Записан
rightmiha
Осваиваюсь на форуме
***

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

Сообщений: 41


« Ответ #15 : 24.10.2012, 21:25:53 »

Еслито там другая проблема.

Для проверки, тот ли вы файлик правите, поменяйте какой-нибуть класс дива и посмотрите, отобразятся ли изменения на сайте.

Гениально! Azn ВСе работает, оказалось файлы были еще и в самом шаблоне сайта, очень глубоко закопаны. После того как я просто удалил файл по адресу: components\com_k2\templates\default\item.php сайт продолжил работу...как будто ниче и не удалялось.

пустил поиск по директориям -нашел еще шаблоны k2 следовательно, заменил - все работает!

Спасибо, Efanych !
Записан
ostrova
Осваиваюсь на форуме
***

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

Сообщений: 74


« Ответ #16 : 04.11.2012, 00:22:48 »

Здравствуйте!
Подскажите, а то сомневаюсь, в нужном ли направлении ищу...

У меня стоит модуль "Похожие материалы" и почему-то именно если с него перейти на главную страницу (она у меня называется Приветствие), то сслыка имеет вид не сайт.ру, а сайт.ру/stati/2-uncategorised/1-privetstvie.... stati - это пункт меню....

Вопрос: это тоже дубль, как от него избавиться? Как сделать так, чтобы, щелкая по пункту Приветствие в "Похожих материалах" человек попадал бы на сайт.ру, а не на сайт.ру/stati/2-uncategorised/1-privetstvie.

Что пробовалось: в Joomla есть компонент перенаправление. Так вот там сайт.ру/stati/2-uncategorised/1-privetstvie перенаправила на сайт.ру, но никаких изменений. (Кэш чищен)

Подскажите кто чем может!! Спасибо!

Записан
HiopsNerevar
Завсегдатай
*****

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

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


Я удобный.


« Ответ #17 : 04.11.2012, 19:51:18 »

Joomla 2.5 и PhocaGallery 3.2.1 и включен стандартный SEF
Имеется вот такой robots.txt(не менялся уже долгое время)
Показать текстовый блок

Однако Яндекс с завидным постоянством пополняет список "Документ запрещен в файле robots.txt" ссылками вида
/index.php?option=com_phocagallery&view=category&id=140:liiga&Itemid=165
/component/phocagallery/140-liiga/detail/2929-avtorskij-risunok.html?Itemid=165
/component/phocagallery/196-ruth-thompson/detail/3357-avtorskij-risunok.html?phocadownload=1&Itemid=162

Стоит плагин NOdoubles от Sherza однако при включении редиректа для фоки данные страницы выдают Ошибка 310 (net::ERR_TOO_MANY_REDIRECTS): Обнаружено слишком много переадресаций.

Подскажите как с этим бороться? А то идей совсем нет а страницы все пребывают и пребывают.
Записан
Efanych
Группа развития
*****

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

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



« Ответ #18 : 14.11.2012, 17:09:25 »

Добавил код склейки дублей для zoo
Записан
Efanych
Группа развития
*****

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

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



« Ответ #19 : 15.11.2012, 21:10:56 »

И для JoomShopping
Записан
alex_volkhov
Захожу иногда
**

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

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


« Ответ #20 : 16.11.2012, 11:26:10 »

Подскажите - тестирую роутер вот отсюда: http://joomlaforum.ru/index.php/topic,205086.msg1080752.html#msg1080752
По сути - он создает красивые ссылки в нужном формате, добавляя их к уже существующим в VirtueMart

Вопросы знатокам:
1) если использовать этот хак - он может заменить все ссылки на те, которые генерит роутер?
2) у меня сайт проиндексирован - страницы не пропадут из поиска, меня будут находить по старым ссылкам?
3) так и не понял - так что устанавливать, только решение, от TwistedAndy, только плагин от  sherza, или и то, и другое?
Записан
klara7
Давно я тут
****

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

Пол: Женский
Сообщений: 290



« Ответ #21 : 01.12.2012, 15:58:04 »

Efanych, скажите, пожалуйста, у меня после правки файла item.php в папках шаблона и components/com_k2/templates/default/ ситуация так и не решилась. Я заметила, что еще куча файлов с такими же названиями в папках:
- components/com_k2/views/item/tmpl
- components\com_k2\controllers
- components\com_k2\models
- components/com_k2/models
Может быть эти файлы тоже нужно править? Или лучше не трогать, как считаете?
Записан
beagler
Профи
********

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

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


beagler dot ru


« Ответ #22 : 09.12.2012, 11:58:52 »

Нашел у себя еще один дубль. На домене есть почта и по адресу mail.site.ru получаем полный дубль.
убираем в .htaccess домена:
Код:
RewriteCond %{HTTP_HOST} ^mail\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=permanent,L]
Записан
Maxum
Завсегдатай
*****

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

Сообщений: 689


« Ответ #23 : 15.12.2012, 05:46:37 »

Редирект не желает работать при включённом кэше (Общие настройки - Система - "Стандартное" или "Прогрессивное" кэширование). Ни коды, добавленные в соответствующие файлы, ни плагин. Может открыться материал, у которого вместо названия будет заголовок пункта меню, или открыться Главная страница, а внизу у неё будет добавлена статья, на которую и должна была произойти переадресация. Отключаю кэш - переадресация работает.
Проверялось на разных шаблонах, в том числе на чистом дефолтном.
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #24 : 19.12.2012, 12:28:56 »

Я правильно понял для JoomShoopping надо использовать код и вставить его вверх файла?
 Плагин не устанавливать!
Код прописал, некоторые страницы которые дубли, начали ссылаться на актуальный URL))
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #25 : 19.12.2012, 23:59:21 »

использовал данный код для редиректа дублей товаров в JoomShopping, отлично вроде справляется!
Избавляюсь от дублей типа shop/product/view/
Теперь вопрос, стоит ли удалить из robots.txt
Disallow: */product/view/
Disallow: */category/view/
?
Как просто работает ПС? что в приоритете? т.е. проверяя ссылку она видит первым делом редирект и индексирует ссылку на которую был совершен редирект или все-же первым делом проверяет robots.txt и сразу блокирует?

и еще для категорий работает, просто поменял у категорий алиасы?
« Последнее редактирование: 20.12.2012, 00:02:50 от StyleRocket » Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 4723



« Ответ #26 : 20.12.2012, 00:19:35 »

ПС не узнают о редиректе, если страница закрыта в роботс...ну Яндекс точно не узнает

 редирект только для карточки, для категории отдельно надо составлять, по аналогии

Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #27 : 20.12.2012, 00:38:20 »

Есть такая ссылка, точнее была site.ru/shop/product/view/4/1165
теперь она редиректится на http://site.ru/muzhskaya-odezhda/muzhskie-dzhinsy/dzhinsy-takugong-1699
Вроде так должен работать!?
Значит теперь удалять Disallow: */product/view/ тем самым оставить доступ для индексации, но уже из Яндекса клиент просто перейдет по редиректу, верно?
« Последнее редактирование: 20.12.2012, 00:45:40 от StyleRocket » Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 4723



« Ответ #28 : 20.12.2012, 00:40:25 »

Да, НО
1. проверить отдает ли именно 301 редирект.
2. убедиться все ли корректно работает
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #29 : 20.12.2012, 00:46:50 »

Я просто немного не пойму, лучше делать редирект или закрывать в robots.txt, во втором случае, если я правильно понял, ПС блокирует ссылки которые ранее были добавлены в индекс и со временем просто их удаляет САМА, а уже новые добавляются? Добавляя новые, правильные ссылки ПС не посчитает что это дубль уже проиндексированной /product/, НО уже закрытые мной в robots.txt

Как сделать проверку? Вроде перехожу по ранее индексированной ссылке от /product/, и принимает вроде нормальный вид ссылка, иными словами 301 работает!
Записан
Страниц: [1] 2 3 4 5 6   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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