Рост посещаемости всегда радует вебмастера, однако возросшая нагрузка, вызванная наплывом посетителей, может сильно замедлить скорость работы сайта. Чтобы решить данную проблему, необходимо разобраться, что именно мешает ему работать с увеличившейся аудиторией. Основных причин, приводящих к медленной работе сайта, всего три:
- Нехватка аппаратных ресурсов (тормозит хостинг).
- Проблемы с технической частью сайта (например, «тяжелый» плагин).
- На сайте используются ресурсы со сторонних серверов.
Когда появляются проблемы со скоростью, простейшим и наиболее очевидным решением кажется переход на более мощный хостинг в Европе или даже VPS (рост посещаемости обычно сопровождается и ростом доходов, следовательно, владелец может потратиться на более дорогой тариф). Однако комплексный подход, учитывающий все три перечисленных пункта, позволит повысить нагрузочную способность сайта в десятки, а иногда и в сотни раз. Рассмотрим каждый пункт более подробно.
Нехватка аппаратных ресурсов
Обнаружив рост посещаемости, хозяева сайтов обычно переходят на более дорогой тариф. Как правило, это решает проблему, но не всегда. Дело в том, что хостинг часто бывает сконфигурирован таким образом, что все тарифы имеют одинаковый приоритет на физические ресурсы (меняются только квоты, не влияющие на скорость сайта). Если смена тарифа не помогла, гарантированно решить проблему медленного хостинга позволяет переход на VPS или выделенный сервер.
Многие боятся переходить на VPS из-за сложности администрирования, однако в настройке сервер нуждается всего один раз, после чего работать с ним можно, как с обычным хостингом. Если после этого с ростом посещаемости сайта вы столкнетесь уже с тем, что тормозит VPS, его скорость можно гарантированно увеличить простым переходом на более дорогой тариф (и более мощную конфигурацию).
Оптимизация сайта
Убедившись в качестве хостинга, следует заняться скоростью работы самого сайта. Первым делом нужно проверить настройки используемой CMS и установленные плагины. С большой вероятностью причиной того, что тормозит хостинг, может оказаться один из них. Определив медленные плагины, их желательно полностью отключить или заменить более быстрыми аналогами.
Далее можно обратиться в поддержку хостера, чтобы выяснить, какие меры они могут предложить для ускорения сайта. Это может быть подключение веб-сервера NGINX для ускоренной отдачи статических файлов (JS, CSS, картинки и прочее), настройка файлового кеша, подключение акселераторов PHP, кеширование запросов к базе данных с помощью Redis и т.п. Часто эти сервисы уже запущены на сервере хостера, и вам нужно только узнать настройки для их подключения.
Важным этапом ускорения сайта является оптимизация статических ресурсов. Прежде, чем браузер начнет отображать страницу, он должен получить всю информацию. Поэтому страница, на которой присутствует большое количество CSS и JS-файлов, отобразится лишь тогда, когда будут скачаны они все. Рекомендуется минимизировать количество JS- и CSS-файлов путем их объединения, а также использовать для скриптов асинхронный вызов (тогда они не блокируют отображение страницы).
Внешние ресурсы
Часто вебмастеры подключают библиотеки вроде JQuery из общедоступных репозиториев, а также пользуются сервисами CDN для ускорения своего сайта посредством снижения нагрузки на собственный сервер. Однако случается и так, что тормозит хостинг, с которого подгружаются внешние ресурсы, в результате чего выигрыш полностью нивелируется. Чтобы избежать этого, следует свести к минимуму использование сторонних ресурсов, а JS-библиотеки загружать в асинхронном режиме и только из надежных репозиториев.
Иногда данные со сторонних серверов может запрашивать сам движок сайта на уровне PHP. Этот механизм применяется для вывода валютных, погодных и прочих информеров, нередко требующих индивидуального запроса для каждого посетителя сайта.
Обычно соответствующие сервисы сами предоставляют вебмастеру код, который он должен вставить непосредственно в шаблон. В результате при каждой генерации страницы осуществляется запрос, из-за которого время загрузки может возрасти на несколько секунд. Лучшее решение данной проблемы – технология AJAX, позволяющая выводить любую информацию уже после полной загрузки и отображения страницы.
Инструменты разработчика в популярных браузерах
Для диагностики вышеперечисленных проблем существуют специализированные инструменты, позволяющие оценить время загрузки каждого файла. Достаточно мощным отладочным инструментарием, позволяющим оптимизировать свой сайт и исправлять разнообразные ошибки, снабжены современные браузеры.
В Google Chrome таким инструментами можно воспользоваться, нажав клавишу F12 и выбрав вкладку Network, в которой информация о скорости загрузки разных элементов страницы отображается в виде удобной диаграммы. Аналогичный отладчик имеется и в Mozilla Firefox. Оба браузера анализируют скорость работы сайта на лету, прямо во время загрузки страниц на ваш компьютер.
Если требуется оценить скорость загрузки сайта из других стран, можно воспользоваться онлайн-инструментами с аналогичным функционалом. Наиболее популярным является GTMetrix, который не только проанализирует скорость загрузки сайта, но и даст дельные советы по устранению неполадок.
Команда AdminVPS