Еще недавно при создании любого сайта веб-мастер делал определенное количество веб-страниц и размещал их в интернете. При необходимости внесения изменений или дополнений владелец сайта обращался снова к веб-мастеру, и тот выполнял необходимые работы. Сегодня на смену таким статическим сайтам пришли динамические, в которых каждая страница генерируется непосредственно в момент обращения к ней. Информация обо всех страницах хранится в базе данных, и владельцу сайта предоставляются специальные средства для добавления новых данных или исправления ранее введенных. При этом внешний вид веб-страниц и структура их взаимодействия задается специалистом при разработке сайта, а ввод и редактирование содержимого может выполняться человеком, не знакомым с версткой веб-страниц и программированием. Система, управляющая динамическим сайтом, часто называется системой управления содержимым или сокращенно CMS от английского названия Content Management System (система управления контентом). Такие системы в общем случае используются для хранения и публикации самых разных материалов. Содержимое сайта, то есть контент, обрабатывается с помощью CMS и выводится посетителю сайта в заданном виде. Кроме того, современные системы автоматизируют многие распространенные действия, например, позволяют выполнить поиск по сайту или организовать опрос посетителей. Если небольшие сайты-визитки еще можно делать без использования CMS, то подавляющее большинство современных коммерческих сайтов необходимо разрабатывать с помощью таких систем.
Выбор системы управления сайтом является достаточно важным шагом, и ему следует уделить должное внимание. Условно можно выделить четыре группы CMS: коммерческие системы, стоящие от нескольких сотен до нескольких тысяч долларов, дешевые коммерческие системы стоимостью около сотни долларов или немного больше, бесплатно распространяемые CMS с открытым исходным кодом и системы, которые используются только разработчиками. Дорогие коммерческие системы можно использовать при создании сложных сайтов крупных коммерческих организаций, но для среднего и малого бизнеса их цена часто оказывается слишком высокой. Кроме того, часто дорогие системы слишком сложны и требуют постоянной поддержки специалистов, а также предъявляют повышенные требования к хостингу.
В итоге поддержка сайтов, как и их создание, оказывается достаточно дорогим мероприятием. При этом следует учитывать, что в десять раз большая цена не дает соответственно в десять раз больше функций, часто дорогая система ненамного опережает по возможностям дешевые аналоги. Дешевые CMS в большинстве случаев не выдерживают конкуренции с бесплатными системами. Для создания полноценной системы следует потратить достаточно много рабочего времени, и сообщество бесплатной системы, насчитывающее тысячи пользователей, может сделать больше¸ чем несколько программистов, создающих систему на продажу. Если же над коммерческой системой работает большой коллектив программистов, ее невыгодно продавать за сотню долларов. Конечно, если создать настолько хорошую систему, что приобретать ее будут большинство веб-мастеров, можно и установить низкие цены, но на сегодня такой системы не создано и ничего не предвещает ее появления в скором времени. В принципе системы, использующиеся только разработчиками, можно отнести к этой же категории.
Вряд ли создавая веб-сайты можно выделить достаточно свободного времени, чтобы создать качественную CMS. В любом случае, взяв за основу любую бесплатную систему и доработав ее, можно с теми же усилиями получить лучший результат. При создании сайтов для малого и среднего бизнеса, рекомендуется использовать бесплатные CMS с открытым исходным кодом. Эти системы можно дорабатывать и настраивать под собственные нужды. Кстати, одним из важных недостатков коммерческих систем является именно невозможность изменения кода ядра системы при необходимости, то есть недостаточная гибкость. Конечно, для доработки систем с открытым исходным кодом требуются определенные знания, но в результате можно получить качественный сайт в короткие сроки и с малыми затратами.
Хотя в интернете можно найти сотни бесплатных CMS, резко сузить круг поможет четкое определение стоящих перед сайтом задач. Например, если создается блог, то есть сетевой дневник, рекомендуется использовать систему WordPress. Если же требуется создать сайт на основе типового шаблона и поместить его в интернете, можно использовать систему UcoZ. Правда жесткие ограничения в этой системе не позволяют создавать произвольные сайты, так что в большинстве случаев использовать ее не рекомендуется.
Популярностью пользуются системы Drupal, e107, Joomla, MODx, TYPO3 и некоторые другие, и выбор той или иной, в конечном счете определяется личными предпочтениями. Из достаточно популярных систем можно выделить две – MODx и Joomla, число пользователей которых в последнее время стремительно растет. Если Joomla позволяет создавать сайты с минимальными усилиями на основе готовых шаблонов, то MODx предоставляет разработчику мощные средства создания практически любого сайта. Если требуется гибкость, лучше выбрать MODx, а если простота – Joomla. Впрочем, если разработчик освоил MODx достаточно хорошо, он сможет эффективно использовать эту систему и при создании простых сайтов, именно поэтому сообщество пользователей MODx растет так быстро.