Разбор аргументов, фактов и заблуждений, касающихся скорости загрузки сайтов на Joomla, а также факторов, влияющих на время загрузки веб-страниц в целом: особенности хостинга, сторонние расширения и факторы на стороне пользователя.
Особенности Joomla
Легче всего сказать, что во всем виновата Joomla и ее разработчики. Но! Давайте разберемся подробнее, рассмотрим все элементы, которые влияют на загрузку сайта.
За что отвечает Joomla в загрузке сайта? Она в первую очередь отвечает за генерацию страницу, т. е. за время выполнения запросов и получения результатов из базы данных.
В прошлом, Joomla 1.0 и 1.5 не отличались высокой скоростью, точнее хорошо так тормозила. В Joomla 2.5 ситуация стала исправляться и с 3-ей версией CMS скорость самой Joomla находится на высоком уровне.
Стоит так же учитывать, что используемые расширения могут тормозить работу. Например, компонент интернет-магазина Virtuemart как работал медленно на Joomla 1.0, так и продолжает быть верным традициям на Joomla 3 и выше.
Факторы хостинга
Хостинг обеспечивает работу вашего сайта. И от хостинга во многом зависит скорость.
Причины медленной работы хостинга:
- старая версии PHP,
- не установлены нужные модули PHP для сжатия и кэширования,
- не установлены прекомпиляторы,
- старое оборудование,
- большое количество клиентов на одном сервере.
Какой бы крутой у вас не был скрипт, хостинг может добавить существенную ложку дегтя в скорость работы сайта.
Почему же хостер не думает о нас?
Думает, но у него нет цели выжать максимум из возможного. Плюс присутствует человеческий фактор, админы могут забывать делать плановые обновления. Да и не многие пользователи, к сожалению, берущие виртуальный хостинг, задумываются о том, чтобы выжать максимум.
Хотя это, конечно, не про всех. Есть и много хороших хостингов. Просто нужно понимать, что большая проблема в скорости может быть из-за хостера и нужно выявлять проблему на ранних стадиях.
Представьте, лошадь участвует на скачках, но к ней привязана нагруженная телега. К вам подходит торгаш и предлагает поменять лошадь, мол она сильнее и быстрее. Да, конечно, если лошадь сильнее, то она пойдет быстрее, но и про ненужный груз - телегу не нужно забывать.
К тому же переезжая на CDN до оптимизации сайта вы платите в 1.5 - 2 раза больше денег, чем после оптимизации.
Шаблоны и сторонние расширения
При загрузке сайта, для отображения страницы у нас подгружается большое количество файлов стилей, JS-библиотек, изображений.
И здесь существует две проблемы:
- Каждый отдельный файл в загрузке - это отдельное время на соединение и получение файла.
- Подгружаемые CSS и JS загружаются в не сжатом виде, иначе сложно дорабатывать сайт.
Факторы на стороне пользователя
Как ни странно, но довольно часто проблему в скорости загрузки сайта создает сам пользователь из-за того, что просто не знает правила работы с изображениями. Не правильно сжимает изображения, изменяет размер изображения прямо на сайте, а не в программе. В результате сайт увеличивается в размере, а время загрузки возрастает.
Когда мы устанавливаем Joomla или любой другой движок, с каждым следующим действием мы делаем наш сайт все медленнее и медленнее, а об ускорении сайта задумываются редко.
Все почему-то хотят сразу заняться продвижением, вбухивают деньги в рекламу, но если сайт грузится 10 - 30 секунд, то 60% пользователей тупо не доходит до текста вашего сайта.
В августе я проводил тренинг по ускорению сайта, в котором по результатам учеников ускорение сайта было от 2 до 10 раз. Лучший результат ускорение с 30 секунд до 3. Но это исключение из правил, т. к. 30 секунд - это уж слишком много и там было много проблем в контенте. Стандартное ускорение с 16 до 4, с 6 до 3, с 8 до 3.5 с.
Упоминаемые термины:
CSS, Joomla, PHP, Компонент, Расширение, CMS, JavaScript