Оптимизация скорости загрузки страниц сайта до 70% минимальными усилиями за несколько минут.
В продолжение предыдущей статьи Клиентская оптимизация сайта — немного расскажу о варианте ускорения сайта «для ленивых». Для этого понадобится хотя бы VPS (не shared-хостинг), Apache и четыре строчки в консоли. Остальную работу по оптимизации скорости загрузки сайта возьмёт на себя mod_pagespeed.
Первая часть статьи, посвященной ускорению сайта
Одним из способов оценки и измерения скорости загрузки сайта, а также получения рекомендаций по оптимизации, был и является PageSpeed от Google.
Однако, в команде Google, видимо осознав, что не каждому под силу вручную использовать все методики по ускорению сайта, решили пойти вебмастерам навстречу и не так давно (в 2010 году) выпустили специальный модуль Apache — mod_pagespeed. Де-факто этот модуль является быстрым решением проблем скорости загрузки сайта, выявленных PageSpeed.
Данный модуль содержит более 40 оптимизаций для сайта, которые уменьшают скорость его загрузки и рендеринга. По умолчанию включены те методы, которые ни при каких обстоятельствах не смогут повредить Вашему сайту, их порядка 26 (полный список с указанием статуса On/Off по умолчанию). А это значит, что набрав всего 4 строчки в консоли с правами администратора:
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
dpkg -i mod-pagespeed-*.deb
apt-get -f install
/etc/init.d/apache2 restart
* вариант для Debian 64-bit, пакеты для остальных систем и версий
— мы сразу получаем ускоренный сайт с уменьшенным временем загрузки страниц.
Список задач, которые решает данный модуль Apache, включает в себя следующие:
- удаление комментариев в файлах js, css, html;
- удаление лишних пробелов;
- удаление лишних атрибутов html-элементов;
- объединение нескольких html-элементов head в один;
- объединение нескольких js и css файлов в один;
- оптимизация JavaScript-кода;
- внедрение небольших css и js файлов в html-код;
- вынос больших блоков <style> и <script> во внешние файлы;
- внедрение кода, откладывающего исполнение JavaScript-кода до полной загрузки страницы сайта;
- внедрение кода, откладывающего загрузку изображений на странице до прокрутки до соответствующего расположения;
- увеличение срока кеширования изображений;
- генерация заглушек пониженного качества для изображений и отображение их до момент полной загрузки оригинала;
- конвертирование изображений под размер, указанный в тегах <img>;
- объединение изображений, используемых для фона в спрайты;
- интеграция с GoogleAnalylics.
(полный перечень возможностей с их подробным описанием и настройками)
После установки модуля mod_pagespeed возможно включать/отключать модуль, добавлять/исключать методики оптимизации следующими способами:
- с помощью конфигов;
- с помощью .htaccess;
- с помощью GET-параметров в URL.
(перечень настроек с указанием, каким из способов их можно менять)
Третий способ является самым интересным, поскольку мы можем сравнивать и тестировать различные варианты методов оптимизации и ускорения сайта, всего лишь передавая параметр в адресной строке, например:
http://site.com/index.html?ModPagespeed=on&ModPagespeedFilters=+lazyload_images,-inline_images
http://site.com/index.html?ModPagespeed=off
Помимо прочего, можно получить доступ к статистике использования и работы mod_pagespeed. Для этого необходимо добавить в конфиг:
<IfModule pagespeed_module>
<Location /mod_pagespeed_statistics>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
#Allow from ВАШ_IP, чтобы ограничить доступ
SetHandler mod_pagespeed_statistics
</Location>
</IfModule>
— после чего, по адресу http://site.ru/mod_pagespeed_statistics появится сведения о настройках, статистике использования и другая информация об использовании модуля.
Если у Вас используется mod_rewrite (например для ЧПУ), то могут возникнуть проблемы при попытке открыть указанный адрес.
Для разрешения конфликтов — исключите из правил соответствующий адрес, как в примере:
# Rewrite all other URLs to index.php/URL
RewriteRule ^(?!mod_pagespeed_statistics).* index.php/$0 [PT]
Надеюсь, что данная статья поможет минимальными усилиями ускорить сайт, уменьшить скорость загрузки страниц, оптимизировать количество запросов к сайту и произвести прочие манипуляции для того, чтобы Вам не пришлось открывать Яндекс или Google, чтобы задать вопрос: Как ускорить сайт?.
Спасибо, но 70% по моему сильно завышеный показатель, проверяли?
Значение было взято из конкретного примера. В целом, оно может быть как меньше, так и больше. Всё зависит от текущей ситуации с оптимизацией сайта.