Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Инструкция

ЧПУ в Joomla: SEF-адреса, суффиксы и алиасы материалов

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

Три параметра в общих настройках

Всё начинается в разделе «Система» → «Общие настройки» → вкладка «Сайт», блок настроек SEO.

ПараметрЗначениеЧто даёт
SEF (дружественные) URLДаЧитаемые адреса вместо index.php?option=
Перенаправление URLДаУбирает index.php из адреса, требует .htaccess
Добавлять суффикс к URLНетУбирает .html на конце адреса

Для второго параметра нужен файл .htaccess в корне сайта: в дистрибутиве он лежит как htaccess.txt и требует переименования. Без него включение перенаправления приведёт к ошибкам 404.

Алиас — текстовая часть адреса

У каждого материала, категории и пункта меню есть поле «Алиас». Если оставить его пустым, система заполнит его сама, транслитерировав заголовок по собственной таблице.

Проблема в том, что встроенная транслитерация Joomla не совпадает с таблицей Яндекса: «щ» она передаёт по классической схеме. Для страниц, которые продвигаются, алиас лучше заполнять вручную — заранее подготовив его в генераторе.

Проверочное слово. Создайте черновик с заголовком «Защита от протечек» и посмотрите алиас. Правильно — zashhita-ot-protechek. Если получилось zaschita или zashchita, встроенный транслит работает по другой схеме, о чём подробно в статье про букву «щ».

Главная особенность: адрес строит меню

Joomla собирает путь не из дерева категорий, а из структуры меню. Материал, у которого нет собственного пункта меню, получает адрес по ближайшему подходящему пункту плюс идентификатор.

Есть пункт меню на категорию:
/catalog/divany/uglovye-divany

Пункта меню нет:
/component/content/article?id=42

Отсюда практическое следствие: если раздел важен для продвижения, у него должен быть пункт меню — пусть даже скрытый, в служебном меню, не отображаемом на сайте.

Суффикс .html

Отдельный параметр добавляет к каждому адресу расширение .html. Это наследие эпохи, когда адреса имитировали статические файлы.

Сегодня суффикс не даёт преимуществ, но и вреда от него нет. Важно другое: определиться один раз. Если сайт проиндексирован с суффиксом, отключение параметра изменит все адреса разом, и потребуются массовые редиректы. Подробнее о самом расширении — в материале про .html в адресе.

Источники дублей

  • Материал доступен через несколько пунктов меню — самый частый случай в Joomla. Решается каноническим адресом.
  • Адрес с идентификатором и без него открываются одновременно.
  • index.php остаётся доступным, если перенаправление не включено.
  • Категория доступна и как пункт меню, и как компонент.

Проверить наличие дублей проще всего краулером: он покажет страницы с одинаковыми заголовками и объёмом текста. Общий разбор — в статье про дубли из-за URL.

Порядок настройки на новом сайте

  1. Переименуйте htaccess.txt в .htaccess.
  2. Включите SEF URL и перенаправление, суффикс отключите.
  3. Постройте структуру меню, отражающую разделы сайта.
  4. Проверьте алиасы категорий и заполните вручную там, где транслит сработал неверно.
  5. Откройте несколько материалов и убедитесь, что в адресе нет component/content.
  6. Настройте канонические адреса для материалов, доступных через разные меню.

Параметр Itemid

Даже при включённых SEF-адресах в ссылках иногда остаётся хвост вида ?Itemid=101. Это идентификатор пункта меню, через который открыт материал.

Появляется он там, где ссылка построена не через штатный маршрутизатор, а собрана вручную в шаблоне или модуле. Результат — две версии одной страницы: с параметром и без. Лечится это двумя способами: исправлением ссылок в шаблоне и каноническим адресом на чистую версию.

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

Компоненты интернет-магазинов и каталогов строят адреса по собственным правилам, и общие настройки Joomla на них влияют не полностью.

  • Проверьте, есть ли у расширения собственные настройки SEF — обычно они в его конфигурации.
  • Убедитесь, что алиасы товаров и категорий заполняются латиницей.
  • Посмотрите, не дублируется ли путь: некоторые компоненты добавляют собственный префикс к пути пункта меню.
  • Проверьте, как формируются адреса фильтров и сортировок — они не должны попадать в индекс.

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

Частые вопросы

Почему в адресе появляется component/content?

У материала нет собственного пункта меню, и система строит адрес через компонент. Создайте пункт меню на нужный раздел, при необходимости в скрытом меню.

Нужен ли суффикс .html?

Преимуществ он не даёт. Главное — не менять решение после индексации: отключение суффикса меняет все адреса сайта разом.

Можно ли доверять встроенной транслитерации Joomla?

Для служебных страниц можно. Для продвигаемых лучше заполнять алиас вручную: встроенная схема расходится с таблицей Яндекса в спорных буквах.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также