Система управления контентом (от англ. Content Management System, CMS) — это программное обеспечение, позволяющее публиковать и изменять информацию на сайте самостоятельно, без привлечения разработчиков сайта.

При этом подразумевается, что от пользователей такой системы не требуется специальных знаний технологий, отличающихся от обычно используемых в офисных процессах (текстовый редактор, интернет и т.п.). Проще говоря, если вы умеете работать, например, с программой Microsoft Word, то вам не составит труда самостоятельно управлять информацией и на своем сайте. При этом не следует считать, что такая система не требует обучения персонала, но это обучение касается порядка работы в системе, а не изучения новых технологий.

Большинство CMS можно разделить на back-office, т.е. инфраструктурную систему, обеспечивающую функциональность и хранение информации, и front-office, интерфейс с пользователем. В большинстве современных CMS back-office базируется на той или иной СУБД, может включать серверы приложений и портальное решение, а front-office имеет веб-интерфейс и допускает использование стандартных офисных пакетов редактирования документов (текстовые редакторы, электронные таблицы, средства создания презентаций, почтовые системы и т.п.). При этом вся функциональность, сложность разработки и администрирования сосредоточены в back-office, а пользовательские свойства в front-office.
Работа сайта на базе CMS

В системе присутствует два хранилища. В первом (обычно реляционная СУБД) хранятся все данные, которые публикуются на сайте. Во втором (обычно файловая система) хранятся элементы представления - шаблоны, графические изображения и т.д. Кроме внешнего представления сайта, каким его видят все пользователи, есть как минимум два специализированных рабочих места.

Первое рабочее место - для разработчиков сайта. С его помощью они задают структуру сайта, структуру контента, определяют внешний вид сайта, настраивают шаблоны представления информации. Этот инструментарий обычно не полностью автоматизирован. Для настройки сайта разработчики частично работают через средства CMS, часть информации размещается напрямую.

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

Причины использования CMS

В настоящее время большинство организаций имеет в том или ином виде собственный веб-сайт, созданный на основе CMS-системы (такие сайты составляют порядка 70% на российском рынке). Гораздо меньшее число компаний имеет внутреннюю интранет систему. Часто возникает вопрос: почему не создать еще один сайт для внутреннего использования и хранить необходимые документы там? В чем заключаются преимущества использования CMS? Такие вопросы чаще всего возникают из-за того, что сложности администрирования и управления ИТ инфраструктуры вообще и управления сайтом компании обычно скрыты от пользователей. Еще недавно большинство сайтов компаний было создано на основе статических страниц. В результате размещение информации на таких сайтах было скрыто от обычных пользователей. Вместе с тем, эта операция требует знания основ программирования и языка HTML. К тому же вероятность ошибок, особенно для обычных пользователей, весьма высока. 

Использование CMS предоставляет следующие преимущества:

•  Оперативное обновление информации: информацию публикует сотрудник, владеющий информацией, без дополнительных посредников в виде технических специалистов. 
•  Снижение стоимости поддержки: обновление информация производится самостоятельно, нет необходимости оплачивать труд собственного или внешнего web-мастера. 
•  Предоставление дополнительных сервисов пользователю: часть сервисов - поиск, форумы, голосования, Интернет-магазины, модули статистики и рекламы и т.д., требуют интерактивного взаимодействия с пользователем. Они уже реализованы в рамках CMS. 
•  Уменьшение сроков и стоимости разработки: наиболее востребованная функциональность уже реализована в CMS и может быть сразу использована. 
•  Повышение качества разработки: при разработке полностью или частично используются готовые модули, которые уже прошли неоднократное тестирование. 
•  Снижение стоимости дальнейших модификаций: CMS позволяют разделить данные и их представление. Это позволяет гораздо проще изменить внешний вид сайта, чем в случае со статическим сайтом. 

CMS решает следующие основные задачи:

•  Публикация информации нетехническим специалистом. 
•  Разделение данных и их представления. 
•  Организация совместной работы при публикации информации. 
•  Поисковые возможности. 
•  Другие сервисы - форумы, голосования, анкеты и т.д.