В этой статье мы разберем, как настроить «человекопонятные» URL-адреса (ЧПУ, или SEF URL) на сайте, работающем под управлением Joomla 5 или Joomla 6. Вы узнаете, как включить ЧПУ, убрать index.php и id материалов из адресов, а также как использовать новые возможности плагина Система — SEF для строгого контроля над URL.

Что такое SEF URL (ЧПУ)?

SEF URL (Search Engine Friendly URL) — это адрес веб-страницы, смысл которого понятен при прочтении. В отличие от «сложных» URL с символами ?, =, &, ЧПУ состоят только из букв, цифр и разделителей (-).

  • Пример сложного и непонятного URL-адреса (не ЧПУ):
    http://www.site.ru/index.php?option=com_content&view=article&id=1:welcome&catid=1:news&Itemid=50
  • Пример представленного выше URL в виде ЧПУ:
    http://www.site.ru/o-kompanii

Второй адрес сразу понятен и пользователю, и поисковой системе, что положительно влияет на SEO.

Как включить ЧПУ в Joomla 5 и 6?

По умолчанию после установки Joomla ЧПУ-адреса не активированы. Чтобы их включить, выполните следующие шаги:

  1. В панели управления перейдите в Система → Общие настройки.
  2. На вкладке Сайт найдите раздел Параметры SEO.
  3. Установите значение Да для опции Включить SEF
  4. Установите значение Да для опции Перенаправлять URL.
  5. Нажмите Сохранить.

Важное условие!
Чтобы опция «Перенаправлять URL» работала, необходимо переименовать файл htaccess.txt в корневой папке сайта в .htaccess (для серверов Apache) или выполнить аналогичную настройку для Nginx. Без этого сайт может перестать открываться.

Плагин Система — SEF

Начиная с Joomla 5.1, для тонкой настройки SEF появился мощный инструмент — плагин Система — SEF. Он позволяет настроить строгую маршрутизацию (Strict Routing) и управлять тем, как Joomla обрабатывает URL.

Чтобы получить к нему доступ, перейдите в Система → Управление → Плагины и найдите плагин Система — SEF.

