Куда идем?

«Как привести в Joomla адрес страницы к желаемому виду?» – вопрос, казалось бы, очень простой, но судя по количеству запросов на форуме, это не так. Те люди, которые давно работают с Joomla и используют CMS во многих своих проектах, наверняка знают, как правильно настраивать SEF-url в Joomla. Новички же зачастую прибегают к помощи громоздких сторонних расширений, не догадываясь, что почти всё можно сделать стандартными инструментами Joomla. В этой статье я расскажу, как сделать для любой страницы сайта желаемый адрес, не прибегая к помощи сторонних расширений.

SEF-ссылки в Joomla

Прежде всего, давайте разберемся, что же такое SEF-ссылки и для чего они вообще нужны. SEF – аббревиатура от «Search Engine Friendly», или «дружественные для поисковых систем». Википедия нам подсказывает:

Концепция SEF предполагает максимально лаконичные и интуитивно понятные адреса, которые показывают естественную для человека логическую структуру данных на сервере, а не её программный интерфейс с модулями и параметрами. Структуру обычно представляют в виде иерархии как в обычной файловой системе, к которой привык пользователь:

    /articles/tags/summer/ — статьи по меткам, метка summer (лето).

    /news/sport/2003/10/ — новости спорта, 2003 год, октябрь.

    /catalogue/light/bulbs/GE/ — каталог товаров, отдел «Свет», лампочки, производитель GE.

Или, так:

    /статьи/метки/лето/ — статьи по меткам, метка summer (лето).

    /новости/спорт/2003/10/ — новости спорта, 2003 год, октябрь.

    /каталог/свет/лампочки/GE/ — каталог товаров, отдел «Свет», лампочки, производитель GE.

Т.е. концепция SEF не только дает поисковым роботам больше информации о странице, но и помогает людям ориентироваться на сайте. Пренебрегать SEF-ссылками сегодня просто глупо. Основной вопрос в том, как все грамотно настроить при использовании CMS Joomla.

Активация SEF в Joomla

Для того чтобы активировать функционал SEF в Joomla, необходимо выполнить несколько простых шагов:

  1. в корне сайта переименовать htaccess.txt в .htaccess ;
  2. Зайти в общие настройки Joomla («Система» –> «Общие настройки») и в разделе  «Настройки SEO» активировать три опции:
  • Включить SEF (ЧПУ);
  • Перенаправление URL;
  • Добавлять суффикс к URL;

Joomla SEF options

После этого сохраняем настройки и идем на главную страницу сайта. SEF-ссылки активированы.

Настройка вида SEF-ссылок в Joomla

Общие принципы

Теперь, наконец, перейдем к самому интересному. Одной активации SEF в Joomla зачастую бывает недостаточно. Всё зависит от того, URL какого вида вы хотите получить.

Есть несколько видов SEF URL, обычно используемых на сайте:

  1. http://site.ru/article.html
  2. http://site.ru/id-article.html
  3. http://site.ru/category/article.html
  4. http://site.ru/id-category/id-article.html
  5. http://site.ru/category/id-article.html

Каждый из представленных видов хорошо подходит в том или ином случае. Использование ID в URL оправданно тем, что при таком подходе вы можете не беспокоиться о том, что две статьи с одинаковым названием (псевдонимом) будут иметь одинаковые URL, т.к. ID для каждой статьи строго уникален.

Я обычно использую конструкцию:

http://site.ru/article.html

для основных страниц меню сайта, таких как «О нас», «Контакты» и т.д. и  конструкцию:

http://site.ru/category/article.html

для остальных материалов сайта. Во втором случае приходится самостоятельно следить, чтобы псевдонимы заголовков были уникальны.

Псевдонимы

Псевдонимы – это как раз тот самый текст, который будет показан в URL. Начиная с Joomla 2.5, псевдонимы генерируются автоматически на основе заголовков материалов, категорий и пунктов меню с использованием транслитерации. Так, к примеру, если вы написали заголовок «Статья», при сохранении автоматически будет сгенерирован псевдоним «statya». Он и будет показываться в URL на нужной позиции. Никто не запрещает задать псевдоним вручную. В статьях, категориях, пунктах меню есть соответствующее поле «Псевдоним». Единственное, я советую вас не заполнять его русскими буквами. Ничего хорошего из таких ссылок не получится, разве что при использовании домена зоны .рф.

URL типа http://site.ru/article.html

Теперь перейдем непосредственно к созданию ссылок разных типов. Первым типом будет наиболее простой и удобный:

http://site.ru/article.html

Для создания такой ссылки недостаточно просто создать материал. В Joomla все материалы в обязательном порядке должны иметь категорию. Если категория не указана, то материал будет помещен в категорию uncategorized. В таком случае по умолчанию ссылка будет иметь вид:

http://site.ru/2-uncategorised/2-article.html

где 2 и 2 – ID категории и материала соответственно.

Для того чтобы придать URL красивый вид, необходимо создать пункт меню типа «Материал», выбрать необходимый материал из списка и указать для пункта меню псевдоним «article». После этого URL примет тот самый вид, что описан в начале.

URL типа http://site.ru/category/id-article.html

