Console - Save old articles aliases
- Категории: Плагины Joomla, Расширения для Joomla 4 и Joomla 5
- Версия: 1.0.0
- Дата:
Плагин обновляет алиасы материалов Joomla, добавляя к ним id материала, согласно старым правилам роутинга Joomla. Это позволит сохранить старые URL материалов и при этом перевести сайт Joomla на новый роутер.
Описание
Зачем этот плагин
Проблема с id в URL материалов Joomla на старых сайтах и старый роутер
В старых версиях 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 будет работать уже новый роутер.
Эту работу вы проделываете уже после того, как ваш сайт успешно обновлён хотя бы до Joomla 4. Плагин будет работать только с Joomla 4 и выше.
Как использовать?
Подключитесь к вашему серверу по 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
.
Будьте внимательны и осторожны!
Плагин работает с базой данных напрямую. Обязательно сделайте резервную копию базы данных перед началом работы!
Вызывайте команду этого плагина только 1 (один) раз, иначе могут возникнуть дубли id статей в алиасах вида 145-145-my-article-alias
.
Joomla
- Тип расширения:
- Плагин
- Каталог:
- Console
- Версия Joomla:
- 5.0.0