Понятие «Надежность CMS» или надежность сайта не стоит путать с безопасностью сайта, хотя это связанные понятия. Надежность включает в себя ряд критериев, которые мы сейчас рассмотрим.
Критерии надежности сайта.
- Стабильность безошибочной работы сайта «из коробки» (свежеустановленная CMS).
- Возможность получить критическую ошибку или ошибку, влияющую на работоспособность сайта при изменении настроек в административной панели (без правки кода).
- Возможность получить критическую ошибку или неработоспособный сайт при обновлении CMS до новой версии.
- Возможность получить ошибку при обновлении установленных легальных компонентов, плагинов, шаблонов.
- Возможности резервного копирования сайта. Работоспособность создаваемых бекапов.
- Возможность получить ошибку, нарушающую работоспособность сайта, при установке плагина, дополнения, компонента, шаблона.
- Наличие предупреждений и информирование пользователей при работе с настройками и правке кода в админ. панели, когда ошибки могут вывести сайт из строя.
- Сложность восстановления сайта при нарушении его работы.
- Информирование пользователей о необходимости настройки, защиты сайта и рекомендации по установке полезных компонентов.
- Уведомление пользователей об обнаружении критических уязвимостях в диструбутиве CMS и необходимости срочного исправления.
- Преемственность версий CMS и возможность без проблем обновить CMS с минимальными рисками.
- Команда разработки CMS, регулярность обновлений и устранения ошибок.
Вот набор параметров надежности сайта, о которых пойдет речь.
Стабильность безошибочной работы сайта «из коробки» (свежеустановленная CMS).
Это самый первый критерий надежности сайта, который мы рассматриваем. Если система работает нестабильно, с ошибками сразу, «Из коробки», то стоит сильно задуматься в целесообразности ее использования.
Важно понимать, что если речь идет о релизе CMS «Для разработчиков» (нестабильный релиз), то ошибки могут быть нормой, но если же Вы выбрали стабильную версию — ошибок быть не должно.
Возможность получить критическую ошибку или ошибку, влияющую на работоспособность сайта при изменении настроек в административной панели (без правки кода).
Стабильная система управления сайта не должна выдавать ошибки при любых комбинациях настроек или же должно быть указано, что такие-то опции могут конфликтовать с тем-то и могут вызывать такие-то ошибки.
Однако некоторые системы ведут себя непредсказуемо при настройке. Например, магазинная система Prestashop версии 1.5.5 при включении ЧПУ ссылок перестает отображать изображения товаров в магазине.
Возможность получить критическую ошибку или неработоспособный сайт при обновлении CMS до новой версии.
Практически все современные CMS автоматически проверяют наличие обновлений системы и позволяют обновиться из административной панели. Однако в ряде случаев после обновления сайт оказывается либо неработоспособным, либо некоторые его важные функции нарушаются.
Например, при обновлении системы Joomla версии 2.5.10-2.5.12 через автообновление происходило затирание файла robots.txt на стандартный.
А вот обновить сайт на Joomla 2.5 до Joomla 3.1 зачастую не получается по причине несовместимости некоторых расширений. В итоге сайт может оказаться полностью неработоспособным.
Возможность получить ошибку при обновлении установленных легальных компонентов, плагинов, шаблонов.
Во-первых, стоит отметить, что не все CMS имеют централизованную систему обновления компонентов с выводом уведомлений. Порой приходится либо проверять настройки отдельных расширений на предмет наличия обновлений, либо даже смотреть наличие обновления на официальном сайте расширения, что конечно неудобно.
К примеру, в системе Joomla отдельно проверятся обновления CMS, отдельно — обновления компонентов. Однако ряд компонентов отсутствуют в этом списке. Так, компонент резервного копирования Akeeba Backup проверят наличие обновлений через свой интерфейс и не интегрирован в общую систему обновлений.
Однако в ряде систем обновление установленных компонентов организовано грамотно. Например, в WordPress система обновлений полностью едина и включает обновления CMS, тем оформления, плагинов.
Возможности резервного копирования сайта. Работоспособность создаваемых бекапов.
Многие некоммерческие CMS «из коробки» не имеют надежной системы резервного копирования. Так, в WordPress Вы можете копировать только ваш контент сайта, но не всю базу данных и файлы сайта. Конечно, проблема решается установкой плагинов резервного копирования.
Система Joomla не имеет компонента резервного копирования по умолчанию, однако существует отличное расширение Akeeba Backup, позволяющее делать бекап базы данных и файлов сайта.
Стоит отметить, что созданные бекапы всегда целесообразно проверять на предмет работоспособности. Не проверенный бекап равнозначен его отсутствию.
Возможность получить ошибку, нарушающую работоспособность сайта, при установке плагина, дополнения, компонента, шаблона.
При установке некоторых расширений (несовместимых с версией CMS или с ошибками) можно получить ошибку, нарушающую работоспособность сайта.
Эту проблему удается решить за счет создания депозиториев, где хранятся собранные по тематиками расширения для CMS. Такие депозитории есть у многих коммерческих CMS (Битрикс MarketPlace) и у бесплатных систем — Joomla, WordPress. В депозитории описана совместимость расширений, есть система отзывов и оценок. Это позволяет минимизировать риски.
Наличие предупреждений и информирование пользователей при работе с настройками и правке кода в админ. панели, когда ошибки могут вывести сайт из строя.
Часто в админ. панели нет никакой информации и предупреждений о том, что какие-то настройки могут быть привести к неработоспособности сайта. А в WordPress, к примеру, из админ. панели можно редактировать php файлы темы оформления и плагинов. Ошибка в коде может сделать сайт полностью неработоспособным.
Если же смотреть с другой стороны, доступность редактирования файлов из админки — это удобная функция для опытных пользователей.
Сложность восстановления сайта при нарушении его работы.
Еще один критерий надежности CMS — это сложность восстановления сайта после возникшей ошибки, приведшей к его неработоспособности.
Чем проще сайт восстановить — тем выше надежность. Так, в системе WordPress, если вы установили плагин и сайт перестал работать — просто сотрите папку с плагинов через ftp и практически гарантированно сайт восстановит работоспособность.
Также важна доступность файлов, чтобы было просто обнаружить, локализовать и исправить ошибку.
Информирование пользователей о необходимости настройки, защиты сайта и рекомендации по установке полезных компонентов.
Недостаток многих CMS в том, что после установки системы они не предоставляют четкую и понятную информацию о том, как оптимально настроить сайт и какие компоненты рекомендуется установить и использовать.
Даже ссылки на документацию часто не помогают, т.к. разработчики CMS редко рекомендуют сторонние дополнения, пусть даже достойные внимания.
Уведомление пользователей об обнаружении критических уязвимостях в диструбутиве CMS и необходимости срочного исправления.
Сейчас многие CMS позволяют подписаться на рассылку с официального сайта либо выводят уведомления в административной панели об обнаружении критических уязвимостей сайта и необходимости обновления.
Даже надежные системы могут обнаруживать уязвимости, однако их своевременное обнаружение и исправление позволяет решить проблему.
Преемственность версий CMS и возможность без проблем обновить CMS с минимальными рисками.
Важно, чтобы при обновлении CMS до новой версии не возникало проблем совместимости. К примеру, когда вышла CMS Joomla версии 2.5, то обновление версии 1.5 до 2.5 создало множество проблем пользователям, потому что разработчики CMS не позаботились о процессе миграции на новую версию.
Команда разработки CMS, регулярность обновлений и устранения ошибок.
У надежных CMS должна быть полноценная команда разработчиков, желательно международная, с сообществами в разных странах. В большинстве случаев так и бывает, однако некоторые СMS разрабатывает всего один человек, к примеру, систему Open Cart. В такой случае надежность системы сомнительна. Что если разработчик решит прекратить разработку, обновления не будут выпускаться?
Резюме.
Мы обозначили критерии надежности систем управления сайтами. Обращайте на них внимание при выборе CMS для Вашего проекта.
Поделитесь этой записью с друзьями, буду благодарен!