З чого починається контент-менеджер?

Рано чи пізно будь-який власник контент-сайту приходить до думки, що його сайту необхідний контент-менеджер. Коли кількість html-файлів перевалює за кілька сотень, управлятися з ними стає важко. А якщо підготовкою контенту для сайту зайняті кілька людей — можна гасити світло валянками.
А адже так хочеться приділяти більше часу для творчості, а не вбивати час на рутину. Ось цю потрібну, але рутинну роботу бере на себе контент-менеджер (Content Management System, CMS).
Отже, якщо ви розумієте плюси і мінуси CMS, і своєчасність його установки*, залишилося відповісти на питання «як». Як переходити на CMS?
Є три варіанти.
а) доручити цю справу професіоналам — людям, які з’їли табун собак на ниві створення контент сайтів (включаючи дизайн і програмну начинку). Але це досить дороге задоволення. Не кожен готовий викласти 1000 або більше зелених грошей**.
б) знайти вже готовий безкоштовний або некомерційний варіант***. Головний мінус такого варіанту полягає в тому, що такий CMS написаний на певний «стандартний сайт», яких немає в природі. Тому вам доведеться не тільки покопатися в нутрощах CMS (щоб зрозуміти, як цей «агрегат» фуричить), не тільки уважно вивчити документацію (без документації CMS беруть тільки мазохісти), але і налаштувати CMS під свої потреби і дизайн.
Саме тому PhpNuke вважається «ламерской штучкою» — поставити його легко, налаштується він сам, але от добре підігнати його під свої потреби… І ви залишаєтеся з передвстановленим» дизайном і незручною системою оновлень вмісту.
в) написати CMS самому. Самий хороший варіант. Ви знаєте, що вам потрібно, як CMS повинен працювати, і якими ресурсами йому дозволено користуватися.

Ось про останньому варіанті і піде мова далі. Нагадую, що практичних і розумних порад (на тему «Як правильно написати CMS») давати не планую, натомість спробую показати, на які питання та аспекти потрібно звернути увагу.

Побудова CMS починається з простого питання — «Які у вас є ресурси?» Це не банальне питання. Треба знати заздалегідь, які потужності доступні.
Всі CMS можна умовно розділити на три групи:
а) динамічні.
Сторінка формується динамічно, як тільки приходить запит. Кешування не використовується. Самий вибагливий варіант, оскільки двигун працює постійно. Якщо відвідувачів багато, то слабкий сервер може швидко протягнути ласти.
Основна перевага такої схеми — кожен відвідувач отримує найсвіжіший варіант контенту. Крім того, можлива індивідуальна настройка сторінки під кожного користувача.
б) з динамічною конфігурацією.
Динамічно зібрана (після запиту) сторінка кешується до тих пір, поки не приходить для неї оновлення. У цей момент кеш скидається, і цикл повторюється.
Інший варіант враховує переваги користувача. Сторінка кожен раз збирається динамічно, але статичних (закешированных) фрагментів. Якщо який-небудь фрагмент оновлюється, то при наступному запиті він буде перегенерирован і занесений в кеш.
Середнє навантаження на сервер.
в) зі статичною складанням.
При оновленні CMS перегенерірует всі пов’язані сторінки. Тому при запиті видається вже сформована статична (можливо, зібрана SSI) сторінка.

Зрозуміло, що група «а» розрахована на постійно змінюється контент (новинні сайти) або на невелику кількість відвідувачів, зате група «в» витримає великий наплив (але використовується, як правило, при нечастих оновлення). Група «б» — десь між, але вимагає грамотного управління кешування.

Отже, які у вас є ресурси? На яку навантаження ви розраховуєте? Чи потрібні додаткові потужності, і готовий хостер вам їх дати?


* — деякі примудряються зробити хоумпейдж з двадцяти сторінок на потужному движку з поддержком MySQL.
** — фахівці запытают вас купою запитань, щоб зрозуміти, чого і як ви хочете. Але якщо їх висновки (як і що робити) співпадуть з вашими, першою думкою буде «Я даремно витратив гроші на те, про що знав/здогадувався».
*** — приміром, Communiware. Або вибрати щось на Hotscript.