URL материалов категории лучше представлять в виде:

http://site.ru/category/id-article.html

По умолчанию, URL будут иметь вид:

http://site.ru/id-category/id-article.html.Обычно категорий на сайте не так много и можно не волноваться о том, что их названия могут повториться. Поэтому имеет смысл избавиться от ID категории в URL. Для этого, опять же, создаем пункт меню типа «Блог категории» и выбираем из списка нужную категорию. URL’ы всех материалов категории будут преобразованы к виду

http://site.ru/menualias/id-article.html  

menualias – это псевдоним пункта меню, который был создан.

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

А как же создать URL вида http://site.ru/category/article.html

Вопрос в том, как создать URL, содержащий только псевдонимы, но не ID. Интересно, но это, как оказывается, достаточно сложная задача. Если кратко, то нужно переопределять файл router.php в шаблон Joomla и вносить в него исправления. На просторах Интернета по этому вопросу есть несколько подробных инструкций. Но не думаю, что стоит с этим связываться. URL-адреса – это такая вещь, настроить которую можно только при создании сайта. Если что-то изменять во время его работы, это может привести к печальным последствиям вплоть до временного выпадения из индекса поисковых систем большей части страниц. Неизвестно, что будет с таким файлом при обновлении версии Joomla, например, с выходом Joomla 3.2. Я считаю, что лучше не рисковать и оставить ID в URL материала.

Еще одним выходом будет являться установка стороннего SEF-компонента, например, SH404SEF.

UPD.: 19.09.2017. Привет из будущего! Теперь у Joomla новый роутер, позволяющий делать адреса такого вида!

Скрытое меню

Еще один частый вопрос: что делать, если нужно только создать правильный URL, но не показывать пункт меню на сайте? В этом случае все просто. Нужно создать в менеджере меню скрытое меню. «Скрытое» – это просто такое название для удобства. На самом деле оно ничем не отличается от обычного меню. Разница лишь в том, что обычное меню вы показываете на сайте через модуль Joomla. Для скрытого меню просто не публикуйте этот модуль и его никто не увидит. Оно будет использоваться только для служебных целей, а именно создания правильных URL и привязки модулей к определенным страницам сайта.

Сторонние компоненты

Всё, что было описано выше, относится только к основным расширениям Joomla, которые предустановленны сразу с CMS. Для сторонних компонентов SEF делают разработчики этих компонентов. Весь код, относящийся к формированию ссылок, находится в папке с компонентом, в файле router.php. Этот файл можно переопределить в шаблон Joomla и доработать под себя. Хотя потребуются приличные знания PHP. Иначе, либо искать готовый переделанный router, либо использовать то, что есть.

Вот так обстоят дела в SEF URL в Joomla. Надеюсь, для кого-то процесс формирования таких ссылок стал понятнее, и теперь создать красивые читаемые URL для страниц своего сайта будет проще.

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

Комментарии  
-6
в Drupal создание SEF-адресов - более простая задача, и решается намного гибче
12
И чё?
4
спасибо за полезную статью!
тоже пользуюсь скрытым меню
-12
Joomla - тема лютая! Не очевидная временами, но прикольная...Советую всем пацики.
1
Здравствуйте, у меня почему то в url сайта добавляется /jce/, т.е http//: mysite.ru/jce/material. Есть предположение, что виноват компонент JCE. Искал в настройках - ничего не нашел. Как убрать?
1
cvoboda, проверьте, нет ли у вас пункта меню с псевдонимом "jce".
1
Разобрался, снес компонент jce, потом установил заново
1
Расскажите поподробнее о скрытом меню, пожалуйста. И еще есть ли возможность сделать url адрес в виде id-article.html без названий категорий и меню в нем, в независимости в какой категории находится материал?
1
GizAn, скрытое меню - это обычное меню Joomla, для которого не выведен на сайте отображающий модуль. Сделать так, как вы описали, стандартными средствами нельзя. Либо переделывать router Joomla, либо использовать сторонний SEF-компонент, например, SH404SEF.
1
Виталий, спасибо за шпаргалку. Особенно жаль раньше такой статьи не было: свои шишки набивал.
Было бы не плохо ещё упомянуть, что будет если разные пункты меню типа "Блог категории" ссылаются на одну категорию и как такой конфликт имён выявить и устранить.
1
VARion, хороший вопрос. Поймал себя на мысли, что такого никогда не пробовал делать, а потому даже и не знаю, что получится. Возможно, получится дубль, но интересно, какое все-таки ItemID будет применяться к статьям. Вообще не нужно создавать несколько пунктов меню на одну категорию. Если необходимо продублировать пункт меню, следует использовать тип меню "Псевдоним пункта меню".
1
Виталий! Отличная статья и хорошая помощь новичкам! Но как быть вот с таким глюком? - в конце урла сайта после html - joomla дописывает различные символы, типа - #.UwnLY-N_tBo - или - #.UwnMkuN_tBo.
У меня это впервые за последние семь лет! Кто сталкивался с такой проблемой? Отпишитесь пожалуйста!
1
Чуть позже нашел причину - это компонент Xmap! Кто знает в чем конфликт?
1
07d, все, что дописывается к URL после # - это якорь, который должен вести на определенную часть текущей страницы, т.е. показывать ее не с самого верха, а с определенной области.
Вы не первый, кто задает мне подобный вопрос и, честно говоря, причина возникновения таких URL мне неизвестна. Вы выяснили, что виноват Xmap. Возможно это так. И уже хорошо, что это известно. Но лично я, сколько не использовал Xmap, подобного не встречал. Возможно, дело в настройках. Возможно, в сочетании с каким-то другим компонентом. Копайте глубже. Если удастся выяснить причину - напишите, пожалуйста, ее сюда. Этим вы поможете и другим людям сталкивающимся с этой проблемой.
1
Виталий! Провел эксперимент! -Удалил этот компонент и сопутствующие плагины. Всё осталось по прежнему! Ошибка засела глубоко. При создании нового сайта - такого же типового интернет-магазина с таким же набором дополнений, но без компонента Xmap ошибка не наблюдается! Так и не нашел ответ на свой вопрос в интернете... Варианты: перелопачивать код joomla, что очень дорого по времени или отказаться от этого компонента и ваять карту вручную! Если у кого есть мысли по этому поводу, буду рад любой помощи!
1
07d, такого не встречал (использую на каждом сайте этот компонент), но напрашивается продолжение эксперимента: теперь на работающий сайт без Xmap поставьте его, предварительно сделав бекап. Просто сомнения у меня, что из-за него это: это ведь с его функционалом совсем не связано. И не понятно где именно новый адрес появляется, уже ссылки в меню такие или в блоге, модуле компоненте...
1
ДА! Поставил! Появилось тоже самое - например - .ru/karta-sajta.html#.Uwt7seN_tBo - или - ru/servis-i-pomoshch/kak-kupit.html#.Uwt79eN_tBo
0
07d, нагуглил вот что:

