Удаление из 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 (после многолетнего пользования Джумлой). Заодно избавился от пачки других проблем.

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

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