Как убрать пункт меню из URL Joomla сайта


Суть проблемы

Собственная маршрутизация в 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 (адрес выше);
  • Установите плагин на сайт;
  • Настройте и активируйте плагин, как на фото;
  • Очистите кеш сайта, и проверьте результат.

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