Куда идем?

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 (ЧПУ):

1

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

Что нового в роутере Joomla 3.8?

Видимые обновления роутера коснулись трех параметров:

  1. Из URL убраны ID материалов.
  2. Практически сведены к нулю дубли страниц
  3. Корректная обработка несуществующих страниц (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»:

2

Для других типов контента активация аналогична.

Зачем такие сложности? Думаю, все дело в том, что новый роутер пока «Experimental», и этим все сказано.

Когда я могу использовать новый роутер Joomla?

Вот мы и добрались до главного вопроса: «Быть или не быть?». Когда оправдано применение нового роутера?

  • Если вы делаете новый сайт – 100% ДА.
  • Если у вас существующий сайт с небольшим количеством страниц – ДА, и настраиваем вручную перенаправления 301 со старых URL на новые.
  • Если у вас существующий сайт с большим количеством страниц – нужно подумать и взвесить все «за» и «против». Если вы сможете создать автоматически перенаправления, то может быть игра и стоит свеч. Если все и так неплохо, дубли вас не беспокоят, посещаемость растет, используете и дальше старый роутер.
  • Если у вас существующий сайт со сторонним SEF-компонентом – дождитесь выхода Joomla 4, в которой роутер должны окончательно довести до ума, а затем избавляйтесь от SEF-компонента в пользу родного нового роутера.

Таково мое мнение.

Кстати, ID в URL отключать необязательно. Новый роутер может работать и с ними. Это особенно актуально, если вы имеете уже проиндексированный сайт. Только вот дубли при этом также останутся с вами.

Что можно сказать в заключение? С выходом Joomla 3.8, с SEO дела стали обстоять получше. Хочется, конечно, большего, но думаю, мы увидим это в Joomla 4, а пока будем понемногу осваивать новый роутер.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
2
Да здравствует наше сео, самое гуманное сео в мире! И заплакал ...
1
Алексей, да ладно вам. Все не так уж и плохо с сео в Joomla. Плохо, но не смертельно. Всё правится.
0
Скажите, а можно ли с новым роутером все таки избавиться от категории в адресе?
Например, сейчас имеем адрес: site.ru/calabria/page-scalea.html для вложенного пункта меню в пункте меню calabria. Нужно избавиться от раздела в адресе: site.ru//page-scalea.html но оставить пункт меню вложенным.
И еще вопрос: при внесении в поле Алиаса записи: page=remont, джумла преобразует ее в page-remont. Можно ли как-то сохранить знак = в алиасе?
Задача связана с сохранении адресации на новом сайте как на старом раскрученном. Спасибо!
0
Валерий, это сложно. Посмотрите на проблему по-другому: вам важно сохранить не адреса страниц а трафик и вес страниц. Я бы на вашем месте обратился к компоненту перенаправлений Joomla. Составьте сводную таблицу старых и новых адресов страниц Joomla, далее загрузите ее в компонент перенаправлений через массовый импорт. Так у вас появится 301 постраничный редирект для всех нужных страниц. Таким образом вы приведете страницы к стандартному роутеру Joomla, и при этом сохраните их вес и посетителей.
1
Поставил новый роутер, даже не ожидал, сразу решились все проблемы с дубликатами и левыми страницами.
0
Читал, что для создания структуры и качественных ссылок делают скрытое меню, в котором задают всю структуру сайта, а потом выводят в меню на сайте с помощью "Псевдонима системной ссылки".
Получается, что теперь это лишнее?
0
Dimity, это было, да. Но для другой цели. Просто, когда нужно было создать пункт меню и не показывать его ни в одном видимом меню, использовали скрытое меню - обычное меню, которое не выводится на сайте модулем.

Псевдонимы используются, когда нужно создать несколько меню с частично пересекающимися пунктами и не создать проблем для роутера (чтобы ему не создавать две разные ссылки на одну и ту же страницу). К примеру, у вас есть пункт меню типа "Материал" в одном меню и вам нужно показать такой же пункт в другом. В этом случае вы используете в одном меню тип пункта "Материал", а в другом "Псевдоним пункта меню", иначе в разных меню ссылки на один материал будут генерироваться с разными алиасами. А совет помещать все оригинальные пункты (не псевдонимы) в скрытое меню нужно просто для того, чтобы не путаться где у вас оригинальные пункты, а где копии.

Но обычно на сайтах нет такой сложной структуры пунктов меню (по крайней мере, когда структура выстроена правильно) и можно просто создавать оригинальные пункты в одном меню, а псевдонимы в другом, если это требуется.

Также в новых версиях J3 в настройках пункта меню есть возможность переключать его в режим, когда этот пункт в меню не будет показываться. Это полностью лишает смысла создание скрытого меню, кроме каких-то экзотических случаев.
0
Спасибо, все встало на свои места! )