Основные настройки плагина Система — SEF

  • Основной домен: Это поле используется для указания канонического домена вашего сайта. Сюда нужно вписать ваш основной домен с протоколом (например, https://www.site.ru). После этого на всех страницах будет автоматически генерироваться корректный канонический тег <link rel="canonical">.
    Важно!
    Если обозначить основной домен в данной опции, то будет формироваться разный Canonical для одинаковых страниц с разными URL, что может мешать корректному индексированию таких страниц поисковыми системами, поэтому мы рекомендуем использовать эту настройку только в связке с плагином SEF Extended для корректного формирования Canonical.
  • Добавлять суффикс к URL: Включить или отключить функцию добавления суффикса к URL-адресам на сайте путем перенаправления на корректные адреса. Использование параметра невозможно, если в общих настройках сайта для параметра Добавлять суффикс к URL установлено значение Нет.
  • Исключать index.php: Включить или отключить функцию исключения фрагмента index.php из URL-адресов на сайте, которые все еще содержат его. Использование параметра невозможно, если в общих настройках сайта для параметра Перенаправлять URL установлено значение Нет.
  • Конечная косая черта в URL: Позволяет жестко задать, должны ли URL заканчиваться на / (со слешем) или без него. Joomla будет перенаправлять на выбранный вариант.
  • Исключать дубли URL: Включить или отключить функцию исключения дублей URL-адресов на сайте и перенаправления на корректные адреса с кодом состояния HTTP/1.1 301 Moved Permanently.

Как убрать ID материалов и категорий из URL в Joomla?

Адреса страниц материалов и категорий, у которых нет прямого пункта меню, по умолчанию содержат их числовые идентификаторы. Это делает URL менее «чистыми».

Чтобы отключить автоматическое добавление ID, выполните следующие шаги:

  1. Перейдите в Контент → Материалы (или Контент → Категории).
  2. Нажмите кнопку Настройки на панели инструментов.
  3. Перейдите на вкладку Интеграция.
  4. Активируйте опцию Удалить ID из URL.
  5. Сохраните изменения.

Как настроить другие параметры SEO?

Остальные настройки ЧПУ находятся в Общих настройках на вкладке Сайт в разделе Параметры SEO:

  • Добавить суффикс к URL: Добавляет к адресам суффикс, чаще всего .html. В настоящее время использовать эту опцию не рекомендуется — она усложняет восприятие URL и может создавать дубли страниц.
  • Алиасы в Unicode: Позволяет использовать кириллицу в алиасах (и, следовательно, в URL). При включении этой опции Joomla перестает автоматически транслитерировать (преобразовывать в латиницу) названия страниц при создании алиасов.

Что делать, если ЧПУ не работают?

Проверьте!
Если после включения настроек ЧПУ страницы не открываются, проверьте следующее:

  1. Файл .htaccess: Убедитесь, что вы переименовали файл htaccess.txt в .htaccess. На некоторых FTP-клиентах файлы с точкой могут быть скрыты — включите отображение скрытых файлов.
  2. Модуль mod_rewrite: На сервере Apache должен быть включен модуль mod_rewrite. Обратитесь в службу поддержки хостинга, если вы не уверены.
  3. Настройки Nginx: На серверах Nginx файл .htaccess не работает. Правила перезаписи необходимо вручную добавлять в конфигурацию сервера. Обратитесь к документации вашего хостинг-провайдера.
  4. AllowOverride: В конфигурации Apache для вашего сайта должно быть установлено значение AllowOverride All, иначе файл .htaccess будет игнорироваться.

Плагин SEF Extended

Для опытных веб-мастеров и владельцев сайтов, которым нужен максимальный контроль над URL, существует мощное расширение — плагин SEF Extended. Он не заменяет, а дополняет стандартный плагин Система — SEF.

Плагин предлагает четыре основные группы функций: управление каноническими ссылками (Canonical), расширенные перенаправления (Redirects), настройка кастомной страницы 404 и прокси-управление настройками нативного плагина Система — SEF.

Вкладка Canonical

Эта вкладка позволяет гибко управлять формированием канонических ссылок (<link rel="canonical">), которые указывают поисковым системам главную версию страницы и помогают бороться с дубликатами.

Режим обработки Canonical

  • Обработка существующего Canonical — определяет, как плагин должен реагировать, если на странице уже есть каноническая ссылка (добавленная компонентом или другим расширением):
    • Исправлять только системные дубли (по умолчанию): плагин заменит каноническую ссылку, только если она указывает на текущий технический URL (т.е. является «само-канонической» ссылкой, которую часто создает стандартный плагин SEF). Если компонент явно задал каноническую ссылку на другой URL (например, на родительскую категорию), она будет сохранена.
    • Всегда формировать Canonical через Joomla Router: плагин будет полностью перезаписывать любую существующую каноническую ссылку, заменяя её на URL, сгенерированный стандартным маршрутизатором Joomla.
    • Не изменять существующий Canonical: плагин не будет трогать уже заданную каноническую ссылку, оставляя её как есть.
  • Добавлять Canonical, если он отсутствует — если каноническая ссылка не была добавлена компонентом или другим расширением, плагин сгенерирует её через маршрутизатор Joomla. Это полезно, если вы хотите гарантировать наличие канонической ссылки на всех страницах сайта.

Управление параметрами URL

Эта группа полей позволяет очищать канонические ссылки от нежелательных GET-параметров, которые не должны влиять на определение главной страницы.

  • Исключить все GET-параметры — при включении удаляет из канонической ссылки все дополнительные параметры запроса. При отключенных SEF URL, параметры, необходимые для идентификации страницы (например, option, view, id), будут сохранены.
  • Исключать параметры отслеживания — удаляет параметры аналитики и рекламных систем, такие как utm_*, gclid, fbclid, yclid и другие. Эта опция доступна, если «Исключить все GET-параметры» выключено.
  • Исключать параметры пагинации — удаляет параметры постраничной навигации: start, limitstart, limit, page. Эта опция доступна, если «Исключить все GET-параметры» выключено.
  • Исключать параметры поиска — удаляет типовые параметры поиска Joomla и поисковых форм: searchword, searchphrase, ordering, areas, q. Эта опция доступна, если «Исключить все GET-параметры» выключено.
  • Исключать следующие параметры — позволяет вручную задать список GET-параметров, которые нужно удалять. Введите имя параметра (например, print) и нажмите Enter. По умолчанию добавлены tp и highlight.

Исключения для компонентов

Эта функция позволяет исключить отдельные компоненты или даже конкретные типы страниц из-под управления плагина. Это полезно, если для какого-то компонента вы используете специализированное SEO-расширение.

  • Исключения компонентов — здесь можно добавить правила. Для каждого правила нужно выбрать компонент (например, com_content) и, опционально, указать конкретный тип страницы. Если оставить «Все» (значение по умолчанию), правило будет применяться ко всем страницам компонента. Для компонентов ядра Joomla и JoomShopping поле предлагает список известных типов страниц.
  • Принцип работы исключения: Если для текущей страницы найдено совпадающее правило, плагин не формирует свою каноническую ссылку. Вместо этого он удаляет только «само-каноническую» ссылку на текущий URL, если она была добавлена стандартным плагином SEF, сохраняя каноническую ссылку, указывающую на другой адрес.

Отладка Canonical

Отладка Canonical — при включении записывает все решения, принятые плагином, в лог-файл logs/plg_system_sefextended.php. Это незаменимый инструмент для диагностики, если канонические ссылки формируются не так, как вы ожидаете.

Вкладка Перенаправления

Эта вкладка позволяет настроить автоматические 301-перенаправления для приведения URL к единому, «чистому» формату, что улучшает SEO и пользовательский опыт.

  • Перенаправление www — позволяет выбрать единый вариант имени хоста (домена) для всех страниц сайта. Вы можете:
    • Не перенаправлять — оставить как есть.
    • На www — все запросы на домен без www будут перенаправляться на URL с www.
    • Без www — все запросы на домен с www будут перенаправляться на URL без www.
    Путь и GET-параметры при этом сохраняются.
  • Перенаправлять на URL без суффикса .html — если включено, URL, заканчивающиеся на .html, будут перенаправляться на тот же URL без суффикса. Правило работает только при включенных SEF URL и отключенном добавлении суффикса в общих настройках Joomla, чтобы не создавать конфликтов.
  • Перенаправлять URL с множественными косыми чертами — при включении заменяет две и более последовательные косые черты в пути URL на одну. Это помогает избежать дублей типа /category//subcategory.

Вкладка Страница 404

Эта функция позволяет вместо стандартной «голой» страницы ошибки Joomla показывать для несуществующих URL специально созданный пункт меню с любым содержанием (текстом, изображениями, модулями).

  • Страница 404 — выберите опубликованный пункт меню, содержимое которого будет отображаться при запросе несуществующего URL. При этом:
    • Адрес в браузере остается прежним (пользователь не видит перенаправления).
    • Сервер возвращает корректный HTTP-статус 404, что важно для SEO.
  • Особенности работы на многоязычных сайтах: Если выбранный пункт меню имеет языковые ассоциации, для текущего языка будет использоваться соответствующая ассоциация. Если подходящей ассоциации нет, будет показана стандартная страница ошибки Joomla. При переключении языка на такой странице сохраняется исходный путь, меняется только языковой префикс.

Вкладка Система — SEF

Эта вкладка не дублирует, а предоставляет интерфейс управления настройками стандартного плагина Система — SEF прямо из интерфейса SEF Extended. Изменения, внесенные здесь, сохраняются непосредственно в конфигурацию стандартного плагина.

Важно!
Все настройки на вкладке Система — SEF являются "прокси"-настройками. Они изменяют параметры стандартного плагина Система — SEF и не сохраняются в самом плагине SEF Extended. Это гарантирует, что даже при отключении SEF Extended основные настройки SEF останутся примененными.

Совместимость
Плагин Система — SEF Extended полностью совместим с Joomla 5 и Joomla 6 и предназначен для опытных администраторов, которые хотят получить максимальный контроль над URL-структурой своего сайта.

Заключение

Чтобы получить максимально «чистые» и понятные URL-адреса на вашем сайте Joomla 5 или 6, следуйте этому алгоритму:

  1. В Общих настройках → вкладка СайтПараметры SEO:
    • Включите Включить SEF и Перенаправлять URL.
    • Отключите Добавить суффикс к URL, если он не требуется.
  2. В плагине Система — SEF:
    • Включите Исключать index.php.
    • Отключите добавление Конечной косой черты в URL.
    • Включите Исключать дубли URL (строгая маршрутизация) для автоматического перенаправления технических URL на SEF-адреса.
  3. В настройках материалов (Контент → Материалы → Настройки → Интеграция) активируйте Удалить ID из URL.
  4. В дополнение установите и настройте плагин SEF Extended.

В результате вы получите адреса вроде: http://site.ru/news/seo/article.

Рекомендация
Для максимального контроля над URL-структурой используйте плагин Система — SEF Extended. Он позволяет точечно управлять каноническими ссылками, исключать нежелательные GET-параметры, настраивать перенаправления и создавать кастомную страницу 404 без изменения кода ядра.

Важно!
Описанные в данной статье инструкции касаются только стандартного компонента контента com_content. Для сторонних компонентов настройки могут отличаться.