
19 сентября 2017 г. состоялся релиз Joomla 3.8. Если вы не являетесь разработчиком расширений, то в этой версии вас может заинтересовать всего две особенности: отложенная установка демо-данных и обновленный роутер Joomla, позволяющий строить более красивые URL’ы страниц и избавляющий от части дублей. В этой статье я расскажу подробнее про этот самый роутер: как его включить, кому и когда можно использовать.
Содержание
Что такое роутер и зачем он мне нужен?
Если слово «роутер» не вызывает у вас никаких ассоциаций, то этот блок специально для вас.
Говоря простыми словами, роутер Joomla – это та штука, что превращает ссылки вида:
index.php?option=com_content&view=article&id=2:art&catid=8&Itemid=154
в:
cat/art
Поисковые системы любят последние гораздо больше первых.
Роутер начинает работать, когда вы включаете в админке, в общих настройках, использование SEF (ЧПУ):
Не хочу вдаваться в особенности работы роутера, но могу сказать, что SEF-ссылки должны быть включены на каждом сайте. Это не только плюс для SEO-оптимизации сайта, но и вопрос безопасности.
Что нового в роутере Joomla 3.8?
Видимые обновления роутера коснулись трех параметров:
- Из URL убраны ID материалов.
- Практически сведены к нулю дубли страниц
- Корректная обработка несуществующих страниц (404).
Теперь подробнее.
Используя новый роутер, вы можете получить красивые ссылки. Давайте сравним ссылки, генерируемые старым и новым роутером:
Старый:
/menu-item-blog-category-alias/2-article-alias
новый:
/menu-item-blog-category-alias/article-alias
Т.е., к примеру, старый:
/cat/2-art
новый:
/cat/art
Из URL убрали ID материала, наличие которого было обязательным в старом роутере. Заодно решили массу смежных проблем с дублями.
Раньше, если оригинальный материал был доступен по ссылке:
/cat/2-art
то он также был доступен и по следующим ссылкам:
- /cat/2
- /cat/2/
- /2
- /2-blablabla
Вместо «blablabla» можно подставить любой, совершенно любой текст. И каждая такая страница загрузится и будет дублем основной страницы. Такие дела…
Новый роутер, к счастью, решает эту проблему. Теперь, если он активирован, никакие другие, альтернативные варианты, не сработают. Везде вернется ошибка 404.
Да, насчет ошибки 404. Теперь она реально отдает код 404, а не 200, с заголовком «404», как это было раньше. В общем, детские болячки Joomla по SEO немного подлатали.
Как я могу использовать новый роутер Joomla?
Готов поспорить, что вы сами, без гуглинга, не найдете как включается новый роутер в Joomla 3.8. Я не нашел =). В этой версии роутер пока экспериментальный, и разработчики запрятали его куда подальше. Пока новый роутер доступен для контента, контактов, пользователей и новостных лент. Для каждого из этих типов контента он включается отдельно. Рассказываю на примере контента, остальное по аналогии.
Идем в менеджер материалов, нажимаем кнопку «Настройки» в правом верхнем углу, в открывшемся окне настроек переходим на вкладку «Интеграция» и находим на ней опцию «URL Routing». Для активации нового роутера она должна быть установлена в «Experimental»:
Для других типов контента активация аналогична.
Зачем такие сложности? Думаю, все дело в том, что новый роутер пока «Experimental», и этим все сказано.
Когда я могу использовать новый роутер Joomla?
Вот мы и добрались до главного вопроса: «Быть или не быть?». Когда оправдано применение нового роутера?
- Если вы делаете новый сайт – 100% ДА.
- Если у вас существующий сайт с небольшим количеством страниц – ДА, и настраиваем вручную перенаправления 301 со старых URL на новые.
- Если у вас существующий сайт с большим количеством страниц – нужно подумать и взвесить все «за» и «против». Если вы сможете создать автоматически перенаправления, то может быть игра и стоит свеч. Если все и так неплохо, дубли вас не беспокоят, посещаемость растет, используете и дальше старый роутер.
- Если у вас существующий сайт со сторонним SEF-компонентом – дождитесь выхода Joomla 4, в которой роутер должны окончательно довести до ума, а затем избавляйтесь от SEF-компонента в пользу родного нового роутера.
Таково мое мнение.
Кстати, ID в URL отключать необязательно. Новый роутер может работать и с ними. Это особенно актуально, если вы имеете уже проиндексированный сайт. Только вот дубли при этом также останутся с вами.
Что можно сказать в заключение? С выходом Joomla 3.8, с SEO дела стали обстоять получше. Хочется, конечно, большего, но думаю, мы увидим это в Joomla 4, а пока будем понемногу осваивать новый роутер.
Например, сейчас имеем адрес: site.ru/calabria/page-scalea.html для вложенного пункта меню в пункте меню calabria. Нужно избавиться от раздела в адресе: site.ru//page-scalea.html но оставить пункт меню вложенным.
И еще вопрос: при внесении в поле Алиаса записи: page=remont, джумла преобразует ее в page-remont. Можно ли как-то сохранить знак = в алиасе?
Задача связана с сохранении адресации на новом сайте как на старом раскрученном. Спасибо!
Получается, что теперь это лишнее?
Псевдонимы используются, когда нужно создать несколько меню с частично пересекающимися пунктами и не создать проблем для роутера (чтобы ему не создавать две разные ссылки на одну и ту же страницу). К примеру, у вас есть пункт меню типа "Материал" в одном меню и вам нужно показать такой же пункт в другом. В этом случае вы используете в одном меню тип пункта "Материал", а в другом "Псевдоним пункта меню", иначе в разных меню ссылки на один материал будут генерироваться с разными алиасами. А совет помещать все оригинальные пункты (не псевдонимы) в скрытое меню нужно просто для того, чтобы не путаться где у вас оригинальные пункты, а где копии.
Но обычно на сайтах нет такой сложной структуры пунктов меню (по крайней мере, когда структура выстроена правильно) и можно просто создавать оригинальные пункты в одном меню, а псевдонимы в другом, если это требуется.
Также в новых версиях J3 в настройках пункта меню есть возможность переключать его в режим, когда этот пункт в меню не будет показываться. Это полностью лишает смысла создание скрытого меню, кроме каких-то экзотических случаев.