Добрый день, если вы решили связать свою жизнь с разработкой сайтов - наверняка встречались с данным вопросом. Некоторые размышления возможно помогут вам определиться.
Суть проблему следующая: Использовать ли при создании сайтов готовые решения – готовые систему управления содержанием? Можно ведь обойтись своими силами. Не использовать системы вообще, верстать в HTMLкоде – очень удобно с точки зрения экономии ресурсов, либо сделать все самим – удобно при умении программировать.
Вкратце перечислю факты, на которые можно опираться:
CMS – требует установить ссылку на источник (плохо с точки зрения оптимизации)
CMS – как правило, сильно тормозит и грузит процессор за счет сбора множества блоков на одной странице (плохо с точки зрения производительности)
CMS – не требует от вас знаний программирования, только общее представление (хорошо, если вы не программист)
CMS – требует от вас хороших знаний программирования, если вы собираетесь самостоятельно писать свой дополнительный блок, либо денег, если вы собираетесь покупать этот блок (в своей то системе проще разобраться)
CMS – позволяет админу настроить много-много всего (хорошо для знакомых с компьютером заказчиков, плохо для плохо знакомых с компьютером заказчиков, у них это вызывает панику и заставляет нервничать)
CMS – для исправления найденной ошибки/уязвимости – требуется взаимодействие с ее службой поддержки, необходимо следить, что при последующем обновлении – косяк не вылезет снова и вся система не развалится.
CMS – если присутствует регистрация – чтобы использовать данные пользователя где-либо еще на сайте – будут проблемы (плохо, если вы пытаетесь соединить CMSи свою доработку, либо CMSи Форум)
Как мы видим – универсальность – противоречит точности. Заказчику как правило нужен сайт именно для него, он не собирается менять его каждый день кардинально. По этому – идя по пути использования CMS – натыкаетесь на отсутствие точности – большой разброс – расхода большого количества лишних ресурсов.
В моем понимании – использование CMS– это все равно, что лететь на самолете с плохо (или хорошо) отлаженной бортовой системой и быть там лишь пилотом. Авось когда-нибудь что-то пойдет не так и все нагнется, особенно когда приходится пользоваться разными костылями.
При грамотном подходе – достаточно единожды создать полный функционал с админской частью, который будет требовать минимум ресурсов и позволять управлять всем, что может потребоваться клиенту. Админки CMSсложны тем, что параметров там слишком много и зачастую клиенты будут просить пользоваться вас самим. Кому-то нужно по проще, слишком много параметров затрудняют общение, вдруг что испорчу )
CMS неудобны тем, что требуют ссылку на источник CMS, что для добавления блока – нужно копаться в настройках, да и приводит к большим тормозам и нагрузкам в итоге, и что при поиске неисправности – появляется зависимость от техподдержки этой системы.
Какие есть альтернативы?
Создать свою CMS. Тут мнения могут разделится. С одной стороны – это изобретение велосипеда, с другой стороны – вы тот самый механик всей этой громадины и как только заметите неисправность, или в голову придет новая мысль – сможете без труда внедрить ее на все сайты одновременно. Тут каждый решает самостоятельно, а вообще – пройти через это должен каждый уважающий себя программист PHP (ну, или другой программист).
Суть та же самая. Создали один раз блок новостей – вот, пожалуйста, пользуйтесь все. Список блоков не столь громаден, можно его даже структурировать
Блог – лента записей, где каждая запись имеет дату, автора и текст, иногда – можно писать комментарии. Обобщаем на новости, убираем дату - обобщаем на список услуг, на справочные материалы, на статьи
Фотогалерея – список фотографий, разделенных на альбомы, или один альбом. Обобщаем на список ответственных лиц, на отзывы посетителей (если они в формате фотография-отзыв), при желании – можно обобщить на видеогалерею
Отзывы – список заполняемых комментариев от элемента «блог». Иногда обобщается на обратную связь – с отправкой сообщения по почте.
Регистрация – страница регистрации, восстановления пароля, проверки почтового ящика, использование регистрационных данных на сайте. Вроде бы не сложно и одинаково
Блоки для интернет магазинов – дерево, список товаров, корзина – все это параметры для интернет магазинов – можно их выделить в отдельную ветку (там очень много разных настроек). Если вы делали регистрацию + использование регистрационных данных.
Форум – с ним сложнее. А с другой стороны – форум, можно представить в виде расширенного блога на несколько разделов и подразделов. Только с правами нужно определится. Если вы делаете небольшой форумок – не нужно много прав, модераторов и прочего. А если сайт = форум – то зачем изобретать велосипед.
Остальные – статические странички – о нас, главная, контакты… все это можно сделать отдельно, или выделить редактор статических страничек.
Сделали один раз и копируете, расширяя настройки для каждого нового клиента по его просьбе. В админке будут только нужные настройки и число проблем стремится к нулю.
Уж слишком много непонимания у клиентов и сайтостроителей. Надеюсь, помог внести ясность в данный эпический вопрос.