Удалить ID из url (ссылки) материалов Joomla

Удалить ID из url (ссылки) материалов Joomla

Способ как убрать id из урлов без сторонних компонентов.

По моему с id-шниками вполне можно жить, но сео-шаманы против...

Причём, выходит так, что эта функция была заложена самими разработчиками движка, но отключена, дабы избежать двусмысленных ситуаций и ошибок, в смысле использовать данный метод разработчики использовать не рекомендуют. Ведь проще оставить пару цифр в ссылке, нежели получать ошибки, вместе с недовольством пользователей...

Данный метод избавит нас от цифр в начале URL материала Joomla, с совсем не сложным вмешательством в исходные файлы. Причем, если помнить, про это, то ничего не изменится и при обновлениях движка.

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

Ещё! Нужно помнить, что одинаково названые материалы, сгенерируют одинаковые же алиасы (во-о-о-от зачем нужны ID), но это легко изменить - если помнить.

Приступим

Вносим изменения.

Нам нужен файл: /administrator/components/com_content/config.xml

В нём после строки:

description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC">

(На момент написания эта строка была 6-й)

Далее вставляем код:

<field name="sef_advanced_link" type="radio" default="1" label="SefAdvancedMode" description="Remove Item ID from Content URL?">
	<option value="0">JNO</option>
	<option value="1">JYES</option>
</field>

Настраиваем

Переходим в настройки менеджера материалов, ищем пункт SefAdvancedModeс, у него должно быть два радио-переключателя: Нет и Да. Ставим ДА и сохраняемся!

Проверяем URL материалов на сайте. Всё должно работать!

Важно!

После очередного обновления CMS, изменения в фале : /administrator/components/com_content/config.xml затрутся перезапишутся. Но работать всё будет как и прежде, ПОКА не залезть в настройки менеджера материалов и не сохранить их!!! То есть нужно куда-то себе записать, что такое может быть...

Ещё...

При использовании этого способа всё работает нормально, но это были мелкие сайты, где всё видно. На форуме же (ссылки написаны ниже), говорят, что возможно получить ошибку при обращении к материалам с алиасом из одного слова, вроде... Решается так: в /components/com_content/router.php заменить код:

(для J2.5 и 3.x отличается количеством знаков "=")

// then we assume it is a category. If they don't we assume it is an article
if ($count === 1) {

На код:

// then we assume it is a category. If they don't we assume it is an article
if ($count === 1 && !$advanced) {

Итог...

Будем ждать Joomla 4 и надеяться!

Пока же, если нет острой необходимости трогать ай-дишники, то пусть будут, мне кажется...

Ссылки и благодарности

Курилась эта тема JoomlaForum. Вся.

Позже найдена статья с joofaq.ru, где указаны дополнительные методы.