Заранее прошу прощения за дубляж темы, но данное решение имено для Joomla 1.x и в дальнейшем развиваться не будет (по крайней мере мной), так как трогает ядро, в отличии от решения для Joostina.
--
Предлагаю на суд общественности модификацию стандартного SEF компонента.
Как известно, при включении стандартного SEF, адреса "старого" типа (вида:
http://www.site.loc/index.php?option=com_content&task=section&id=2&Itemid=30) по прежнему работают, т.е. если один контент доступен по адресу
http://www.joos.loc/index.php?option=com_content&task=section&id=2&Itemid=30 и по адресу
http://www.joos.loc/content/section/2/30/, что приводит к "двоению" контента со точки зрения поисковиков, что снижает позиции и репутацию сайта, доставляет неудобства пользователям (если они используют старые адреса), и, самое главное, компоненты которые не используют SEF преобразование адресов, по прежнему выдают старые адреса.
Предлагаемая модификация стандартного SEF.php устраняет эти проблемы, т.е. при включенном стандартном SEF, при обращении по "старому адресу" вида
http://www.joos.loc/index.php?option=com_content&task=section&id=2&Itemid=30 произойдет автоматическое перенаправление на адрес вида
http://www.joos.loc/content/section/2/30/, с выдачей заголовка 301 (301 Страница перемещена на адрес / 301 Moved Permanently ), что уведомит поисковик в следующий раз обращаться сразу по новому адресу.
Подобный функционал реализован в стороних SEF компонентах, таких как OpenSEF, но на мой взгляд подобнео решение должно присутствовать в ядре Joomla.
Тестировалось на различный сайтах, с различными комбинациями компонентов, и стороних расширений.
--
Обсуждение версии под Joostin'a и дальнейшее развитие решения можно глянуть
тут - описание изменений рекомендую смотреть там.
--
Ресурс решенияТекущая версия: 0.4.3 для Joomla 1.1.*
Получить текущию версию ветки 0.4