Как сделать сайт: выбор CMS

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

Я сразу открою вам тайну: идеальной системы не бывает! Многие авторы систем заявляют, что умеют их система наиболее адекватная, самая быстрая и самая понятная. Это вранье. Любая система имеет ограничение. Выйти за рамки этих ограничений задача не посильная и имеет столько же недостатков, сколько и плюсов, получаемые от своей мощности. Собственно, идеальная CMS — э то та система, которая есть компромисс между своими требованиями и своими возможностями.

Есть довольно приличное количество CMS, которые имеют хорошую поддержку и которые просят за это деньги. В принципе, это правильно. Однако, если у вас нет опыта работы с CMS или этот опыт довольно мал, не спешите покупать какую-либо систему. Дело в том, что вполне возможно, что эта система чего-то не может (к примеру, не так уж много систем умеет поддерживать работу с несколькими языковыми версиями сайта и при этом корректно работать с кодировками). Поэтому обязательно посмотрите демо версию системы, обязательно походите по административному модулю и посмотрите, что же может система. Идеально, если вы уже решили, что будет на вашем сайте и тогда вы сможете сразу понять все ли из вами запланированного может сделать система или же что-то придется дорабатывать отдельно. Это не праздный вопрос, а довольно важный. Потому что даже разработчики иногда отказываются писать дополнительный модуль, ссылаясь на то, что идеология модуля идет в разрез логики системы в целом. Так что прежде чем что-то покупать, необходимо получить полную консультацию о системе, а также пощупать ее своими руками.

Также не стоит забывать и про бесплатные аналоги. Их много, даже очень. Так что поле для выбора у вас, безусловно, будет. Однако начать лучше с лидеров. К примеру, многие пользуются Joomla, Mambo, Drupal, e107, PHP-Nuke и т.д. Хотя такой список может быть у каждого свой и дело тут в опыте и требованиях, которые предъявляются к проекту.

Как я уже говорил, идеального ничего нет. Вы можете найти систему, которая идеально будет удовлетворять всем тем качествам, которые вы хотите от нее получить. Но при этом добавить что-то в эту систему будет достаточно трудно. Поэтому обращайте внимание на работу с плагинами, дополнительными модулями, с различными расширениями и хаками.
Бесплатная система имеет как раз такой бонус: ее код открыт, модули для многих популярных систем есть в избытке и вы можете выбрать лучший или же обратиться за помощью в написании отдельного модуля для вас сразу к нескольким людям.

Однако не стоит забывать и про безопасность. Открытый код позволяет получить информацию о том, как работает система, а значит, и найти возможные бреши в системе безопасности. От такого сценария никто не застрахован и даже платные системы выпускают заплатки, устраняющие дыры в своем коде. Бесплатные же системы иногда затягивают с обновлениями, ноне всегда и не все. В любом случае, выбирая бесплатное, учитывайте и тот факт, что вам придется самому следить за версиями системы и принимать решения на счет обновления.
Примите во внимание и тот факт, что обновления системы не должны быть частыми. Зачем вам система, которая каждую неделю, а то и чаще, выкладывает на своем сайте заплатки к уже работающей системе? Иными словами, вам нужно готовое решение, а не динамично развивающееся.
Теперь перейдем к полевым испытаниям. Если вы доверяете бесплатным системам, то вы можете их попробовать (хотя у некоторых коммерческих продуктов есть lite-версии — урезанные или работающие с ограничениями продукты) и сделать еще несколько выводов.
Самый простой способ попробовать несколько систем — это поставить их на локальную машину (свой компьютер) и посмотреть что к чему. Одно но: обязательно читайте требования к каждой системе. Возможно, что под управлением Windows система ни в какую не захочет работать или же для работы потребуется какой-то хитрый модуль, которого определенно нет в ОС или веб-сервере. Чтобы систему поставить вам понадобиться небольшой веб-сервер, и сервер базы данных. Можете все делать сами, однако можно поступить проще — качайте и устанавливайте «Денвер». После этого вы уже сможете ставить CMS и запускать скрипты. Если у вас есть план вашего сайта (я его уже надо бы иметь), то попробуйте создать его в изучаемой вами CMS. Все получается? Отлично! Берите систему на заметку. Есть какие-то проблемы? Тогда лучше отложить эту систему в сторону. Однако учтите тот факт, что ошибки бывают разные. Если системы выдает вам ошибку, что что-то не работает, то это еще не говорит о том, что система плохая. Возможно, проблема в том, что вы запускаете ее на локальной машине, а не на хорошо настроенном сервере. Если же вы просто не можете найти функций, как сделать что-то, или работа системы вас не устраивает по какой-то другой причине, то тогда испытуемая CMS действительно не для вас.

