Три параметра в общих настройках
Всё начинается в разделе «Система» → «Общие настройки» → вкладка «Сайт», блок настроек 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.
Порядок настройки на новом сайте
- Переименуйте
htaccess.txtв.htaccess. - Включите SEF URL и перенаправление, суффикс отключите.
- Постройте структуру меню, отражающую разделы сайта.
- Проверьте алиасы категорий и заполните вручную там, где транслит сработал неверно.
- Откройте несколько материалов и убедитесь, что в адресе нет
component/content. - Настройте канонические адреса для материалов, доступных через разные меню.
Параметр Itemid
Даже при включённых SEF-адресах в ссылках иногда остаётся хвост вида ?Itemid=101. Это идентификатор пункта меню, через который открыт материал.
Появляется он там, где ссылка построена не через штатный маршрутизатор, а собрана вручную в шаблоне или модуле. Результат — две версии одной страницы: с параметром и без. Лечится это двумя способами: исправлением ссылок в шаблоне и каноническим адресом на чистую версию.
Сторонние расширения
Компоненты интернет-магазинов и каталогов строят адреса по собственным правилам, и общие настройки Joomla на них влияют не полностью.
- Проверьте, есть ли у расширения собственные настройки SEF — обычно они в его конфигурации.
- Убедитесь, что алиасы товаров и категорий заполняются латиницей.
- Посмотрите, не дублируется ли путь: некоторые компоненты добавляют собственный префикс к пути пункта меню.
- Проверьте, как формируются адреса фильтров и сортировок — они не должны попадать в индекс.
После установки любого расширения, работающего с адресами, стоит заново пройти проверку сайта краулером: изменения часто затрагивают уже существующие страницы.
Частые вопросы
Почему в адресе появляется component/content?
У материала нет собственного пункта меню, и система строит адрес через компонент. Создайте пункт меню на нужный раздел, при необходимости в скрытом меню.
Нужен ли суффикс .html?
Преимуществ он не даёт. Главное — не менять решение после индексации: отключение суффикса меняет все адреса сайта разом.
Можно ли доверять встроенной транслитерации Joomla?
Для служебных страниц можно. Для продвигаемых лучше заполнять алиас вручную: встроенная схема расходится с таблицей Яндекса в спорных буквах.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.