Суть проблемы
Собственная маршрутизация в Joomla не совсем надёжна. Вы не можете контролировать, как создаётся SEF URL пункта меню. Вы можете определить только псевдоним пункта меню — компонент URL.
По умолчанию псевдонимы элементов меню Joomla являются относительными: псевдонимы всех родительских пунктов меню автоматически добавляются к URL-адресу SEF.
Предполагается, что SEF вы включили и ЧПУ ссылки настроили.
Таким образом, URL-адреса статей (article) прикреплённых к пунктам меню будут иметь такой вид:
http://site.ru/parent-menu-item-alias/child-menu-item-alias/article.
Кстати, категории статьи тоже попадут в URL.
Плагин Direct Alias
Решить проблему и убрать пункт меню из URL Joomla сайта поможет плагин Direct Alias (адрес плагина: alterbrains.com/direct-alias).
Данный плагин позволяет управлять псевдонимом пункта меню и иметь короткие SEF-URL, не включая в URL псевдонимы пунктов меню.
Плагин существует в двух версиях: платной и бесплатной. У бесплатного плагина практически нет настроек (смотрим фото).
Внимание:
Плагин работает если:
- Вы используете Joomla 3.9.x. или 4.x
- PHP 5.6+ с mb_string.
- Несовместим с шаблонами Gantry5, модулем RokNavMenu (они используют не родной код Joomla).
Как убрать пункт меню из URL Joomla сайта
Чтобы убрать пункты меню из URL Joomla:
- Включите ЧПУ ссылки сайта (Общие настройки >>>Система>>>SEO Блок настроек);
- Активируйте современный маршрутизатор URL (Общие настройки>>>Материалы>>>Интеграция);
- Уберите из URL
index.php
(Общие настройки >>>Система>>>SEO Блок настроек, включить «Перенаправление»); - Скачайте бесплатный плагин Direct Alias (адрес выше);
- Установите плагин на сайт;
- Настройте и активируйте плагин, как на фото;
- Очистите кеш сайта, и проверьте результат.
Важно! Если вы используете другие плагины меняющие маршрутизацию, вероятнее всего понадобятся дополнительные настройки.