Поэтому важно правильно подобрать критерии выбора системы управления для решения своих бизнес-задач. В рамках данной статьи сформулировано небольшое количество понятных владельцу сайта факторов, которые рекомендуется учесть при выборе системы управления коммерческим сайтом.
Для начала необходимо определить, какие функции на сайте необходимы сейчас, и какие могут понадобиться в дальнейшем. Затем, сузить круг исследуемых систем, оставив для рассмотрения только те CMS, которые явно содержат необходимые функции. Это наиболее простая часть задачи, поскольку практически все разработчики систем управления сайтом публикуют функциональные возможности своих систем на сайтах.
Затем, необходимо представить себе ситуацию, которая возникнет после внедрения CMS. Если не усложнять, то получится следующий набор взаимодействующих непосредственно с сайтом компонентов:
хостинг-площадка
владелец сайта
администратор сайта
пользователи сайта и поисковые системы
Перечислим интересы каждой из частей системы и получим критерии, по которым следует делать выбор.
Хостинг-площадка
В большинстве случаев для размещения сайтов в Интернет используется услуга виртуального хостинга (большое количество сайтов размещается на одном физическом сервере). Это один из самых экономичных вариантов для потребителя, поэтому хостинг-провайдер всегда старается разместить на одном сервере как можно большее количество сайтов. И все эти сайты делят между собой ресурсы сервера: процессорное время, память и пространство на жестком диске. Отсюда возникают различные ограничения, которые хостер накладывает на сайт, а значит и на систему управления на которой тот построен. Поскольку при выборе CMS без специального тестирования практически невозможно достоверно выяснить в каком объеме ресурсы сервера потребуются сайту при работе под нагрузкой, косвенно ситуацию можно предсказать по наличию или отсутствию следующих механизмов:
Сжатие передаваемых в браузер данных. Экономит трафик и время на передачу данных, косвенно может влиять на количество используемой памяти и процессорное время в зависимости от деталей реализации.
Кэширование страниц. Если этот механизм присутствует в составе CMS, то при эксплуатации с какой-то вероятностью страницы сайта не будут генерироваться заново каждый раз при обращении к ним, что будет экономить время, а в некоторых случаях и память сервера. Нужно учесть, что кэширование почти всегда приводит к повышенному расходу дискового пространства или пространства в базе данных. Грубо оценить эффективность кэширования можно задав следующие вопросы:
Кэширует ли CMS сжатые страницы?
Кэширует ли CMS такие механизмы как каталоги, форумы и другие элементы сайта, формирование которых зависит от параметров в URL, состояния cookies, параметров сессий и т.п.?
Используется ли для построения страниц блочное кэширование?
Используется ли для вывода кэшированных страниц отдельный оптимизированный по скорости работы и потребляемым ресурсам механизм?
Если ответы на все эти вопросы утвердительны, то эффективность применяемых механизмов кэширования может достигать 99%, при этом система управления с большой вероятностью не тратит лишних ресурсов.
Кроме производительности, хостинг-площадка с точки зрения потребителя ограничена технологиями, которые она поддерживает. Как правило, современные виртуальные хостинг-площадки построены на базе операционных систем семейства Unix. В большинстве случаев они предлагают пользователю для использования стандартный набор: PHP, Perl, MySQL, доступ по FTP (иногда SSH). При этом, важно понимать, что помимо самих интерпретаторов языков разные площадки имеют различный набор модулей, используемых во время работы CMS. Поэтому, чисто теоретически, чем меньше сторонних модулей использует система управления, тем она меньше зависит от хостинга, а у владельца появляется больше вариантов при выборе хостинг-площадки. Но на практике существует некий оправданный минимум функций, который должен использовать разработчик для обеспечения приемлемого уровня комфорта при разработке и использовании системы. Это графические библиотеки ImageMagick или GD, библиотеки для работы с XML, библиотека компрессии Zlib. Поэтому необходимо выяснять какие модули используются кроме них. Чем таких модулей больше, тем сложнее найти подходящий хостинг для CMS, установить её и обслуживать в дальнейшем. Нужно отметить, что хостеры либо запрещают устанавливать дополнительные модули самостоятельно, либо позволяют это делать очень неохотно и с ограничениями.
Владелец сайта
С точки зрения владельца существуют следующие этапы жизненного цикла сайта компании:
Разработка сайта или внедрение CMS на существующий сайт;
Установка на хостинг (развертывание);
Поддержка готового сайта;
Модификация сайта.
Основными параметрами выбора CMS для владельца сайта являются: степень зависимости от разработчиков в будущем, сложность технической поддержки системы, возможность защиты информации, стоимость обновлений и информационной поддержки.
Это достаточно просто выяснить с помощью следующей серии вопросов:
Сколько времени занимает развертывание сайта на хостинг-площадке? Лучший вариант - до 30 минут, достигается с помощью автоматизированных средств развертывания, которые компания-производитель CMS должна иметь в своем арсенале.
Возможно ли создание локальной копии сайта на одном из офисных серверов или рабочих станций для предотвращения потери данных с «боевого» сайта? Возможно ли тестирование обновлений?
Требуется ли для обслуживания сайта что-то кроме интерфейса администрирования и/или FTP доступа? Если да, это накладывает дополнительные ограничения на квалификацию обслуживающего персонала и ведет к увеличению стоимости поддержки.
Возможно ли доработать сайт в плане функциональности (например, встроить еще одну новостную ленту, добавить форум и т.п.) без участия разработчиков CMS? Есть ли документация для стороннего разработчика на систему управления?
Имеет ли система управления встроенный механизм резервного копирования? Сколько времени требуется на создание резервной копии стандартного сайта? В лучшем случае этот процесс должен быть полностью автоматизирован и производиться за ~1-2 минуты (в зависимости от объема материалов сайта).
Возможно ли скачивание резервной копии на локальный диск и обратная операция из интерфейса администрирования?
Снабжена ли система редактирования материалов функцией возврата к предыдущей сохраненной версии для защиты от человеческих ошибок?
Администратор сайта
С точки зрения администратора сайта система управления должна быть удобной и позволять редактировать на сайте все, что необходимо редактировать без обращения к разработчикам сайта.
Удобство интерфейса администрирования проще всего оценить, поработав с CMS (в режиме наполнения информацией) около получаса. На практике затратить такое количество времени на каждую исследуемую систему почти невозможно, поэтому попробуем формализовать понятие «удобство работы» с позиции администратора типичного интернет-ресурса.
Интерфейс должен позволять максимально просто управлять структурой меню и других навигационных элементов (структурой каталога, «хлебными крошками» и т.п.), а также переходить от редактирования одной страницы к другой. Удобство измеряется количеством действий (кликов мышью, если совсем упрощать).
CMS должна запоминать последнее состояние всех открытых древовидных структур и диалогов с закладками.
Редактор страниц должен поддерживать автоматическую чистку тэгов при вставке из MSWord или Excel. Лучшие системы позволяют также автоматически переносить на сайт картинки и файлы при копировании информации из MSWord или с других сайтов без дополнительных действий – используется только копирование и вставка.
Везде, где требуется вставка ссылок, должна быть возможность помимо ручного ввода адреса страницы использовать выбор страницы из структуры сайта или файла из библиотеки.
В интерфейсе администрирования не должно быть функций, связанных с системными настройками сайта, управления кэшем и других функций обслуживания (кроме изменения контактных адресов email, создания и восстановления резервных копий). Идеал – ничего лишнего, ничего непонятного рядовому пользователю.
Пользователи сайта и поисковые системы
С точки зрения пользователей сайта и поисковых систем CMS должна формировать HTML страницы, которые будут корректно восприниматься браузерами и поисковыми роботами. По большому счету достаточно выяснить следующие моменты:
Формирует ли CMS заголовки ответа с указанием правильной длины (content-length) и даты модификации страницы (last-modified)?
Позволяет ли CMS браузерам пользователей кэшировать подключаемые стилевые таблицы (css файлы) и javascript-сценарии? Это значительно уменьшает количество запросов к серверу, повышает производительность CMS в целом.
Если эти требования выполнены, проблем с эксплуатацией системы управления скорее всего не возникнет. К сожалению, упомянутые моменты выяснить самостоятельно сможет далеко не каждый пользователь, поэтому в большинстве случаев придется при анализе опираться на заявления разработчика.
Олег Никитин
webmanager-pro.ru