Цитата:

Сие действие совершает плагин AddThis (ну всем известный).

Решение вопроса :
, чтобы другие знали как отключить:

При генерации кода, снимите галочку с "Track when users share by copying your URL", это уберёт строку

Код:

script type="text/javascript">var addthis_config = {"data_track_addressbar":true};</script



Можете сами убрать.

Если вы такой не устанавливали, то возможно дело в шаблоне. Попробуйте проверить с другим шаблоном.
1
Виталий! Вам - РЕСПЕКТ! Натолкнул на мысль! Я тоже подозревал что проблема может быть в этом, просидев ночь за компьютером... Но дело в том что я стараюсь не пользоваться лишними плагинами. Порой бывает что лучше сторонний код вставить в модуль, чем делать "обвес" ! Правильно? (галочку снимать негде - :lol: )Поэтому данный модуль с социальными кнопками просто снял с публикации. Проблема решена но наполовину. AddThis тоже нужен.
И оказывается что Xmap тоже влияет на формирование урла. Тоже нагуглил.Может быть оно всё вкупе - ?
Еще хочу добавить что данный конфликт (плавающий урл)оказывается никак не влияет на индексацию и продвижение теоретически и по своему опыту(практически все мои сайты в десятке по своему региону), но погрешность есть!Будем дальше разбираться!
Большое спасибо за внимание и помощь!
Дмитрий.
1
Здравствуйте, Виталий!
Joomla 3.
При создании категорий и меню в некоторых url появились такие тексты вида "wf-menu-config" или "wf-menu-cpanel".
Например: http://мой_сайт/wf-menu-cpanel/menu1/1-poryadok.
Подскажите, как можно убрать данный текст "wf-menu-cpanel" и "wf-menu-config"?

Спасибо.
Николай.
2
Nikak, http://forum.joomla.org/viewtopic.php?f=617&t=750214#p2894686
1
Помогло.
Спасибо! :-)
1
Как сделатьв Joomla 3 ссылку вида site.ru/article.html???

У меня почему между доменом и материалом вставляется еще и родительский пункт меню.