Обращайте внимание, как ведется работа с дизайном. Свой редактор шаблонов — отлично! Шаблоны поддерживаются путем загрузки каких-то файлов на север — уже не так хорошо, но все жене плохо. Шаблонов вообще нет, а надо править только файлы, установленные в системе по умолчанию? О, это совсем плохо.

Не отчаиваетесь, если среди бесплатного вы ничего не нашли. Попробуйте рассмотреть другие варианты, на сей раз платные. Не у всех у них заоблачные цены, к тому же, обычно, есть несколько линеек продуктов и вы, по мере роста вашего сайта, сможете наращивать и дополнительные функции.
Однако обращайте внимание на требования к хостингу. Многие известные платные системы требуют от хостинга работы каких-то специфических функций или настроек, которые ваш хостинг провайдер не в силах сделать по своим причинам. Я бы не советовал вам выбирать и ту систему, которая идет в комплекте с хостингом. За исключением, если это не партнерское соглашение: компания разработчик CMS сотрудничает с компанией, предоставляющее хостинг. Если хостинг и автор CMS одна компания, то будьте готовы к тому, что на таком хостинге действительно есть настолько специфические настройки, что ни один масс-хостинг вам не подойдет. И вы попадете в полную зависимость от авторов CMS.

Я раскрыл наиболее частные моменты, которые появляются при выборе CMS. Но этих моментов достаточно много и всех их я охватить в данном обзоре не пытаюсь.

Подведем некоторые итоги:

  • Система должна быть в законченном виде. Никаких статусов альфа, бета, каппа и т.д. Четкий релиз — вот что мы выбираем.
  • CMS должна работать на масс-хостинге, если вы не накладываете какие-то особые требования для вашего проекта.
  • Поддержка должна быть в любом случае и в не зависимости от того, платная это система или нет.
  • Работа с русским языком должна поддерживаться в любом случае и желательно на уровне ядра, а не с помощью дополнительных модулей.
  • Масштабируемость и возможность работать с дополнительными модулями — уже жизненная необходимость.
  • Четкая и понятная система в администрировании, наличие функций, приближающих нас к управлению на основе уже знакомых программ или решений.
  • Работа с дизайном должна быть построена на различных уровнях: от визуального, до ручного (работа с кодом). При этом чем меньше программного кода в шаблонах, тем лучше. Как вариант, в шаблонах может использоваться свой язык, который более прост для понимания «не программиста».
  • Ограничение действий пользователей, имеющих доступ в административный модуль.
  • Протоколирование всех действий зарегистрированных пользователей, имеющих доступ к администрированию — важный дополнительный бонус.
  • Поддержка ЧПУ — дополнительный бонус.
  • Работа нескольких пользователей в системе одновременно — дополнительный бонус.

    P.S. В последнее время многие новые сайты пользуются услугами Ucoz. Возможно, и вам следует обратить ваше внимание на эту систему. Пожалуй, это один из самых быстрых способов создать сайт в самые короткие сроки и получить при этом пусть и шаблонные, но все же, решения.