я заметил что айди вылазит тогда когда мы назначаем пункт меню скажем на категорию материалов (блог материалов в категории). и отдельных закладок(меню) на материал нету.
делаю так Joomla 2.5. без всяких хаков и изменении в роутере. создаю меню. но НЕ публикую его . в нем создаю пункты на каждый из материалов.
и алисы будут те которые здесь мы и зададим этим пунктам меню. и нет никаких айди
Поддерживаю этот способ. Но в случае например когда у вас 2000 страниц, тяжеловасто 2000 ссылок делать, не мудрено и запутаться.
Для поисковиков решение однозначное - карта сайта! При помощи того же Xmap и отправляйте её поисковикам. Тогда они будут знать ваши страницы только по менюшным ссылкам. Вообще изначально надо продумывать структуру, причем учитывать не просто категорийность - но иерархию меню, так как внешний вид определяет именно пункт меню.
По поводу ID-шников в пунктах. Признаю, что не очень-то они нужны. У нас на форуме было найдено решение по этому вопросу для Joomla 1.6 -
http://joomlaforum.ru/index.php/topic,169326.0.htmlВот решение как убрать ID статьи из адресной строки:ПРЕДВАРИТЕЛЬНО ОБЯЗАТЕЛЬНО СДЕЛАТЬ РЕЗЕРВНУЮ КОПИЮ НА СЛУЧАЙ ЕСЛИ ЧТО ТО ПОЙДЕТ НЕ ТАК! (Для этого есть хороший компонент Akeeba Backup)
Открываем для редактирования файл ваш сайт...
/components/com_content/router.php1. У функции function ContentBuildRoute(&$query) изменить 27 строку:
$advanced = $params->get('sef_advanced_link', 0);
на:
$advanced = $params->get('sef_advanced_link', 1);
2. У функции function ContentParseRoute($segments) изменить строку 204 с:
$advanced = $params->get('sef_advanced_link', 0);
на:
$advanced = $params->get('sef_advanced_link', 1);
3. Удалить строки с 225 по 229:
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}
Способ опробован мной лично, работает. Можете посмотреть сами -
ипк-приамурье.рфЕщё встречал решение как
убрать ID категории из адресной строки. Да, и такое бывает.
Открываем для редактирования файлик ваш сайт.../administrator/components/com_content/config.xml
Между строками:
<?xml version="1.0" encoding="utf-8"?>
<config>
<fieldset
name="articles"
label="JGLOBAL_ARTICLES"
description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC">
и
<field
name="article_layout" type="componentlayout"
label="JGLOBAL_FIELD_LAYOUT_LABEL"
description="JGLOBAL_FIELD_LAYOUT_DESC"
menuitems="true"
extension="com_content"
view="article"
/>
Вставляем код:
<field name="sef_advanced_link"
type="radio"
default="0"
label="Sef Advanced Mode"
description="Remove ItemID from Content URL?">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
Сохраняем (не забываем про кодировку UTF-8), и заходим в менеджер материалов в админке, во вкладку "материалы". И видим что появился пункт:

Если поставить да, то id категории из ссылки будет вычтен.