Например создал я пункт меню "машины". В нем создал подменюшку "легковые машины" и создал тип материала,и выбрал из списка нужную статью. В итоге у меня получается ссылка ввида site.ru/mashini/legkovie-mashini.html. Как сделать такого вида site.ru/legkovie-mashini.html
1
slam1989, так работает роутер Joomla. Работает он плохо. Это уже все признают. К версии 3.5 или 3.6, если не ошибаюсь, обещают переделать.
По вашей проблеме. Варианты:
1) Создавать пункты меню без вложенности.
2) Использовать стороннее расширение, например, SH404SEF.
1
Здравствуйте. Вопрос немного не по теме но все же, как создать несколько статей с одинаковым заголовком? а конкретнее как я выше прочитал у joomla обычно претензии только к алиасу статьи, у меня на сайте перед алиасом в адресе к статье отображается ид статьи, тобеж по логике конечные урлы к статье никак не повторяются, если даже алиасы были бы одинаковые, так в чем же проблема? Как же правильно будет поступить?
1
Nikолай, не путайте id и alias. Alias заполняется в настройках статьи. Именно там он должен быть уникальным. Т.е. нельзя в 2 статьях написать алиас myarticle и myarticle, но можно myarticle и myarticle1.
1
а можно ли как нибудь автоматизировать процесс присвоения алиасу значения, т.е. чтоб в алиас автоматически заполнялся "ID-alias", а потом отключить на сайте при выводе конечных урлов вывод ИДа перед алиасом? Я новичок в joomla и к сожалению еще многое не понимаю.
1
Nikолай, можно использовать сторонний SEF-компонент, а лучше, все-таки, делать псевдонимы уникальными, поскольку Яндексу могут очень не понравиться ваши одинаковые.
1
Сложно с этим не согласиться, но при создании однообразных новостей непременно приходится сталкиваться с идентичными новостями отличающимися зачастую лишь датой. Пока думаю остановиться на варианте перед автоматическим алиасом самому ручками приписывать рэндомное число, есть варианты получше, пожалуйста напишите. А по поводу SEF-компонента даже не знаю, думаю может дождаться обновления 3.5 глядишь придумают чего толкового?
1
NikолайЮ router Joomla, который формирует адреса, собираются полностью переделать, если мне не изменяет память, к версии Joomla 3.6(или 4). Там может ситуация улучшится.
В вашем случае исправлять алиасы вручную будет очень неудобно. Лучше все-таки подобрать какое-то SEF-расширение. Правда там есть сложности с тем, что потом придется тащить его при всех обновлениях Joomla следом, поскольку адреса формируются именно в нем и потерять формат нельзя.
1
Спасибо большое за ответ, буду думать и решать на чем же все таки остановиться.
1
Добрый день!
Подскажите, пожалуйста.
Есть модуль Каталог товаров (список категорий) на главной странице.
У половины категорий есть привязка к пунктам меню.

Далее говорю про категории с привязкой к меню:
Если кликаю на пункт меню, то открывается страница с товарами НЕ на главной странице.
Если кликаю на ту же категорию в модуле - открываются товары на той же главной странице.
Как исправить??? Надо чтобы не на главной странице открывались :( поискала в инете, поняла, что всё должно работать как надо, тк привязка к пункту меню есть.

SEF включен, алиасы прописаны на транслите.

из категории получается такая ссылка:
http://localhost/tdlira/index.php/view/category/virtuemart_category_id/5

хотя должна быть такая: http://localhost/tdlira/index.php/detskaya

изначально всё работало, когда перестало работать, не могу сказать :(

Помогите , пожалуйста, уже весь инет почитала, понять не могу что случилось и как исправить.
1
Кексина, привяжите сам компонент Virtuemart к пункту меню. Т.е. вам нужно выбрать тип пункта меню Virtuemart - Главная и опубликовать где-нибудь этот пункт меню(можно в скрытом меню).
И да, посмотрите этот кейс: http://wedal.ru/joomla/joomla-kak-ubrat-index-php-iz-ssylok-sajta-kejs-1.html.
0
Здравствуйте!
Спасибо за полезную статью!
Только я столкнулась с тем, что при добавлении статьи (article.html) в категорию (papka) в урле категория не отображается. Выглядит это так site.com/article.html, а должно быть site.com/papka/article.html
Почему так может быть? Какие настройки надо посмотреть?
Буду очень благодарна!
1
Алена, скорее всего у вас создан пункт меню типа Материал, к которому привязана данная статья. В этом случае адрес статьи будет именно site.com/article.html.

Чтобы получить нужный вам адрес:
1) Создайте пункт меню типа Блог категории с псевдонимом papka
2) Удалите пункт меню типа Материал, с которым связана статья
3) Поместите статью в категорию из пункта 1.
0
Спасибо огромное за ответ!
Я проделала все шаги, описанные Вами, но!
Теперь появилась ссылка вида
site.com/papka.html, которая выводит все статьи из данной категории, а не определенную article.html
Что я делаю опять не так? :(
Спасибо!
1
Алена, всё так. Теперь ссылка показывает блог категории, но материалы этой категории будут иметь формат ссылок, нужный вам. Найдите в категории ваш материал, откройте его. Его ссылка будет верной.
Если вам нужно поместить ссылку на материал именно в меню, то создайте пункт меню с типом "Внешний URL" укажите в качестве этого URL ссылку papka/article.html.
Так работает router Joomla. Если вы создадите пункт меню прямо на материал Joomla, то URL будет:
site.com/alias.html и не будет содержать категории. Если вы хотите, чтобы адрес содержал категорию, материал не должен быть прямо привязан к пункту меню. К пункту меню должна быть привязана категория, которая содержит этот материал.
0
Спасибо большущее! Всё поняла
0
Здравствуйте. Спасибо за статью. Сделал, как вы написали и при наведении курсора на пункт меню показывает нормальный адрес, но в адресной строке браузера все-равно отображается стандартная "кривая" ссылка. Что можно сделать?
0
WOOHer, нужно разобраться. Если вы переходите по "нормальной" ссылке и попадаете на "кривую", то скорее всего где-то работает перенаправление. Что происходит, если нормальную ссылку просто скопировать в браузер и открыть страницу? Она изменяется на "кривую"?
0
Здравствуйте!
При включении SEF с ссылками все нормально, но перестает работать слайдер на главной странице сайта.
Как решить эту проблему?
0
Kate, что значит "перестает работать?" Он не отображается или не пролистывает слайды?
0
Он не отображается,на его месте возникает "кружочек" загрузки,но он не загружается.
0
Kate, htaccess.txt переименован в .htaccess?
Нажмите в браузере F12 и посмотрите через web-инспектор ошибки скриптов (вкладка "Консоль") и пути к изображениям на вашем сервере.
1
Доброго дня!
Подскажите если в курсе.
Ссылки с главной страницы открывают материал не в отдельной странице материала а на главной, под уже имеющимся контентом на той же главной странице. Такое же чудо и с поисковым результатами сайта, материал открывается на главной странице...
Что может быть причиной этому и как это решить?
Материалы как в категориях так и в подкатегориях меню.
0
Yegor, когда-то давно уже сталкивался с таким. Насколько я помню, дело было в некорректно настроенном SEF. Вам нужно проверить настройки SEO в общих настройках Joomla (сделайте то, что описано в пункте Активация SEF в Joomla данной статьи), а затем посмотреть, какого типа пункт меню является главной страницей. Сделайте главной страницей материал или блог категории. Это должно помочь.
0
Тип меню главной изначально был выбран материал. Всё вышеперечисленное было сделано ранее, кроме .htaccess, переименовал.
Странно то, что первая ссылка корректно работает и отображает сайт\меню\подменю, и выводит тип материала прикреплённого в этом подменю. Другие ссылки имеют вид сайт\id-категория\id-алиас материала, и открывают материал не там где следует.
Сменил тип материала, в подменю, с материал на блог категорий, ссылки корректно открывают материалы, и тогда меняется отображение материалов в этом подменю согласно общим настройкам блога.
Переназначение главной, как тип блог категорий, не повлияло на корректную работу ссылок. Ссылки опять таки не верно работают когда подменю назначается тип материал.

P.S. Решил проблему копипастом ссылок материалов из браузера, вариант железобетонный.
Спасибо за участие!
2
Добрый день! Такой вопрос после обновления joomla 2.5 до 3 версии. Такая проблема пошла, раньше главная станица на ней был блок категорий и при переходе на материал, он писал путь так:http://...ru/категория/материал. Сейчас пишет сразу http://...ru/материал. Страница является главной. Как можно исправить данную проблему?
Заранее благодарю
2
Egor, ссылка http://...ru/материал возможна только в случае, когда у вас создан пункт меню типа "Материал" и для него выбран данный материал + алиас пункта меню совпадает с алиасом материала + вы находитесь на странице данного пункта меню на сайте.
2
Не совсем понял. Но в joomla 2.5 было что назначая, блок категории и все что лежит в категории, открывается с категорий, хоть и назначена основной страницей. В третье когда данная страница не назначена главной дает возможность перейти как категория.
3
Egor, в Joomla есть приоритеты формирования URL в зависимости от созданных пунктов меню. Пишу их ниже от самого низкого(1) к самому высокому(3):
1) Материал в категории, когда для категории не назначен пункт меню и для материала не назначен пункт меню
Формат: /category_alias/id-material_alias
2) Материал категории, когда только категории назначен пункт меню, а для материала не назначен.
Формат: /menu_category_alias/id-material_alias
3) Материалу назначен пункт меню (в независимости от того, назначен ли пункт меню категории, содержащей этот материал или нет)
Формат: /material_category_alias

Так было и в Joomla 2.5 и так сейчас в Joomla 3.
Соответственно, если у вас ссылка выглядит как http://...ru/материал то это возможно только в случае №3, когда для этого материала назначен пункт меню.
1
В 2.5 у меня было так создан пункт меню типа блок категории и выбрана категория новости, страница является главной. При переходе на материал из категории с главной страницы.Формат: /category_alias/id-material_alias.
В 3 аналогично настроено.Но при переходе на материал из категории с главной страницы.
Формат 3. Хотя для материалов нет пунктов меню.
Вот тут я и застрял. Никак решения найти не могу.
1
Egor, сторонних SEF-расширений не установлено?

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

Вообще, роутер Joomla допускает открытие материала по ссылке /id-material_alias и даже по ссылке /id. Есть вероятность, что у вас переопределен в шаблон Joomla макет главной страницы. По-моему, он назывался featured и в этом макете формируются URL на материалы, не содержащие ID категории, к которым эти материалы относятся. Чтобы отсечь эту версию, попробуйте временно изменить шаблон Joomla на стандартный и проверить, останется ли проблема с URL.

