Как убрать id новости в DLE

Как убрать id новости в DLE

От автора: приветствую вас, друзья. В этой небольшой статье мы с вами поговорим о ЧПУ (человеку понятных урлах) в DLE. Статью я назвал «Как убрать id новости в DLE», поскольку именно этот вопрос интересует многих пользователей этой CMS. Итак, давайте посмотрим, возможно ли это?

Итак, давайте начнем с того, какие же варианты ЧПУ нам предлагает DLE из коробки. Всего нам предлагается три варианта ЧПУ на выбор, которые называются незамысловато: Тип 1, Тип 2 и Тип 3. Вот что они из себя представляют:

Тип 1 — ссылки на полную новость будут иметь вид http://domen/id-имя новости.html

Тип 2 — ссылки на полную новость будут иметь вид http://domen/категория/подкатегория/id-имя новости.html

Тип 3 — ссылки на полную новость будут иметь вид http://domen/2008/04/02/имя новости.html, внимание данный тип несет повышенную нагрузку на сервер

Примеры и описания ссылок я скопировал прямо из справки по ЧПУ в админпанели DLE. Найти ее можно и, соответственно, выбрать нужный тип ЧПУ, в разделе Настройки скрипта — Настройка системы:

Обратите внимание, кроме опции выбора типа ЧПУ, есть также две дополнительные настройки: первая позволяет включить ЧПУ, вторая — обрабатывает неверные ЧПУ.

Но вернемся к типам ЧПУ. Как видим, все три варианта достаточно привлекательны. Пожалуй, я бы остановился на первом или втором варианте, они мне больше по душе. Однако в каждом из выбранных вариантов в начале названия новости присутствует ее id, т.е. часть ссылки будет иметь следующий вид — 5-bukingemskiy-dvorec.html, где цифра 5 — это и есть id новости.

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

К сожалению, DLE не предоставляет нам другого типа ЧПУ, где бы не было ID новости, а было лишь ее название. Почему так? Сложно сказать. В сети можно встретить мнение, что сделано это в целях быстродействия. Поскольку id в таблице новостей имеет первичный ключ, это значит, что найти нужную запись по id можно очень быстро и DLE достанет нам полный текст по id новости действительно быстро. Если же убрать id и искать новость по ее алиасу (название транслитом), тогда процесс будет идти тем медленнее, чем больше новостей на сайте.

Однако это не совсем так, поскольку данная проблема надумана и легко решается. Достаточно проиндексировать поле, в котором хранится алиас, и поиск по данному полю будет производиться так же быстро, как и по полю id с первичным ключом. К слову, поле alt_name в таблице dle_post проиндексировано, для него установлен индекс KEY, т.е. выборка по данному полю будет осуществляться быстро. Так что проблема, как я и сказал выше, надумана и реализовать еще один тип ЧПУ или же просто убрать из двух первых ненужные ID — вполне реально.

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

К слову, разработчики всегда принимают предложения от пользователей для будущих версий движка. Можете внести свое предложение, если такового еще нет, или проголосовать за уже внесенное здесь.

На этом я с вами прощаюсь. Удачи!

Хотите научиться создавать сайты на CMS DLE?

Прямо сейчас посмотрите курс по созданию сайта на CMS DLE с нуля!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (1)

  1. Андрей

    Добрый день! У меня есть инструкция, как убрать id в DLE 11, но появляются 4 бага:
    - sitemap.xml генерируется с id
    - похожие новости отображает с id
    - комментарии при добавлении и перезагрузки страницы — пропадают
    - использую чпу тип 2, новость доступна по адресам: site.ru/category/news.html(best),
    site.ru/news.html,
    site.ru/subcategory/news.html , site.ru/category/subcategory/news.html

    Если сможете помочь с исправлениями багов — напишите, скину всю информацию

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree