Универсальная система управления контентом

Долгое время занимался разработкой CMS под свои нужды. В результате получилось около 8 разных легких систем управления контентом. Это были обычные информационные сайты, интернет магазины, сайты визитки. Все ЦМСки делал на файлах или с применением mysql.

От чужих систем управления контентом долгое время отказывался, т.к. свое дописать гораздо проще и быстрее, чем разобраться в чужих паттернах, шаблонах и алгоритмах работы. Так же при первом ознакомлении с чужим продуктом всегда не хватает необходимой информации для быстрого старта… Либо информация есть но систематизирована так, что без бутылки не разберешься… А ведь все эти скрипты должны обеспечить удобное создание и разворачивание сайта в готовый проект.

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

Популярные системы управления контентом
Существующие на данный момент цмс для различных сайтов.

В результате разного рода исследований Content Management System возникли требования по функциональности к универсальной системе управления контентом.

Открытый исходный код

Не обязательно open source система, но обязательная возможность правки любого исходного кода. Очень часто стоит задача исправить какую-нибудь мелочь, либо допилить модуль… А доступа к коду нет. Поэтому только открытый исходный код.

Многодоменность

Редко, но бывает необходимость подключения нескольких доменных имен к одному сайту. Не все CMS позволяют это сделать, а жаль…

Многосайтовость cms

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

Реализовать данные фишки можно разными способами. Самый простой, заливка каждого сайта в отдельную директорию.

И главное пожелание к многосайтовости: один движок — много сайтов. И все это на одну лицензию, если, конечно, это не опенсор движок.

Высокая производительность cms

Тут вроде бы и так все понятно. Чем быстрее работает скрипт, тем меньше времени ждет посетитель сайта открытия требуемой страницы и все вытекающее отсюда. Так же более лучшая индексация поисковиками и вытекающий отсюда более высокий рейтинг в ТОПе выдачи. Неплохо было бы наличие модуля или какого-то механизма, отключающего часть информационных блоков и/или модулей при высокой нагрузке на сайт.

Сжатие html, css, java script

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

Считаю, что удобно объединять все используемые на странице css стили в один файл. Так же объединять все используемые js файлы в один файл.

Кэширование страниц

Данный пункт очень близок к пункту «Высокая производительность». Кеш — это самый лучший вариант увеличения скорости предоставления контента пользователю. В системе кеширования всегда необходим эффективный алгоритм работы кеша. Кеш всегда должен быть актуальным и точка.

Привязка кеша к урлу страницы

Кеш дожен быть привязан к определенному урлу страницы. Для каждого урла — свой кеш.

Блочное кеширование

Очень часто требуется кешировать не всю страницу сразу, а отдельно каждый блок.

Браузерное кеширование

Обязательное кеширование html, java sctipt, css страниц браузерами. Для этого есть специальные директивы в языках программирования (да и в самом html) для браузеров, например last-modified. В результате резко уменьшается количество запросов к сайту, ускоряется загрузка страниц.

Предпросмотр создаваемых страниц

Предварительная генерация создаваемых страниц позволяет быстро подправить возникшие «косяки» до добавления страницы на всеобщий просмотр пользователей.

Юзабилити сайта

Как много хорошего и непонятного в этом слове. Хорошее юзабилити позволит пользователю, впервые попавшему на ваш сайт совершить необходимый действия: найти нужную информацию, заказать товар или пообщаться с друзьями. В результате и вам хорошо и пользователю — все довольны.

Стоимость создания и разворачивания сайта на сервере

Тут вроде бы понятно. Чем быстрее сайт можно установить и запустить, тем лучше. Быстрее запускаем сайт, меньше стоимость запуска сайта.

Автоматические и ручные бекапы скриптов и баз данных

Об этом пункте многие забывают… Но когда приходит «черный день», когда только с помощью бекапов можно восстановить переставший правильно функционировать сайт. Так же хотелось бы легко откатываться к предыдущим сохраненным версиям движка сайта. Нужна прямая и обратная операция из интерфейса админки сайта для скачивания/закачивания резервных копий.

Мультиадминка

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

Многоязычность

Локализация интерфейса — это очень хороший шаг на пути создания универсального сайта для фирмы, имеющей отделы в разных городах. В последнее время таких фирм становится все больше и больше…

Пресеты для изображений

При загрузке одной большой картинки должны формироваться картинки разного заданного в админке размера.

Стоимость последующих обновлений

У универсальной CMS обязательно должна быть низкая стоимость обновлений и высокая скорость установки этих обновлений на сайт.

Подробная документация для CMS

Обязательно должна быть актуальная подробная документация на русском (можно и других) языке. Так же нужны блоки для быстрого старта (Quick start). Неплохо было бы еще и наличие обучающих видео по работе с такой CMS.

Официальные готовые к применению модули

Если есть голый движок, но нет модулей, то сайт скорее всего будет скучным и неинтересным.

Большое количество программистов, знакомых с этой CMS

Чем больше система управления контентом известна в программистской среде, тем больше желающих писать под не модули. А конкуренция снижает цены на разработку модулей.

Готовые шаблоны дизайнов

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

Низкие требования системы управления контентом к хостингу

Сайт должен работать на всех или почти всех хостингах. Обычно минимальные требования это php + mysql. Иногда даже mysql не нужен.

Настраиваемая общая база данных

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

Высокая безопасность

Тут и так все понятно. Меньше вероятности взлома сайта.

Улучшенный морфологический поиск по сайту

Чем удобнее, релевантнее поиск по сайту, тем более лояльны будут посетители к вашему сайту. Самое лучшее решение — применение морфологического поиска.

SEO оптимизация сайт

Нужна возможность редактирования для каждой страницы всех метатегов, титлов и других полей.

Заключение

Какие-то из написанных выше вещей будет тяжело реализовать ввиду их несовместимости, но задача была написать ТЗ для универсальной системы управления контентом. Если у вас есть еще дополнения, то пишите их в комментариях — обсудим.

VN:F [1.9.22_1171]
Rating: 3.0/5 (2 votes cast)
Универсальная система управления контентом, 3.0 out of 5 based on 2 ratings

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

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

*