Также попробуйте отключить SEF и приведите пример не-SEF ссылки на материал с главной страницы.
1
Сторонних SEF-расширений нет проверил и это тоже еще раз.
При смене шаблона все остается также.
При отключение sef в глобальных настройках joomla, там получается такая ссылка:http://...ru/index.php?option=com_content&view=article&id=248:название_материала&catid=33&Itemid=520
0
Egor, пункт меню какого типа имеет ID 520? Посмотрите в менеджере меню. Там видны ID всех пунктов меню.
0
ID 520 это Материалы » Блог категории. Блог категорий
0
Egor, если так, то роутер Joomla обработает ссылку, как /menu-item-alias(который 520)/article_id-article-alias.
Еще раз: у вас при включении SEF ссылка:
http://domain.ltd/index.php?option=com_content&view=article&id=248:название_материала&catid=33&Itemid=520
выглядит как:
http://domain.ltd/id-material_alias
На странице списка новостей? Не только при переходе, но даже при наведении на ссылку курсора? И при этом пункт меню с ID 520 - это блог категории, в его настройках выбрана категория "Новости" и он опубликован? Помимо этого у вас нет установленных SEF-компонентов?
Если всё так, то я прямо в замешательстве :o
0
именно так и при наведении курсора тоже самое. Сторонних компонентов нет. Да выбран блог категории и выбран новости. Это проблема не может быть с router.php?
0
Egor, нет, если в него не вносились изменения. Покажите сайт.
0
Туда ничего не вносил. Просто меня настораживает, что после обновления такое происходит.
0
Еще версия joomla 3.6.2 стоит сейчас, когда обновлялся была версия 3.4.8. Проблема сразу после перехода пришла.
0
Egor, покажите сайт.
0
Установил чистую joomla 3.6.2 на локальный сервер. Та же проблема.
0
Egor, специально поставил последнюю Joomla, чтобы проверить. Вы правы. Все работает реально так.
Я так понимаю, дело в том, что главная страница Joomla является блогом категории и только в этом случае все материалы категории не имеют в URL алиаса самой категории. Я не знаю почему так происходит. Было ли это ошибкой разработчиков или так и задумано.
Решается данная проблема довольно просто:
1) Сделайте пункт меню типа Блог категории для категории новости в любом меню, можно в скрытом, но он не должен быть главной страницей.
2) Главную страницу сделайте типом "Избранные материалы".
3) Перейдите в менеджер материалов Joomla, отфильтруйте только материалы категории Новости, отметьте галочками(прямо списком) и добавьте им отметку Избранное.
4) При добавлении новостей, проставляйте им отметку "Избранное", если хотите, чтобы они отображались на главной странице.
В этом случае на главной в URL будет в том числе алиас категории.
0
Здравствуйте, помогите, пожалуйста, понять почему в товарах не формируются урлы по алиасам.

Все категории на rosa-secret.ru имеют нормальные урлы которые я прописываю в алиасе
http://www.rosa-secret.ru/genskie-kupalniki

А в товарах получается непонятный урл http://www.rosa-secret.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=58&virtuemart_category_id=27&Itemid=982

Хотя в этом товаре прописан алиас fioletovyj-super-mini-bikini-ipanema
В админке сео настроено.
0
Яна, в общих настройках Joomla должна быть отключена опция Алиасы в Unicode
Также в настройках VM, вкладка SEO, нужно снять галочку Перевести строки
Но это так...

А вообще, это странно. Создается впечатление, что у вас переделан макет категории VM и переделан не очень грамотно.
Ссылка index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=58&virtuemart_category_id=27&Itemid=982
это неSEF ссылка на страницу товара Virtuemart. Если в макете категории кто-то формировал ее вручную, он забыл добавить jRoute...
В общем, проверить можно так: выберите стандартный шаблон Joomla, в котором нет переопределенных макетов VM и посмотрите, будет ли наблюдаться проблема. Весь дизайн при этом рухнет, но зато будут использоваться стандартные, не измененные, макеты Virtuemart.
0
Спасибо, подскажите а как яндекс относится к таким ссылкам? Будут ли они индексироваться?
http://www.rosa-secret.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=58&virtuemart_category_id=27&Itemid=982
0
Яна, индексироваться будут нормально, но для SEO это не очень хорошо. Лучше исправить на корректные SEF.
0
Спасибо за ответ.

Сейчас обнаружила, что на самом деле чпу урл по алиасу формируется. Т.о. один и тот же товар доступен по двум разным урлам.

Короткий чпу http://www.rosa-secret.ru/genskie-kupalniki/gill4

И на этот же товар по длинному урл http://www.rosa-secret.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=53&virtuemart_category_id=27&Itemid=982

Понятно, что я могу запретить индексацию этого длинного урла в robots, но я не могу понять, почему в категориях при переходе на товар открывается именно длинный урл? Как сделать чтобы открывался короткий чпу урл? Мне кажется нужно где-то код подправить.
0
Яна, сделайте то, о чем я писал вам выше: измените временно шаблон Joomla на стандартный и посмотрите, наблюдается ли проблема. По результатам сообщите.
0

Цитирую Wedal:

Яна, сделайте то, о чем я писал вам выше: измените временно шаблон Joomla на стандартный и посмотрите, наблюдается ли проблема. По результатам сообщите.



Я кстати, выбрала в админке временно другой шаблон, к сожалению, проблема осталась, товары также открываются по длинным урлам. Как и писала раньше, короткие чпу урлы тоже существуют. Товар открывается и по чпу и по длинному урлу, но в первую очередь по длинному.
0

Цитирую Wedal:

Яна, сделайте то, о чем я писал вам выше: измените временно шаблон Joomla на стандартный и посмотрите, наблюдается ли проблема. По результатам сообщите.


