Проблема с id в URL материалов Joomla при обновлении большого старого сайта до Joomla 5

В старых версиях Joomla URL адрес формировался по схеме [id материала + алиас материала]. Например, 145-my-article-alias. Однако. старый роутер Joomla был не идеален и плодил дубли страниц, с чем усиленно боролись СЕО специалисты с помощью различных плагинов и хаков ядра CMS.

Начиная с версии Joomla 3.8 в ядро был включён новый роутер, лишенный этих недостатков. Так же его отличало то, что он убирал id статьи из URL адреса. А это в свою очередь приводило к проблемам на больших сайтах, так как у них уже много страниц было в индексе поисковых систем. Поэтому, даже при обновлении сайта на Joomla 4 и Joomla 5 многие старые сайты вынуждены были оставлять включённым старый роутер.

Решение проблемы

Решение проблемы довольно простое: нужно сохранить id материалов Joomla в алиасы и после этого отключить старый роутер Joomla. В базе данных к каждому алиасу спереди добавляется id статьи, что приводит его к виду, который формировал старый роутер Joomla и таким образом URL страницы будет сохранён, но под капотом Joomla будет работать уже новый роутер.

Для этой задачи был написан плагин Console - Save old articles aliases. Подключитесь к вашему серверу по SSH (вам может помочь статья Joomla 4: мощь CLI приложений), перейдите в папку CLI вашего сайта и выполните команду php joomla.php oldarticlesaliases:save. В этом случае будут обработаны все статьи на сайте без исключений.

Если добавить аргумент test - php joomla.php oldarticlesaliases:save test - то вы увидите какие именно изменения будут проведены плагином, но сами изменения не будут применены.

Для того, чтобы обработать статьи только выбранных категорий укажите id этих категорий в опции --cats через запятую без пробелов. Например, --cats=12,140,211. Команда в этом случае будет выглядеть php joomla.php oldarticlesaliases:save --cats=12,140,211.

Плагин пригодится вебмастерам и digital агенствам, которые обновляют сайты на Joomla до современных актуальных версий.

Демо видео на примере JoomlaPortal

Страница расширения

Статья Joomla 4: мощь CLI приложений на Хабре

GitHub плагина

#расширения #видео

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla