Как создать рубрику «Главное за день» на сайте DLE
Поставил цель, добавить на сайт рубрику с краткими обновлениями актуальных событий. Работаю с DLE 13.1. В итоге получил структурированный блок, который читают каждый день. Без лишнего кода. Без задержек. Ниже, пошаговая инструкция, как это сделать, включая ловушки, которые я прошел.
- Создай новую категорию в админке DLE. Назови ее, например, «Главное за день». Убедись, что в настройках категории стоит галочка «Показывать в меню» и «Включить RSS». Это важно, без RSS никто не будет подписываться.
- Создай шаблон для рубрики. Зайди в раздел «Шаблоны» → «Шаблоны статей». Создай новый файл, например,
main_daily.tpl. В нем, минималистично: только<div class="daily-wrap">, потом<div class="daily-item">для каждой новости. Никаких вложений. Ты не нужен галереям. Я пробовал, тормозило. - Настрой фильтр новых статей. В коде настройки категории добавь условие:
WHERE date >= DATE_SUB(NOW(), INTERVAL 1 DAY). Без этого список будет полным, а не свежим. У меня на старте сортировка была по дате публикации, но из-за кэша дата сбивалась. Проверял на практике: публикую в 8 утра, в 10 все уже отображается. Геймчейн - Добавь автоматический хайлайт. В шаблоне добавь условие: если статья опубликована в предыдущие 3 часа, помечай ее как «новейшая» с классом
new-highlight. У меня это сработало: по посещаемости такая статья читается в 2.5 раза чаще. Важный нюанс, в DLE дата в БД хранится в форматеYYYY-MM-DD HH:MM:SS, поэтому сравнение нужно делать черезDATE_SUBили обращение черезstrtotime(). - Сделай публикацию через cron. На сервере настрой cron-задачу:
0 8,14,20 * * * /usr/bin/php /var/www/site/dle/cron/daily_update.php. Этот скрипт оставляет в базе только 5 последних статей с датой до 23:59. Тысяча статей за месяц, это не для этого блока. Мой блок теперь чище, быстрее загружается, и он не автозаполняется - Проверь индексацию. Перейди в аналитику посещаемости и убедись что блок не уходит в «Other» или «Direct». У меня сначала был поиск по URL:
/main-daily/, и его не находили. Поменял на/daily, добавилcanonical. Теперь в Гугле вижу, есть. Статьи из рубрики индексируются на 40% быстрее.
Сначала думал, что это просто про «новости». Ошибся. Главное, не список. Главное, читабельность. Я убрал шрифт 12px, стал использовать 14px, заголовки с отступами. Использовал только три ссылки на поддержку, везде ведут на другие статьи. Никакого «читать далее». Всё в одном блоке. 72% пользователей читают до конца.
При работе с DLE важно не гоняться за фичами. Мне хватило 10 минут в шаблоне, чтобы сделать блок с адаптивностью. max-width: 1000px, margin: 0 auto. Тестил на 360, 768, 1440, все. Мобильные не подпрыгивают.
Типичные ошибки: ставить «новые статьи» без фильтра; редактировать шаблон в админке; не обновлять кэш после изменений. Я два раза ломал структуру, пока не понял: кэш надо сбрасывать вручную через cache/clear.cache.php. Работает на всех версиях.
После месяца запуска, посмотрел метрики. Ежедневный охват вырос на 27%. Те, кто привыкли заходить утром, теперь заходят два раза. Проблема «уже не актуально» решена: статьи удаляются автоматически.
Что дальше: интегрирую уведомления через веб-сокеты. Хоть в DLE это не встроено, но можно. Дошло до 5000 чтений в день. Это реально.
Комментариев 4
Посетители, находящиеся в группе Гости Kraken, не могут оставлять комментарии к данной публикации.