К сожалению, я не умею это делать. Доработки делали на fl программисты. По этой проблеме сейчас работал один программист, но решение не нашел. Подскажите, можно у вас заказать эту услугу?
0
Яна, написал вам на почту.
0
Здравствуйте!
Есть ли у вас на сайте информацию по правильному построению меню и категорий меню для отображения материалов? Я допустил ошибку, как мне кажется, но не могу понять в чем заключается эта ошибка. Судя по консоли гугл вебмастера, на сайте присутствуют дубли типа:
site.ru/blog/proizvoditeli/14-xs.html
site.ru/contact/proizvoditeli/14-xs
site.ru/proizvoditeli/14-xs.html
0
Дмитрий, отключите в настройках Joomla SEF-ссылки и пришлите оригинальные адреса этих страниц (index.php?option=...) . Я подскажу в чем дело.
0
После включения "SEF-ссылки", эти страницы перестали открываться..
0
Вроде бы получилось найти оригинальную ссылку: index.php?option=com_content&view=article&id=11:nillkin&catid=9&Itemid=1145
0
Дмитрий, а остальные 2 ссылки?
0
Остальные две ссылки это дубли первой. Их нет в меню джумлы.
0
Дмитрий, это я понял, но не видя оригинальных ссылок, я не могу сказать, в чем проблема. Например, /contact/ может быть категорией, пунктом меню или чем-то еще.
0
Здравствуйте! Спасибо за статью. Однако что-то пошло не так. Вы с подобным сталкивались? Я создал категорию. На странице категории вводный текст с ссылкой на статью, которая не планируется выводиться через меню. Кликая по этой ссылке, страница открывается, но открывается как главная страница. Урл отображается верно, но и меню перепрыгивает на "Главная" и шаблон главной. При нажатии на бредкрамб - та же история.

Лучше это посмотреть. Вот адрес страницы категории http://www.volgatrip.ru/trip.html Если кликнуть по ссылке "К черту на кулички", по идее страница должна открыться в данное категории. Но посмотрите, что получается.

Вы сталкивались с подобным? Что это могло бы быть и как с этим бороться? Может есть секретные настройки джумлы, которые я упустил? Спасибо!
0
Александр, у меня открывается нормально. Т.е. появляется материал.
0
Материал то открывается, но обратите внимание где он открывается. Он становится главной страницей и горизонтальное меню перепрыгивает на "Главная".
0
Александр, вроде понял о чем вы. Вам нужно создать новый пункт меню типа "Блог категории" и указать в его настройках категорию, которая содержит материалы (экскурсии). Не обязательно показывать этот пункт меню на сайте. Он может быть в скрытом меню. После этого все будет работать правильно.
0
Здравствуйте, как бороться с этим http ://xn----7sbneggejejgvf2c2n.xn--p1ai/katalog-tovarov/%D0%B8%D0%B7%D0%B4%D0%B5%D0%BB%D0%B8%D1%8F-%D0%B8%D0%B7-%D1%84%D0%B0%D0%BD%D0%B5%D1%80%D1%8B-%D0%B8-%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D0%BD%D0%B0-%D0%B4%D0%BB
2
Илья, не использовать кириллицу в URL.
0
Здравствуйте, Виталий.
В поиске имеются две ссылки:
1) http://site.ru
2) http://site.ru/index.php?option=com_content&view=article&id=1
По обеим ссылкам открывается главная страница. Функция SEF (ЧПУ) включена (joomla 2.5).
Подозреваю, что вторая ссылка – это URL, который прописан в пункте меню «Главная». Он ведет на статью, привязанную к этому пункту меню.
Вопросы:
1) может ли такое быть (присутствие в поиске ссылок с пунктов меню)?
2) можно ли этого избежать?
3) индексируются ли такие ссылки (согласно данным в Яндекс.Вебмастер дубли отсутствуют)?
Заранее благодарен за ответ.
0
Юрий, если кратко, в текущей версии Joomla 3.6.х с дублями страниц дела обстоят довольно печально.
Вы также увидите главную, если наберете:
site.ru/1
site.ru/1-sdfsdf
site.ru/1-fdgdfgkjdfg
и таких страниц-дублей бесконечно много.

