Разбор аргументов, фактов и заблуждений, касающихся скорости загрузки сайтов на Joomla, а также факторов, влияющих на время загрузки веб-страниц в целом: особенности хостинга, сторонние расширения и факторы на стороне пользователя.

Особенности Joomla

Легче всего сказать, что во всем виновата Joomla и ее разработчики. Но! Давайте разберемся подробнее, рассмотрим все элементы, которые влияют на загрузку сайта.

За что отвечает Joomla в загрузке сайта? Она в первую очередь отвечает за генерацию страницу, т. е. за время выполнения запросов и получения результатов из базы данных.

В прошлом, Joomla 1.0 и 1.5 не отличались высокой скоростью, точнее хорошо так тормозила. В Joomla 2.5 ситуация стала исправляться и с 3-ей версией CMS скорость самой Joomla находится на высоком уровне.

Стоит так же учитывать, что используемые расширения могут тормозить работу. Например, компонент интернет-магазина Virtuemart как работал медленно на Joomla 1.0, так и продолжает быть верным традициям на Joomla 3 и выше.

Вывод
к Joomla претензий нет. Используемые расширения вносят свою лепту в скорость работы сайта.

Факторы хостинга

Хостинг обеспечивает работу вашего сайта. И от хостинга во многом зависит скорость.

Причины медленной работы хостинга:

  • старая версии PHP,
  • не установлены нужные модули PHP для сжатия и кэширования,
  • не установлены прекомпиляторы,
  • старое оборудование,
  • большое количество клиентов на одном сервере.

Какой бы крутой у вас не был скрипт, хостинг может добавить существенную ложку дегтя в скорость работы сайта.

Почему же хостер не думает о нас?

Думает, но у него нет цели выжать максимум из возможного. Плюс присутствует человеческий фактор, админы могут забывать делать плановые обновления. Да и не многие пользователи, к сожалению, берущие виртуальный хостинг, задумываются о том, чтобы выжать максимум.

Хотя это, конечно, не про всех. Есть и много хороших хостингов. Просто нужно понимать, что большая проблема в скорости может быть из-за хостера и нужно выявлять проблему на ранних стадиях.

Важная информация
Во всем винить хостера тоже не стоит. Сейчас популярно стало переезжать на CDN, как говорят сами владельцы CDN: У вас все будет летать.

Представьте, лошадь участвует на скачках, но к ней привязана нагруженная телега. К вам подходит торгаш и предлагает поменять лошадь, мол она сильнее и быстрее. Да, конечно, если лошадь сильнее, то она пойдет быстрее, но и про ненужный груз - телегу не нужно забывать.

К тому же переезжая на CDN до оптимизации сайта вы платите в 1.5 - 2 раза больше денег, чем после оптимизации.

Шаблоны и сторонние расширения

При загрузке сайта, для отображения страницы у нас подгружается большое количество файлов стилей, JS-библиотек, изображений.

И здесь существует две проблемы:

  • Каждый отдельный файл в загрузке - это отдельное время на соединение и получение файла.
  • Подгружаемые CSS и JS загружаются в не сжатом виде, иначе сложно дорабатывать сайт.
Вывод
Нам нужно отключить неиспользуемые расширения, сжать CSS, JS и объединить все стили в один файл, все JS в другой файл. Плюс выполнить ряд процедур: включить асинхронную загрузку, отложенную загрузку и прочие нюансы для более быстрой загрузки сайта.

Факторы на стороне пользователя

Как ни странно, но довольно часто проблему в скорости загрузки сайта создает сам пользователь из-за того, что просто не знает правила работы с изображениями. Не правильно сжимает изображения, изменяет размер изображения прямо на сайте, а не в программе. В результате сайт увеличивается в размере, а время загрузки возрастает.

Когда мы устанавливаем Joomla или любой другой движок, с каждым следующим действием мы делаем наш сайт все медленнее и медленнее, а об ускорении сайта задумываются редко.

Все почему-то хотят сразу заняться продвижением, вбухивают деньги в рекламу, но если сайт грузится 10 - 30 секунд, то 60% пользователей тупо не доходит до текста вашего сайта.

В августе я проводил тренинг по ускорению сайта, в котором по результатам учеников ускорение сайта было от 2 до 10 раз. Лучший результат ускорение с 30 секунд до 3. Но это исключение из правил, т. к. 30 секунд - это уж слишком много и там было много проблем в контенте. Стандартное ускорение с 16 до 4, с 6 до 3, с 8 до 3.5 с.

Упоминаемые термины:

CSS, Joomla, PHP, Компонент, Расширение, CMS, JavaScript