Решение проблемы с дублями страниц в Joomla 1.5

12 3
TA
На сайте с 12.06.2009
Offline
116
TiA
4127

Здравствуйте. Решил поделиться своими наработками по Joomla 1.5

Недавно в процессе поискового продвижения одного из своих сайтов на Joomla 1.5 столкнулся с одной весьма серьезной проблемой встроенного механизма ЧПУ (SEF).

Суть проблемы заключается в том, что в Joomla одна и та же страница site.ru/news/tech/1-news.html, например, может быть доступна по очень многим адресам:

site.ru/index.php?option=com_content&view=article&id=22

site.ru/news/tech/1.html/

site.ru/news/2-tech/1-news.html

site.ru/1-news/2-tech/1dsfsdkgjdfgklhfdgjf

site.ru/home/1.html

site.ru/component/content/frontpage....

Проблема весьма серьезная. Аналогично и с категориями, с site.ru/, site.ru/index.php, с разделами и так далее.

Проблема, как видите, серьезная.

Особого желания играться с редиректами в htaccess у меня не было, robots.txt тоже не вариант. Ну закрою я в robots.txt site.ru/index.php, ну а что делать с вариантами вроде site.ru/news/2-tech/1-news.htgjfhgsldfjkgd ?

Как частичное решение ситуации можно было бы рассмотреть sh404sef, но опять же. Это стороннее решение, оно все же снижает производительность и стабильность работы системы в целом, ИМХО.

Вот и стал я искать выход. Решение оказалось очень простым: нужно при генерации страницы раздела, категории, статьи, главной страницы сравнивать адрес в запросе с вычисленным адресом страницы в системе. Вычисляется он на основе расположения страницы в меню, на основании псеводонимов (alias), идентификаторов, а также на основании раздела/категории. Для одной страницы существует лишь один так называемый системный адрес. Он используется по-умолчанию при генерации ссылок в системе.

Если адрес в запросе не совпадает с системным адресом страницы, то движок с помощью 301 редиректа перебросит пользователя или поискового бота на нужную страницу. Таким вот образом дубли страниц оперативно склеиваются поисковиками по 301 редиректу.

Для лучшей совместимости эту проверку я вынес в код шаблона. Да, это прямое нарушение концепции MVC, но это все же лучше чем правка системных файлов ручками при каждом обновлении. Если кому-то решение не понравится - можете аналогичным образом поправить контроллер com_content.

Данный модуль был протестирован на Joomla 1.5.22 со стандартным ЧПУ и com_content. Данный модуль должен заработать и на 1.6.

Ссылки на код модуля с подробным описанием и установкой: скачать / скачать.

Большая человеческая просьба не перезаливать архивы на другие файлообменники и не публиковать код с описанием на других страницах без моего разрешения. Просто кидаете ссылки на архивы. Отнеситесь к данному моменту с пониманием.

Подобный модуль я также сделал для DLE и DLE Forum

Профессиональная верстка и разработка сайтов на WordPress (http://www.maultalk.com/topic139110s0.html)
ya_sinoptik
На сайте с 24.11.2009
Offline
119
#1

А есть какие-либо отзывы уже? на этот модуль.

Куда бы ты ни шел — не останавливайся пока не достигнешь моря
TA
На сайте с 12.06.2009
Offline
116
TiA
#2

Кому надо - используют. Кому не надо - их проблемы :) Мне то что. Делалось в первую очередь для моих сайтов.

Dynamics
На сайте с 28.10.2010
Offline
13
#3

А для Джумлы 1.0 случайно ничего нет? :)

Системы вибродиагностики промышленного оборудования (http://www.dynamics.ru)
D
На сайте с 28.06.2008
Offline
1101
#4
TA
На сайте с 12.06.2009
Offline
116
TiA
#5
Dynamics:
А для Джумлы 1.0 случайно ничего нет?

Можно при желании написать.

Dram:
Вот пример:

http://сайт.ru/раздел/34-категория/

а вот дубли которое Ваше решение не убирает

http://сайт.ru/разде/34
http://сайт.ru/разде/34-категорияпишу-че-хочу/

Это для com_content?

K1
На сайте с 30.10.2010
Offline
46
#6

Я все ручками правила. Теперь копирую htaccess, robots.txt и т.п. при необходимости на другие сайты. Что интересно, страницы с site.ru/index.php попали в индекс после переезда на другой хостинг, до этого подобных проблем не возникало. Получается зависимость от настроек хостинга?

TA
На сайте с 12.06.2009
Offline
116
TiA
#7
ksena13:
Я все ручками правила.

Что именно вы правили? Правка htaccess в данном случае бессильна.

S
На сайте с 15.01.2011
Offline
87
#8

Вот что яша пишет

jpg 1.jpg
jpg 2.jpg
S
На сайте с 15.01.2011
Offline
87
#9

Не туда написал прошу прощения

TA
На сайте с 12.06.2009
Offline
116
TiA
#10
shumvit:
Вот что яша пишет

Ну так то карта сайта. Ее тоже нужно в порядок привести.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий