Как заставить сайт работать быстрее?

Все мы много раз слышали, что скорость загрузки сайта может влиять на поисковую выдачу. Не так давно мы провели некоторые эксперименты с настройками Joomla и смогли добиться хороших результатов в скорости загрузки сайта. Некоторые из наших рекомендаций подойдут только для Joomla! CMS, а некоторые могут пригодиться для владельцев любой другой CMS.

Так, вот — к делу!
Перед началом работы рекомендуем проверить ваш сайт через GTMetrix.

Он довольно подробно указывает на «узкие» места сайта. Кстати, GTMetrix хранит историю проверок, и при повторной проверке вам будет показана разница с предыдущим сравнением.

Шаг 0: Сделайте полный бэкап сайта. Всегда делайте бэкап перед тем как проводить какие-либо работы, которые могут сказаться на корректной работе сайта.

Шаг 1: Необходимо поставить себе амбициозную цель и зациклиться на ней, иначе ничего не выйдет. Это насущная необходимость. Для нас, наша цель заключается в сокращении времени загрузки главной страницы до, скажем, менее чем 1,5 секунды и получить не менее 85% на таких сервисах как PageSpeed и YSlow.

Шаг 2: Включить кэширование в Joomla

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

Система> Общие настройки > Система

В разделе «Кэш» Включите прогрессивную систему кэширования и установите время кэша в 60 минут. Время можно ставить и больше если содержание сайта не меняется слишком часто.

Шаг 3: Включить системный плагин кэша

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

Расширения > Менеджер плагинов, и в перечне плагинов включите «Система - Кэш». Так же нужно зайти в основные параметры плагина и включить все пункты.

Шаг 4: Еще одно кэширование для браузера

Это чем-то похоже на шаг 3, и тоже строго связано с кэшированием на браузерной стороне. Однако это делается на уровне сервера. Мы должны сообщить браузеру кэшировать определенные типы файлов в течение определенного количества времени. Google рекомендует устанавливать это значение не менее одного месяца. Чтобы сделать это, вам нужно отредактировать файл .htaccess и добавить в него строки:

Header set Cache-Control "max-age=2592000, public"

Другие значения:

1 Год:

Header set Cache-Control "max-age=29030400, public"

1 неделя:

Header set Cache-Control "max-age=604800, public"

Вы также можете выбрать для кэширования меньше или больше типов файлов, но перечисленные выше типы, являются наиболее распространенными файлами, которые могут и должны быть в кэше.

Шаг 5: Включить сжатие GZIP

Этот шаг гарантирует, что контент сайта, будет сжимаются перед отправкой. Все очень просто для сжатия требуется гораздо меньше времени, чем для отправки не сжатого содержимого. GZIP сжатие можно, легко включить в Joomla 2.5-3 следующим образом:

Система > Общие настройки > Сервер

Находим на странице «GZIP сжатие» и включаем его.

Шаг 6: Установка JCH_Optimizer

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

Ниже приводится часть официального описания плагина:

"Этот плагин позволяет объединять все JavaScript и CSS файлы в один, чтобы минимизировать количество HTTP запросов. Эти файлы также могут быть минимизированы и сжаты для последующей передачи."

Шаг 7: Уменьшаем количество содержимого на сайте - Диета

Это очень важно шаг. Старайтесь сделать сайт как можно более «постным». Уделите этому пункту больше внимания. Но действуйте очень осторожно и не забывайте делать резервные копии сайта перед любыми серьезными изменениями.

Собственно, что значит «постный» сайт. Это значит, что нужно удалить все неиспользуемые элементы. Действительно все. Модули, плагины, компоненты, материалы, пользователей, даже стандартные шаблоны. Удалите их, а не просто отключите.

Удалите ненужные категории форума, удалите пункты меню, материалы из которых можно сгруппировать в других пунктах.

Шаг 8: Уменьшить количество запросов и их размер

Удалите лишние изображения которые являются просто мусором. Если вы вставили изображение ссылкой с другого сайта, сохраните копию этого изображения к себе на сервер это сохранит количество DNS запросов.

В GTMetrix есть отличная функция, которая позволит оптимизировать размер всех ваших изображений. Просто сохраните новые версии изображений к себе на сервер.

Шаг 9: Следите за каждой из рекомендаций от PageSpeed и YSlow

Оба сервис и PageSpeed и YSlow предлагают ряд подробных рекомендаций, например, убедитесь, что вы указали размеры изображения (указать ширину и высоту для каждого изображения на сайте). Следуйте этим рекомендациям и скоро вы увидите значительное ускорение своего сайта.

Если вы будете тщательно выполнять все описанные выше шаги, то цель поставленная в самом начале, будет достигнута очень скоро.