Почему мой сайт работает медленно
В статье мы расскажем, почему сайт медленно загружается и как это исправить.
Почему сайт медленно работает
Среднее время загрузки сайта — 1-2 секунды. На время загрузки влияют следующие факторы:
- скорость ответа от сервера. Она зависит от производительности CPU, скорости диска и мощности сервера, на котором расположен сайт;
- скорость интернет-соединения. На неё влияет скорость запроса и ответа от DNS, а также количество сетевых точек доступа между вашим устройством и сервером, на котором размещён сайт.
Время загрузки больше 2 секунд может негативно сказаться на посещаемости ресурса — не каждый пользователь готов ждать дольше. Ускорить работу сайта поможет оптимизация контента. Предварительно нужно выяснить причины долгой загрузки. Самые распространённые из них:
- большой размер файлов,
- загрузка файлов со сторонних серверов,
- “тяжёлые” PHP-скрипты,
- большое количество запросов к базе данных.
Как проверить производительность сайта
Чтобы выявить причину долгой загрузки, используйте панель администратора, которая находится в браузере:
1. Перейдите на сайт, который нужно проверить.
2. Откройте панель администратора при помощи клавиши F12.
3. Запустите анализ производительности. Для этого во вкладке Network нажмите F5:
4. Настройте фильтр по времени загрузки, чтобы облегчить поиск. Для этого кликните по столбцу Time:
5. Определите, файлы какого типа загружаются дольше остальных:
- статические — файлы, которые не могут выполняться. К ним относятся изображения и статичные страницы с расширениями .html, .css, .png, .jpeg и .jpg;
- динамические — файлы, которые могут выполняться. К ним относятся скрипты (чаще всего имеют расширение .php).
Как ускорить работу сайта
Когда вы уже знаете, какие файлы замедляют загрузку, можно приступать к оптимизации сайта. Выберите инструкцию в зависимости от вашего типа “медленных” файлов:
Если на вашем сайте долго загружаются статические файлы, выполните следующие рекомендации:
- оптимизируйте контент. Файл может загружаться медленно из-за большого размера. Чтобы устранить проблему, уменьшите его. Например, для сжатия изображений без потери качества можно использовать специальный онлайн-сервис.
- перенастройте или смените внешний сервер. Если файл долго загружается с внешнего сервера (например, при использовании CDN), проблема может заключаться в настройках сервера. В этом случае рекомендуем обратиться в поддержку поставщика услуги или сменить сервер на более быстрый.
- настройте кэширование в .htaccess. Этот способ удобен, если медленно загружаются html и css-файлы. Для настройки кэширования перейдите в директорию сайта, откройте файл .htaccess и добавьте в него строки:
<ifModule mod_expires.c>
ExpiresActive On
#кэшировать флэш-файлы и изображения на одну неделю
ExpiresByType image/x-icon "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType application/x-shockwave-flash "access plus 7 days"
#кэшировать css, javascript и текстовые файлы на одну неделю
ExpiresByType text/css "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType application/x-javascript "access plus 7 days"
#кэшировать html и htm файлы на один день
ExpiresByType text/html "access plus 1 day"
#кэшировать xml файлы на десять минут
ExpiresByType application/xhtml+xml "access plus 10 minutes"
</ifModule>
Затем сохраните изменения.
Чаще всего динамические файлы — это PHP-скрипты. Если они долго загружаются на сайте, выполните следующие рекомендации:
- оптимизируйте скрипты сайта. Проанализируйте PHP-скрипты и запросы к базе данных и внесите нужные изменения. Также может помочь перевод скриптов на новую версию PHP.
- настройте кэширование со стороны CMS. Если ваш сайт создан при помощи CMS, настройте кэширование скриптов. Это можно сделать с помощью специальных плагинов: например, WP Super Cache для WordPress. В некоторых CMS (например MODX или Joomla) можно активировать внутренний кэш.
- проверьте скорость ответа внешнего сервера. Если скрипты загружаются с внешнего сервера, время ответа отклика может увеличиваться. Рекомендуем использовать динамические файлы на одном сервере, так как производительность внешних серверов невозможно контролировать.
- проверьте сайт на наличие вирусов. При наличии вирусов сайт может работать медленнее. Вы можете восстановить прежнюю версию сайта из резервной копии.