Конечно, если на них нет ссылок, поисковые системы не узнают о них и не будут индексировать. Но ссылки, по тем или иным причинам, могут появляться.
Решений я сходу могу назвать только 2:
1) Установить сторонний платный SEF-компонент, например, SH404SEF. С ним проблема дублей будет решена. Но лично мне не нравятся SEF-компоненты. Они платные. Они очень сложно настраиваются. Они тяжелые. Их в будущем всегда придется тянуть с собой, чтобы не потерять страницы в индексе.
2) Я делал самописный плагин, суть которого сводится к следующему:
Он берет не-SEF-ссылку, преобразует ее в стандартную SEF ссылку и сравнивает с SEF-ссылкой, которая была запрошена. Если они не совпадают, то идет переадресация на 404 страницу. Если совпадают, то страница открывается. Таким образом можно избавиться от большинства дублей, но если сайт сложный, то потребуется хорошее тестирование, чтобы убедиться, что какие-то нормальные страницы не будут отдавать 404.
0
Хорошая статья, все варианты попробовала
У нас стоять ЧПУ - все хорошо меняется со ссылок типа index.php?option=com_content&view=article&id=№
на нормальные короткие
добавила сегодня вне категорий политику конфидециальности по персональным данным - она доступна только по длинному урл, хотя алиас прописан, пункт меню создан (скрытый, не опубликованный).
Что еще можно сделать? Учитывая, что в основном на сайте статьи и новые товары в магазин добавляются с ЧПУ урл, проблема только в одном конкретном материале
0
Кир.Свет, у вас должен быть создан пункт меню типа "Материал" со ссылкой на данный материал. Поместите его временно в видимое меню. В нем должен будет отобразиться уже преобразованный адрес. Перейдите по нему. Статья должна открыться.
0
Здравствуйте, Виталий! Подскажите пожалуйста, как в Joomla 3 из url страницы убрать главную категорию первого уровня, оставив только алиас подкатегории и конечной страницы. У меня url формируются так: http://site.ru/article/subcategory/page.
Article - главный родитель, хотелось бы его спрятать, чтобы привести к виду: http://site.ru/subcategory/page. Будет здорово, если вы подскажите как это можно реализовать.
0
Александр, создайте для подкатегории пункт меню типа Блог категории Тогда URL материалов этой категории будут иметь вид: menu-item-alias/page. Пункт меню может называться также как и категория. Не обязательно показывать его на сайте. Он может быть опубликован в скрытом меню.
0
Виталий, здравствуйте! Я делаю странички на разных платформах, типа PlatformaLP, потом закидываю себе их HTML-код к себе на домен (мой сайт сделан на вордпресс). И всегда их могу открыть по ссылке .
Попробовал для клиентки перебросить (через Filezilla) сделанный одностраничник к ней на сайт, сделанный на Goomla, не тут то было. Сайт открывается, а страницы данной не видится. Где подкрутить, настроить?
0
Guest, опишите подробнее что вы делаете. Я подскажу.
0
Здравствуйте, статья хорошая. Хотел спросить, может не в тему : у меня сайт на joomla internet-reklama.pp.ua проблема: вместо страницы 404 происходит редирект на главную с ошибочным страсти... В чем проблема понять не могу- подскажите если кто знает? Подозреваю что где-то редиректит...
0
Дмитрий, обычно редиректит сторонний SEF-компонент или плагин. Сама Joomla по умолчанию в случае ошибки загружает файл error.php, который находится в корне используемого шаблона. Редирект может быть задан и в этом файле. Проверьте.
0
Здравствуйте! У меня вопрос. Если публиковать материал через пункт меню (скрытое меню), то урл страницы получается без html, влияет это как-то на поисковую выдачу или нет, если да, то как публиковать материал с html, чтобы в урл не были указаны пункт меню, категория?
0
Дмитрий, почему же? Если в настройках Joomla выставлена опция добавления .html в конце URL, то и для материалов, привязанных к пункту меню .html будет добавляться. Этот суффикс никак не влияет на поисковую выдачу. Если есть выбор оставлять или убирать - убирайте. Чем короче URL, тем легче он воспринимается и проще запоминается. Добавление .html на конце - атавизм web'а.
0
В карте сайта указана только одна страница с html, при этом тот же материал открывается если вводить страницу без html. Материал публиковался через скрытое меню - пункт меню как отдельный материал. Нужно что-то исправлять или все сделано правильно?
0
Дмитрий, если вы используете Joomla 3.8+, активируйте новый роутер в настройках. В этом случае дублей не будет.
0
Joomla! 3.4.8
0
Дмитрий, тогда сначала обновите Joomla, а затем активируйте новый роутер. Ваша версия уже нормально так устарела.
0
Здравствуйте.
Подскажите пожалуйста, как с помощью SEF (или возможно другим способом) реализовать такую задачу:
Есть модуль Floating buttons, в котором можно создать подкнопки, и есть очень хороший модуль регистрации (авторизации) SLogin.
Задача: необходимо прописать в поле подкнопки Floating buttons адрес или ссылку, которая бы вызывала модуль SLogin.
При этом сам модуль SLogin отображаться не должен до его вызова из Floating Buttons.
В идеале, было бы супер если бы Slogin еще выпадал во всплывающем окне....
Буду очень благодарен за подсказку
0
AShapoval, для модулей Joomla можно сделать только так:
1) Публикуете модуль Slogin в какой-либо позиции, чтобы он отображался на сайте.
2) Скрываете его через CSS с помощью display: none;
3) Добавляете на кнопку событие JS или jQuery, которые при клике будет показывать блок с модулем SLogin. Если ваш шаблон построен на Bootstrap, там есть готовое решение Bootstrap Modal.
4) SEF-ссылки здесь вообще ни при чем =).
0
Уважаемый автор, можно ли сделать страницу Joomla типа https://site.com/page на домене третьего уровня, типа https://page.site.com ??
0
Сергей, при том, что сам сайт и Joomla расположены на домене второго уровня?