Рецепт новостных лент
обзор движка новостных лент — Pligg
Рано или поздно у каждого интернет-зависимого пользователя накапливается определенный список закладок на сайты, которые он посещает изо дня в день. В заветный список может входить все что угодно — от юмористических ресурсов до торрент трекеров, но одна позиция остается неизменной — новости, а точнее, новостные ленты. У каждого из нас есть определенный круг интересов, информацию по которым мы жаждем получать своевременно, в полном объеме и удобном формате. Серьезные новостные порталы, как правило, используют самописные движки, универсальные движки, скомпонованные нужным образом, или специализированные новостные CMS. Последние — редкие гости в Рунете, однако обладают профессиональной мощью и пользуются заслуженным уважением. Об одном из подобных движков и пойдет речь — это система управления контентом Pligg. Она написана на PHP и использует в качестве базы данных MySQL. Pligg является свободным программным обеспечением и распространяется по лицензии GPL. Движок узко специализирован под создание новостных сайтов, где посетители голосуют за понравившиеся новости, в результате чего наиболее популярные из них оказываются на главной странице. Ярким примером могут послужить новостные ленты: русская news2.ru и зарубежный аналог digg.com.
Установка
На сегодняшний день самым свежим дистрибутивом является Pligg версии 1.0, доступный на официальном сайте проекта. К слову, сайт англоязычный и основное комьюнити тоже общается на языке Шекспира и Байрона, а так как русскоязычное сообщество довольно небольшое и вялое — стоит подружиться с английским языком. Тем более что большинство ответов на часто задаваемые вопросы освещено на форуме проекта. Перевод оригинального дистрибутива на русский язык можно скачать на сайте русского сообщества или установить оригинал, так как в русской версии были замечены конфликты с некоторыми англоязычными модулями. У движка есть инсталятор, поэтому установка проходит без проблем. Однако, в случае если проблемы все-таки возникли, документация, поставляемая с движком, скорее всего, не решит проблемный вопрос. Вероятнее всего, ответ придется искать на англоязычных форумах. Также замечены проблемы с установкой Pligg на субдомен или в подкаталог уже существующего сайта. Небольшие проблемы ждут, если используемая база данных не в кодировке UTF-8, движок явно не дружит с ansi.
Функционал
Сфера применения CMS Pligg узкая, функциональность движка заточена под конкретные задачи в ущерб универсальности, что, впрочем, неудивительно для узкоспециализированных движков. Пользователи в Pligg являются основным источником контента — так называемый user generated content. Они могут добавлять статьи и описывать их тематику с помощью тегов и дерева категорий. Пользователи могут голосовать за новости, поднимать их в рейтинге новостной ленты — ставить "плюсики" и комментировать их. В наличии есть кнопки, позволяющие упростить процесс копирования новостей на социальные сайты. У каждого пользователя в профиле присутствует папка "Избранное", в которой накапливаются ссылки на особо интересные новости. Пользователи могут добавлять друг друга в друзья и обмениваться сообщениями посредством внутренней почты.
В плане пользовательских ролей движок достаточно гибко настраивается: возможно ли незарегистрированным пользователям добавлять новости и участвовать в голосовании, какое количество голосов должна набрать новость для попадания на главную страницу и т. д. Собственно сайт на этой CMS состоит из нескольких новостных лент, распределенных по категориям: лучшие, новые, топ за неделю и т. д. Для каждой новости, рейтинга пользователей и облака тегов есть отдельная страница. На основных страницах в боковых колонках присутствуют блоки "Только что добавленные новости", "Топ новостей за неделю", "Рубрики", что благоприятно сказывается на юзабельности сайта. Конструкция может изменяться в ту или иную сторону в зависимости от дизайнерских пристрастий администратора. Функционал движка направлен на создание новостных сайтов, для этого присутствуют мощные и удобные инструменты. В то же время он достаточно ограничен в других областях. Например, такая элементарная возможность, как создание статичных страниц и размещение на них пользовательского блока ссылок, отсутствует в базовой комплектации. С другой стороны, система размещения новостей и голосования за них, добавление друзей, отслеживание комментариев и публикаций, внутренние сообщения, облака тегов, rss-ленты являются базовыми встроенными функциями. Пробелы в инструментарии можно заполнить с помощью модулей. Модулей для Pligg не так уж и много, однако они представляют определенный интерес в силу своей веб-два-ноль ориентации. Наиболее популярные из них позволяют расширить функционал движка до следующих возможностей:
- добавление статических страниц;
- раскрывающиеся AJAX-меню на сайте с учетом категорий и подкатегорий;
- просмотр картинок без загрузки новой страницы;
- изменение формул расчета рейтингов;
- интеграция с digg-flicr;
- публикация rss-потоков
и многое другое.
Используя функционал модулей, следует быть готовым к тому, что некоторые из них могут некорректно работать с русской версией движка. Некоторые из них еще достаточно "сырые" в принципе, другие сделаны под более ранние версии Pligg и не адаптированы под последний релиз. Таким образом, использовать модули стоит крайне вдумчиво, осторожно и быть готовым ко всему. Стоит добавить, что на официальном сайте проекта можно купить недостающие модули. Цены вполне демократичные, например, полный сборник лучших модулей для Pligg обойдется в $59,99.
Шаблоны
На момент написания статьи на официальном сайте насчитывалось около пятнадцати бесплатных шаблонов. К сожалению, эта часть поддержки движка реализована достаточно небрежно, таким образом, выбирая шаблон, отличный от шаблона по умолчанию, вкупе с новым дизайном, администратор получает массу новых проблем. Они решаемы, но впечатление от работы с шаблонами остается не самым приятным. Собственно, беспроблемные шаблоны можно пересчитать по пальцам одной руки, поэтому для серьезного проекта остро встает вопрос о покупке уникального дизайна.
Функционал админ-панели заточен под выполнение определенных задач, а потому, как и любой профессиональный инструмент, нареканий не вызывает и особых причин останавливаться на нем нет. Некоторые нарекания вызывает тот самый добавочный функционал в виде модулей. Нередки ситуации, когда можно встретить взаимоисключающие модули или некорректную работу ЧПУ (человекопонятных URL).
Перспективы
На официальном сайте красуются обещания перешагнуть через версию 1.0 и переписать все на корню. Как правило, столь радикальные меры более оправданны для универсальных движков, узкоспециализированные же предпочитают развиваться плавными темпами с упором на качество. С точки зрения производительности Pligg полностью оправдывает свою специализацию — новостные сайты по умолчанию должны выдерживать большой наплыв посетителей, чем они с успехом и занимаются. За примерами далеко ходить не надо — это все тот же зарубежный digg и его русскоязычный аналог news2.ru.
Шлифовка движка
В угоду SEO-оптимизации стоит произвести небольшую шлифовку движка. Дело в том, что описанные выше закладки в популярных социальных сетях могут сыграть с веб-мастером злую шутку — есть вероятность получения санкций от поисковых систем за дублирование контента. Потому каждый веб-мастер должен для себя решить, действительно ли нужны его проекту эти возможности. Кроме того, при удалении всех пяти закладок с тайтлами и всем прочим заметно уменьшается вес страницы.
Есть два решения этой проблемы:
1. Идем в настройки/Summary/Enable AddTo — false
2. Открываем в шаблонах файл link_summary.tpl и удаляем строки
{if $Enable_AddTo eq 1}
....
{#PLIGG_Visual_LS_AddThisLinkTo#}{/if}
Защита от спама
Зачастую встречается такой метод спама, как спам в профилях. Это работает следующим образом: на сайте появляется огромное количество зарегистрированных пользователей, которые не ведут на сайте никакой активности. В профилях неблагонадежных пользователей присутствуют спам-ссылки на сторонние ресурсы, которые прекрасно индексируются поисковиками. Чтобы избежать подобной ситуации, следует дописать в файл robots.txt следующие строки:
User-agent: *
Disallow: /cgi-bin
Host: yoursite.ru
Disallow: /search.php
Disallow: /rss.php
Disallow: /user.php
Disallow: /live
Disallow: /register.php
Disallow: /index.php?part
Disallow: /login.php
Также по ряду причин может возникнуть проблема с добавлением некоторых сайтов, поэтому следует отключить проверку URL в админ-панели.
Итоги
Несмотря на то что в процессе эксплуатации без замечаний не обошлось, Pligg показал себя с лучшей стороны. Это действительно мощная по функционалу специализированная CMS, предоставляющая все возможности для создания профессионального новостного сайта. Стоит отметить, что и универсальные CMS можно скорректировать в сторону новостных движков. Например, Drupal обладает специальными модулями для подобных целей. Однако, если выбор сделан в пользу новостного сайта и ожидается популярность ресурса вкупе с наплывом пользователей, стоит обратить внимание на Pligg, потому что узкая специализация всегда брала верх над универсальностью.