Задачи
- Оптимизация скорости
- Адаптивная вёрстка
- Обновление MODX Evolution
Мысли вслух
Пациент был в крайне запущенном состоянии: устаревшая MODX Evolution, jQuery первой версии (уже третья, алё), множество ненужных плагинов, которые использовались для решения тривиальных задач (целый jQuery UI ради одного лишь спиннера), ужасная невалидная вёрстка (кто-то решил вернуть меня в 2007, потому что именно тогда я в первый и последний раз видел и использовал тег center), инлайновые стили в шаблонах и чанках, табличная вёрстка в неположенном месте (таблицы нужны только для табличных данных), загрузка тяжёлых изображений вместо миниатюр (и это при установленном phpThumb) и многое другое.
Так как первоочередной задачей было создание адаптивной версии текущей вёрстки, пришлось многое приводить в нормальный вид. Вообще, если сразу не позаботиться об адаптивной версии, позже становится сложнее и затратнее реализовать её. Ведь гораздо проще сверстать сайт фиксированной ширины, чем продумать, как он будет отображаться на любом разрешении экрана и при этом пользователю будет удобно воспринимать информацию. Самое элементарное — использовать актуальный grid-фреймворк (входит в состав популярных frontend-фреймворков, но можно использовать узкоспециализированное решение).
Сайт тормозило использование груды JavaScript/jQuery-плагинов. Поэтому было решено их немного удалить, а на замену сотне килобайт написать простые решения или использовать готовые легковесные решения.
Старые версии MODX Evolution содержат уязвимости, которые в конце 2016 года были масштабно использованы. Поэтому я обновил MODX с версии 1.0 до версии 1.2.1.