Удаление из URL префикса языка по умолчанию в Joomla 2.5/3

  •   26.07.2013
  •   6 комментариев
  •   Прочее

По умолчанию Joomla добавляет в адреса страниц многоязычных сайтов языковой префикс. Так, русскоязычный контент может находиться по адресу site.com/ru/, англоязычный — по адресу site.com/en/ и т.п. Все бы хорошо, но обычно основной язык на сайте один, остальные второстепенные. И для основного языка нет особого смысла в добавлении префикса.

Удаление из URL префикса языка по умолчанию в Joomla

Особенно это актуально, когда одноязычный сайт становится многоязычным, в результате чего из-за добавления префикса меняется URL у всех страниц.

Как же заставить Джумлу изменить свое стандартное поведение и не отображать приставки (префиксы) в адресах страниц для дефолтного языка?
В сети существует множество рецептов — одни предлагают поставить для решения задачи компонент SH404Sef, другие — хакнуть соответствующий плагин путем внесения изменений в его код. Но это все плохие и некрасивые решения — ставить отдельный компонент ради такой простой фишки нецелесообразно, а хакнутый плагин может быть перезаписан после очередного обновления сайта.

Между тем, у плагина «languagefilter» (фильтр языка) имеются свои настройки, в которые не все догадываются заглянуть. И напрасно. В этих настройках (доступных по Менеджер плагинов: Система – Фильтр языка) есть опция «Удалять префикс языка по умолчанию», активация которой полностью решает нашу задачу. Все, что нужно — полминуты вашего времени и никаких сторонних расширений и хаков.


Оставить комментарий

6 комментариев на «“Удаление из URL префикса языка по умолчанию в Joomla 2.5/3”»

  1. Эта опция работает неправильно в джумле, просто потому что код языка не убирается а просто делается редирект, и сайтом – продолжаются создаваться ссылки с дефолтным языком в урл.

  2. А как сделать, чтобы при публикации новости/статьи, когда проставляется rel="alternate", чтобы этот префикс тоже удалялся относительно URL, где предусмотрен язык по умолчанию?

    Ато не получается тогда перекрестного rel="alternate" на всех страницах. В них присутствует префикс /язык/, а это уже другая ссылка (((

  3. Это не убирает префикс языка,а делает 301 редирект.
    И со стороны сео не то что не решает проблему, а делает только хуже. Как можно реально убрать префикс без редиректа?

    • Тут вопрос шире нужно ставить — как избавиться от тех многочисленных дублей, которые Joomla плодит? Вопрос не так тривиален, как может показаться. Возьмите практически любой сайт на Joomla и посмотрите в выдачу Гугла по этому сайту. Мусора будет немеряно.
      Для себя вопрос решил переходом на WordPress (после многолетнего пользования Джумлой). Заодно избавился от пачки других проблем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *