Скрыть ID в адресах страниц Joomla (config.xml)
- Подробности
- Категория: оптимизатор
- Автор: SEO & WEB — KELL4
Как скрыть идентификаторы (ID) страниц в Joomla?
Представленное ниже руководство поможет скрыть цифры (числа) из адресов страниц Joomla. Данное изменение позволяет включить настройку выбора скрывать или показывать ID страниц и категорий:скрывать или показывать идентификаторы (ID) страниц в Joomla CMS
Порядок действий:Находим файл в каталоге сайта: ваш_сайт/administrator/components/com_content/config.xmlоткрываем, и после строки description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC"
добавляем команду:
<field name="sef_advanced_link" type="radio" default="1" label="SEF:AdvancedMode" description="Удалить ID материала в URL ссылке?"> <option value="0">JNO</option> <option value="1">JYES</option> </field>
Сохраняем файл (если сайт имеет кодировку utf-8, то для корректного отображения описания на русском языке, без иероглифов, сохраните файл в кодировке UTF-8 без ВОМ). Переходим в панель администратора сайта и выбираем в верхнем меню Материалы/Менеджер материалов. Нажимаем кнопку Настройки в верхней части страницы. В появившемся окне с настройками находим пункт SEF:AdvancedMode с двумя радио переключателями Нет и Да. Необходимо выключить и включить данную настройку, сохраниться и при необходимости почистить кэш (cache).
Готово, проверяем сайт. При возникновении ошибки 404 при переходе на страницы или в категории сайта:
Находим в каталоге сайта файл: ваш_сайт/components/com_content/router.php
открываем, ищем строку
if ($count == 1) {
и изменяем ее на строку вида
if ($count == 1 && !$advanced) {
(Обратите внимание, в зависимости от версии CMS данный параметр может отличаться и иметь такой вид if ($count === 1 {)
При этом, все категории должны быть привязаны к пунктам меню и алиас материала не должен состоять из одного слова, для решения проблемы в файле router.php ищем строку
->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));
и меняем ее на:
->where($db->quoteName('alias'). ' = ' . $db->quote($segment) );Другие варианты удаления id цифр из url ссылок страниц:
- установить плагин ARTIO JoomSEF или SH404SEF
- заменить файл router.php