Как убрать ID (цифры) из URL на Joomla

Наличие цифр ID-статьи в адресе страницы на Joomla 2.5 – это дубли страниц для поисковых систем. И если вы не хотите потерять позиции и трафик, то быстрее читайте статью и исправляйте ошибку у себя на сайте!

Убираем ID из URL-адреса на Joomla

С этой проблемой на блоге я боролся уже давно, но из-за неполных инструкций в интернете – решить эту задачу не удавалось несколько лет. Пришлось устанавливать популярные плагины, например sh404SEF, но корректно его настроить тоже не получилось.

Перечитав в очередной раз десяток статей и форумов, мне все же удалось решить проблему без установки компонентов и плагинов и теперь счастью нет предела :)

Для начала давайте рассмотрим симптомы. Если вы читаете эту статью, то наверное уже заметили на своем сайте эти цифры в URL. Например, ранее статья на моем блоге могла открываться по двум адресам и отдавать ответ 200:

https://seo-it-in.ru/raskrutka-bloga/kak-povysit-avtoritet-avtora https://seo-it-in.ru/raskrutka-bloga/37-kak-povysit-avtoritet-avtora

И такая же история для остальных страниц, а в Яндекс.Вебмастере можно было наблюдать следующую картинку.

Как убрать ID (цифры) из URL на Joomla

Рис.1 Дубли страниц в Яндекс.Вебмастере

Как видите, страницы с ID то попадают в индекс, то выпадают с пометкой дубль. Давайте решим эту проблему.

Шаг 1. Добавляем в настройки материала Sef_advanced_link

Заходим по FTP или через Менеджер файлов и находим файл ~/www/ваш_сайт/administrator/components/com_content/config.xml Добавляем кусок кода.

<field name="sef_advanced_link" type="radio" default="1" label="SEF: Удалить ID материала в ссылке?" description="Удалить ID материала в ссылке?"> <option value="0">JNO</option> <option value="1">JYES</option> </field>

Далее переходим в Панель управления – Менеджер материалов – Настройки и выбираем Да напротив SEF: Удалить ID материала в ссылке?

Sef_advanced_link

Рис.2 Опция Sef_advanced_link в настройках материала

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

Шаг 2. Изменение в router.php

Еще раз заходим по FTP или через Менеджер файлов и находим файл ~/www/ваш_сайт/components/com_content/router.php

В строке 226 меняем строчку if ($count == 1) { на if ($count == 1 && !$advanced) {

if ($count == 1 && !$advanced) { // we check to see if an alias is given. if (strpos($segments[0], ':') === false) { $vars['view'] = 'article'; $vars['id'] = (int)$segments[0]; return $vars; }

Теперь проверяем и заходим на любую статью с цифрами в URL. Если у вас открылась страница с ошибкой 404, значит вы всё сделали правильно! И через несколько дней увидите, как дубли страниц перестают индексироваться в поисковых системах Яндекс и Google.