Как увеличить скорость загрузки сайта?
Все без исключения владельцы интернет-ресурсов мечтают о большой посещаемости и успешной монетизации своих проектов. Однако удается это, к сожалению, не всем.
Хотите попасть в число избранных и достичь поставленных целей?
В таком случае придется позаботиться о многих нюансах: не только разработать концепцию, выбрать подходящий дизайн, разместить полезный контент, но и увеличить скорость загрузки сайта.
Быстродействие сайта — один из важных показателей, который положительно влияет на ранжирование в поисковых системах и конверсию.
Например, каждая дополнительная секунда загрузки грозит бизнесу потерей 7% целевых действий! Данные анализа Amazon.
Чем плох медленный сайт? Он не просто раздражает, а еще и приводит к серьезным проблемам в решении ежедневных задач. Проблемы с отрисовкой страницы спустя 10 секунд после клика — это сигнал о поломке, который приводит к уходу пользователя, снижению продаж и ухудшению поведенческих факторов.
Существует еще и техническая сторона вопроса. Если вы упустите из внимания столь важный показатель как скорость загрузки, это приведет к увеличению необходимого объема ресурсов хостинга и, соответственно, к дополнительным затратам. То есть работа над улучшением производительности оправдана как с экономической, так и с технической точки зрения.
В этой статье вы узнаете, как повысить скорость загрузки сайта на любом движке с помощью самых эффективных способов.
Какой должно быть время загрузки?
Пользователи не любят ждать: чем медленнее работает портал, тем ниже их лояльность. Поэтому в ваших интересах разогнать сайт до скорости гепарда:).
И все-таки, на какие показатели стоит ориентироваться?
- 1 секунда — отличный, но труднодостижимый результат.
- 2–3 секунды — стандартное время отклика большинства успешных ресурсов.
- 3–5 секунд — маленькая, но для некоторых проектов терпимая скорость;
- 6–10 секунд — столь низкий показатель негативно влияет на продвижение;
- от 11 секунд — плачевный результат, при котором надо срочно ускорять сайт.
Внимание! Выше представлены обобщенные данные. Идеальные для каждого конкретного случая цифры зависят от местоположения, функционала, объема и типа сайта.
В определенных нишах вполне нормально, если страницы загружаются по 5–6 секунд. Так, широко известная компания OZON не может похвастаться быстродействием интернет-магазина, но это не мешает ей иметь высокую конверсию.
Будет полезно!
Читайте наш мега гайд о продвижении интернет-магазинов в любой тематике.
Лучше всего об оптимальном именно для вас показателе расскажет Google PageSpeed Insights. Постарайтесь получить хотя бы не менее 70–80 баллов — это средняя планка, равная 2–4 секундам. В первую очередь обратите внимание на следующие метрики:
- time to first byte — время получения начальных сведений от сервера;
- load time — скорость загрузки главных элементов;
- page size — размер (общий вес) страницы;
- requests — количество запросов к базе данных необходимых для формирования страницы.
Более детально мы рассмотрим сервис Google PageSpeed Insights чуть позже, а пока поговорим об особенностях формирования производительности сайтов.
От чего зависит скорость загрузки?
Прыть сайта можно условно разделить серверную и клиентскую часть (их впоследствии мы и будем оптимизировать).
Итак, полный цикл загрузки при первом посещении выглядит подобным образом:
- DNS-запрос по названию ресурса.
- Подключение к серверу по IP-адресу.
- Установка защищенного соединения при использовании HTTPS.
- Запрос HTML-страницы по url и ожидание ответа сервера.
- Загрузка HTML.
- Разбор файла на стороне браузера, создание очереди запросов.
- Загрузка и анализ CSS-стилей.
- Загрузка и запуск JS-кода.
- Начало отрисовки страницы, выполнение JavaScript (JS).
- Загрузка web-шрифтов.
- Загрузка картинок и других медиа.
- Окончание отрисовки, работа отложенного JS-кода.
Отдельные этапы иногда меняются местами или осуществляются параллельно, однако суть остается неизменной.
Пункты с первого по четвертый относятся к серверной оптимизации, а все остальные — к клиентской.
Чтобы грамотно увеличить скорость загрузки страницы, необходимо тщательно проверить каждый этап и найти ключевые источники проблем.
Учтите! Роботы Яндекса и Google не кэшируют файлы. Кэширование влияет на загрузку второй и последующих страниц, в то время как поисковые системы всегда загружают страницу как новую. А вот потенциальных клиентов сайта результат данной опции в виде быстрого открытия статьи или каталога приятно удивит, если только они не используют утилиты очистки.
На что влияет скорость загрузки сайта?
Индексация, ранжирование, конверсия — три заветных слова для каждого разработчика и вебмастера. И все эти понятия в той или иной степени зависят от такого фактора, как время загрузки проекта.
Индексация
Крайне важно сделать так, чтобы страницы попали в индекс как можно быстрее и в максимально полном объеме.
Роботы имеют определенный лимит на посещение — значит, чем дольше грузятся материалы, тем меньше страниц будет проиндексировано. А если изображения и тексты загружаются слишком долго, поисковики посчитают, что ресурс недоступен. В результате этого произойдет неиндексация новых страниц или выпадение из индекса ранее проиндексированных.
Совет здесь один: желаете избавиться от проблем с индексацией? Пора увеличить скорость загрузки сайта!
Ранжирование
Быстродействие веб-проекта считается одной из 200 метрик, влияющих на ранжирование ресурсов в поисковой выдаче. По сути, оно представляет собой неотъемлемую часть юзабилити — удобства сайта для пользователей.
Сейчас, когда поведенческие факторы играют первостепенную роль, это особенно важно. Некоторые читатели не захотят долго ждать загрузку и просто закроют страницу, что поисковые системы зачтут за отказ. Чем больше количество отказов, тем ниже будут ваши позиции в результатах поисковой выдачи.
Обычно при низкой скорости загрузки, поисковики действительно уменьшают рейтинг сайта. При этом даже невероятная прыть не является залогом улучшения позиций, так как роботы оценивают ресурсы комплексно, с учетом всех показателей. Уже неоднократно замечено, что быстрые порталы получают преимущество лишь по сравнению с медленными аналогами. Если же сравнивать их с проектами, имеющими среднее время загрузки, разница будет ничтожной.
Важно! Согласно исследованиям американской компании MOZ, четкая взаимосвязь между скоростью полной загрузки страницы и ее позицией в «Гугл» отсутствует. А вот быстрота получения первого байта (показатель Time To First Byte) 100% влияет на ранжирование: чем резвее ответ сервера, тем выше сайт в выдаче.
Конверсия
Давно доказано, что «торможение» интернет-площадки сокращает продажи и приводит к отказу от услуг. В таком случае неважно, насколько хороший у вас контент или заманчива реклама — пользователи просто не станут дожидаться загрузки страницы, покинут сайт.
Многочисленные опросы говорят о том, что 47% готовы ждать полную отрисовку не более двух секунд, задержка даже в одну лишнюю секунду чревата потерей лояльности на 16%. К тому же 88% участников исследования заявили: они вряд ли вновь воспользуются сайтом после неудачной попытки. Кстати, мобильные пользователи не менее требовательны к производительности ресурсов (85% из них хотят, чтобы страницы открывались так же быстро, как и на компьютере).
От медленной работы страдают не только продажи, но и различные показатели: число внутренних переходов, длительность пребывания на блоге. Решив повысить скорость загрузки сайта, вы увеличите не только конверсию, но и лояльность к вашей компании в целом.
Лучшие инструменты для мониторинга скорости загрузки
Готовы изменить свой web-проект к лучшему? Прежде всего, надо проверить показатели при помощи специальных сервисов.
- Google PageSpeed Insights
Простой и удобный анализатор для мгновенной оценки клиентской оптимизации. Перейдите по ссылке https://developers.google.com/speed/pagespeed/insights/, введите в поле адрес интересующего вас сайта и нажмите «Анализировать».
PageSpeed позволяет узнать скорость, а также уровень оптимизации для компьютеров и мобильных. Причем быстродействие сайта определяется двумя метриками: FCP и DCL.
FCP (First Contentful Paint) — первая отрисовка контента. Низкий показатель указывает на вероятные проблемы с самим соединением либо размерами используемых ресурсов.
Что касается DCL (DOMContentLoaded), то это не менее значимый параметр, означающий полную загрузку HTML и построение DOM-дерева.
Инструмент хорош возможностью посмотреть скорость сайта и определить проблемные зоны, а также оценить качество его оптимизации. К тому же Google PageSpeed Insights дает наглядные рекомендации по поводу улучшения ситуации.
- Pingdom
Представленный сервис может помочь в расчете среднего времени загрузки и количества обращений к серверу. Кроме того, он в деталях отображает важную информацию о быстродействии изображений, стилей, JavaScript, скриптов и других элементов страницы — вы сразу обнаружите проблемные участки, тормозящие ваш сайт, получите советы по их улучшению.
Информер сохраняет каждый тест, поэтому владельцу сайта удобно следить за историей производительности.
- Отчет Google Аналитики
Пользуетесь инструментами для вебмастеров? В своих отчетах они продемонстрируют вам параметры скорости ресурса и подскажут, как увеличить скорость загрузки страницы. Обратите внимание: в данном случае время события тестируется на основе сведений о реальных читателях.
В результате замера вы получите общую сводку по средней скорости ответа сервера, поиска домена, переадресации и загрузки страницы. Отдельная колонка предназначена для данных о производительности сайта с учетом браузера и страны.
Также Google Аналитика предоставляет информацию о пользовательской скорости загрузки, резвости отдельных страниц по сравнению с общим быстродействием проекта.
Как и при использовании большинства других сервисов, здесь вы получите ценные советы и по изменению онлайн-площадки, чтобы она работала должным образом.
Вы сможете лично оценить все преимущества веб-аналитики, пройдя авторизацию, открыв необходимое представление. После этого вам нужно перейти в раздел «Отчеты», выбрать «Поведение», а затем «Скорость загрузки сайта».
- GTmetrix
Тестирует производительность ресурса, предоставляя много полезной информации. Благодаря сохранению истории этот сервис дает возможность сравнить, как ухудшилась или улучшилась скорость после внесения правок. GTmetrix сообщает об ошибках, подгружая и сортируя по приоритету рекомендации от Google и Yahoo.
Пользоваться им просто: надо перейти на https://gtmetrix.com/ и ввести в поле адрес сайта, а затем нажать на кнопку Analyze.
- PR-CY
Посетив данный анализатор, вы сумеете визуально оценить быстродействие проекта на телефонах и компьютерах. К тому же сервис предоставляет подробную информацию, способную помочь в оптимизации.
PR-CY пользуется популярностью среди вебмастеров, благодаря продуманному интерфейсу и точным сведениям.
А знаете ли вы? Результаты исследований Strangeloop Networks доказывают, что за последние несколько лет время загрузки web-проектов возросло на 21%. Если раньше статьи чаще всего дополнялись картинками низкого качества, то сейчас ресурсы наполнены тяжелыми элементами (первоклассными изображениями, галереями, видео, анимацией и внешними приложениями). Все это улучшает визуальное впечатление, однако замедляет работу сайта. Здесь, как и во многих других вопросах SEO, важно найти золотую середину.
Как ускорить загрузку и сохранить симпатии пользователей?
Вам, наверное, интересно, какие имеются подручные средства для оптимизации ресурса? Потратив всего 5 минут своего времени, вы узнаете все эффективные приемы и сможете применить их на практике.
Чтобы увеличить скорость загрузки сайта, необходимо пройтись как по серверной, так и по клиентской части — именно из этих обобщающих сегментов и складывается упомянутая метрика.
Серверная часть
Такая оптимизация является очевидной и понятной: она легко тестируется и координируется системным администратором. К тому же медленный ответ сервера создает трудности всем пользователям, независимо от типа их устройства и скорости подключения.
Улучшение хостинга
Нехватка ресурсов хостинга — проблема № 1 для небольших блогов. Иногда рентабельнее увеличить скорость дисковой системы и CPU, перейдя на тариф с расширенными возможностями. Если же цена получения дополнительных ресурсов значительно выше стоимости работ по улучшению производительности, стоит воспользоваться следующими методами.
Настройка сервера Nginx
Выделенный веб-сервер Nginx — отличный способ повысить производительность сайта. Особенно хорош он при обработке статического контента (до 600 тысяч запросов в секунду на Linux), впрочем, даже такой показатель можно улучшить с помощью правильной настройки.
- Удаление неиспользуемых nginx-модулей
Это не только ускорит работу, но и уменьшит уязвимость сервера.
Вам нужно выполнить сборку с такими командами:
# make
# make install
В итоге вы получите Nginx с уже отключенными модулями Autoindex и SSI, которые в большинстве случаев бесполезны. Запустив скрипт
с флагом
, вы узнаете, какие еще модули можно безболезненно исключить из веб-сервера.
- Работа с секцией
Server
Для ускорения сайта рекомендуется включить в секцию
следующие строки:
# vi /etc/nginx/nginx.conf
# Таймаут при чтении тела запроса клиента
client_body_timeout 10;
# Таймаут при чтении заголовка запроса клиента
client_header_timeout 10;
# Таймаут, по истечению которого keep-alive соединение с клиентом не будет закрыто со стороны сервера
keepalive_timeout 5 5;
# Таймаут при передаче ответа клиенту
send_timeout 10;
- Сжатие данных
Обязательная процедура для тех, кто желает повысить скорость загрузки сайта. Так вы сможете уменьшить размер пересылаемого трафика.
Откройте файл конфигурации, который находится по адресу
и добавьте в секцию
следующую информацию:
gzip_static on;
gzip_comp_level 5;
gzip_min_length 1024;
gzip_proxied any;
gzip_types text/plain application/xml application/x-javascript text/javascript text/css text/json;
- Кэширование статических файлов
В том же файле необходимо найти конструкцию
и дописать туда:
root /var/www/user/data/www/site.ru;
expires 7d;
— (
— количество дней хранения кэша на ПК пользователя).
Примечание! Воспользоваться этими советами и ощутимо снизить вес страниц смогут только владельцы выделенных и виртуальных серверов, потому что на виртуальном хостинге доступ к редактированию конфигурации Nginx отсутствует. Но в таком случае вы можете обратиться в техническую поддержку провайдера и попросить специалистов внести необходимые вам корректировки.
Настройки сервера Apache
Самая быстрая возможность оптимизировать веб-сервер — воспользоваться модулем
от Google. После его установки, соединитесь через SSH с сервером и введите такие команды:
dpkg -i mod-pagespeed-*.deb
apt-get -f install
/etc/init.d/apache2 restart
Зайдите в директорию
и удостоверьтесь, что модуль работает корректно. В ней должны появиться папки сайта с кэшированием запросов к Apache — все настроено автоматически.
Что делает данный инструмент? Он удаляет лишние пробелы и атрибуты HTML-документов, объединяет несколько JS, CSS и HTML файлов в один, конвертирует картинки под установленный в тегах
размер, а также способствует оптимизации другими способами.
Gzip — сжатие на стороне сервера
Этот способ архивирования файлов сервером с последующей их распаковкой на стороне пользователя поможет вам существенно увеличить скорость загрузки страницы. Важно, что технологию компрессии поддерживают все без исключения браузеры.
Работа осуществляется на стороне сервера без задействования клиентского оборудования. Единственный минус подобного решения — рост нагрузки на сервер, однако он незначительный.
Для включения gzip-кэширование можно обратиться в техподдержку хостинга или же активировать его самостоятельно — это не требует каких-либо специальных знаний.
Откройте файл
и добавьте в него код:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>
Или прописать в нем такие строки:
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
Header append Vary User-Agent
</IfModule>
Внимание! Gzip сжимает файлы от одного до девяти единиц. Оптимальным параметром считается пятерка.
CDN для загрузки популярных JavaScript библиотек
Content Delivery Network (CDN) представляет собой своеобразную сеть доставки содержимого — большое количество серверов, расположенных по всему миру. Веб-сервер, предназначенный для отдачи контента клиенту на максимально возможной скорости, выбирается на основе определенных показателей. Чаще всего он отличается наименьшим временем отклика. К тому же браузер кэширует JavaScript, позволяя не загружать библиотеку повторно.
Благодаря сокращению расстояния от контента до посетителя вы сможете улучшить производительность сайта и снизить нагрузку на свой сервер. Еще одно достоинство — CDN способен не только раздавать изначальное содержимое, но и оптимизировать контент: компрессировать тексты и сжимать картинки.
На Content Delivery Network часто переносят все файлы JavaScript, изображения и CSS, оставляя на основном сервере лишь файл HTML.
Настройка кэширования на стороне сервера
Суть операции заключается в том, чтобы записать в файл все, что происходит на сервере, для дальнейшей быстрой выдачи статичной версии. Таким образом, вы сможете увеличить скорость загрузки сайта, а также уменьшить нагрузку на базу данных и сервер.
Создайте на сервере папку с любым допустимым названием (например, cache) и напишите в начале PHP-страницы следующее:
<?php
if (file_exists('cache/index_'.$_GET["page"].'_'.$_GET["id"].'.cache'))
{
readfile('cache/index_'.$_GET["page"].'_'.$_GET["id"].'.cache'); exit();
}
ob_start();
// далее идет любой ваш HTML-PHP код
include("includes/bd.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
При наличии файла
просто считайте его содержимое и выведите на экран (здесь
— это переменная
, а
— значение переменной
). Если вышеупомянутого файла нет, включите в папке кэш буфер и запишите туда все процессы, запущенные на странице.
В конце после тэга не забудьте добавить:
<?php
$buffer = ob_get_contents();
ob_end_flush();
$fp = fopen('cache/index_'.$_GET["page"].'_'.$_GET["id"].'.cache', 'w');
fwrite($fp, $buffer);
fclose($fp);
Запишите в
его содержимое, затем остановите буферизацию и очистите контент. Следующее действие предполагает открытие файла
(если его на сервере нет, то надо создать) и запись в файл
значения
.
Оптимизация базы данных
По мере роста сайта объем базы данных будет увеличиваться, что приведет к ее торможению. Соответственно, необходимо регулярно избавляться от мусора в виде спама, ревизий, ненужных таблиц.
Это можно сделать вручную через phpMyAdmin хостинга (пункт SQL). Не хотите попусту тратить время? Воспользуйтесь специальными плагинами или настройте автоматическую оптимизацию. Сделать это несложно.
Установите на ПК программу Notepad++ и подключитесь через FTP к хостингу. Найдите в папке
файл
и перетащите на рабочий стол. После этого откройте его с помощью Notepad++ и найдите строчку с названием базы данных. Под ней надо добавить следующее:
define('EMPTY_TRASH_DAYS', 1);
Первая команда отключит ревизии постов, а вторая станет через день очищать корзину.
Обновите файл и перетащите его мышкой обратно на хостинг, заменив старую версию новой.
Оптимизация TCP, TLS, HTTP/2
В этом разделе объединены тонкие сетевые настройки, способствующие ускорению сервера. Они не меняют показатели разительно, зато их оптимизация не требует финансовых вложений.
TCP — популярный сетевой протокол, функционирующий на основе «окна перезагрузки». Чем выше габариты окна (количества пакетов для передачи), тем больше пропускная способность. Ваша задача — правильно рассчитать и настроить размер буфера TCP. Большинство разработчиков используют для этого параметры задержки и полосы пропускания, умноженные на два. Чтобы изменить размер буфера, используйте вызов Setsockopt в С или методы setReceiveBufferSize и setSendBufferSize в Java. Такая корректировка ориентирована на ускорение масштабных порталов и серверов. Главное — регулярно обновлять систему.
Что касается тюнинга TLS, он сократит время ответа и повысит уровень безопасности соединений. Найдите конфигурационный файл на Nginx и проведите следующие изменения:
- включите разделяемый кэш сессий и отключите встроенный аналог;
- уравняйте количество рабочих операций с числом процессоров;
- разрешите keep-alive соединения;
- увеличьте время жизни сессии.
# Создаем отдельный Server для перенаправления с HTTP на HTTPS
server {
server_name example.com www.example.com; # можно указать любые домены и поддомены
listen 1.2.3.4:80; # где 1.2.3.4 - айпи вашего сервера
rewrite ^(.*) https://$host$1 permanent; # редирект HTTP/1.1 301 Moved Permanently с http на https
}
# Прописываем основной сервер с HTTPS
server {
server_name example.com www.example.com; # копируем из верхнего сервера
listen 1.2.3.4:443 ssl http2; # вместо 1.2.3.4 вставляем IP своего сервера. http2 включаем поддержку протокола http/2
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # сертификат
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # ключ
# Для кэширования запросов
keepalive_timeout 70; # 70 секунд держим соединение открытым
keepalive_requests 150; # 150 запросов максимум на одно соединение, после чего закрываем
ssl_session_cache shared:SSL:10m; # разделяемый между всеми процессами кэш сессий на 10 байт с названием SSL. 1 Мб вмещает около 4000 сессий
ssl_session_timeout 10m; # 10 минут - максимальное время жизни сессии
# Для улучшения безопасности соединения
ssl_prefer_server_ciphers on; # указываем, чтобы при использовании протоколов SSLv3 и TLS серверные шифры обладали большим приоритетом, чем клиентские
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA; # типы шифров
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # разрешённые типы протоколов
}
Теперь немного о HTTP/2. В этот достаточно молодой протокол заложены механизмы быстродействия, рассчитанные на уменьшение влияния сетевых задержек. Чтобы увеличить скорость загрузки сайта, SEO-профи рекомендуют отказаться от встраивания файлов в HTML-код, доменного шардинга, спрайтов и конкатенации файлов.
Количество HTTP-запросов
Время открытия страницы на 80% зависит от загрузки Flash, CSS, скриптов и картинок. Уменьшение числа упомянутых элементов приводит к ускорению веб-проекта. Но как сократить количество запросов без изменения внешнего вида?
Для этого достаточно применить встроенные в страницу Inline-изображения и CSS-спрайты — комбинированные картинки, которые состоят из небольших фрагментов.
Если вы используете на странице несколько JS и CSS-элементов, их можно объединить в один файл — это действенный и простой прием.
Уменьшение редиректов
Создание перенаправлений — стандартная практика продвижения, когда надо сообщить серверу, что адрес страницы был изменен. 301-редиректы помогают избежать 404-ошибок, но при этом они замедляют работу сайта. Особенно явной становится проблема для пользователей мобильных устройств, которым приходится совершать дополнительные переходы. Google советует по возможности уменьшить количество перенаправлений.
Чтобы быстро найти все редиректы на своем ресурсе, воспользуйтесь специальной программой. После установки на компьютер утилита Screaming Frog за считанные минуты определит проблемные места.
Клиентская часть
Этот сегмент менее удобен в управлении, так как направлен на процессы, которые осуществляются в браузере пользователя. Тем не менее их оптимизация порадует вас хорошим результатом, позволив заметно повысить скорость загрузки сайта.
Настройка асинхронной загрузки
Современные страницы перегружены тяжелыми файлами JavaScript, которые замедляют дальнейшее отображение страницы. Соответственно, в местах с этими строками загрузка тормозится, ведь все HTML-элементы открываются по очереди. Однако с выходом HTML5 вебмастерам стала доступна асинхронная загрузка, во время которой скрипты запускаются в последнюю очередь.
Ускорить сайт можно при помощи специального скрипта Google ExtSrcJs. Надо лишь заменить:
на:
и подключить файл скрипта
.
Удаление лишних плагинов
Большинство генераторов и визуальных редакторов легко создадут необходимый вам код, правда, он будет «мусорным» – лишние строчки кода приведут не только к торможению ресурса, но и к возникновению ошибок, мешающих загрузке. Это надо исправлять. Кроме того, опытные специалисты рекомендуют всегда удалять ненужные расширения, плагины и темы.
Оптимизация размера страницы
Уменьшив размер страницы и количество «тяжелого» контента, вы ускорите работу сайта и сэкономите деньги на оплате услуг хостинга, если платите за трафик.
Для оптимизации попросите провайдера включить опцию сжатия HTTP. Это как минимум вдвое уменьшит размер графики и других элементов страницы.
Физическое сжатие графики и смена расширения файлов
Следуя простым советам, вы сможете увеличить скорость загрузки страницы без потери ее визуальной привлекательности.
- Удаляйте ненужные картинки. Где предусмотрена такая возможность, используйте текст вместо тяжелой графики.
- Отдавайте предпочтение формату JPEG, который сжимается без потери качества. Даже снизив качество на 25-40%, вы получите на выходе достойную иллюстрацию, практически неотличимую от исходника. При этом вес картинки будет минимален.
- Не злоупотребляйте PNG для создания эффекта прозрачности. Для сжатия этого и любого другого формата подойдет не только Photoshop, но и OptiPNG, Compresspng и PNGout.
- Очищайте элементы от цифрового мусора (рабочих версий, ненужных палитр, комментариев дизайнера). Сделать это можно при помощи сервиса Smush.it.
Для сжатия графических файлов онлайн используйте tinyjpg.
Отказ от масштабирования картинок
Не стоит менять размер изображений с помощью CSS, width и height. Лучше предварительно внести корректировки, воспользовавшись графическим редактором.
Вместо одной масштабируемой иллюстрации, которая занимает много места и замедляет загрузку, стоит использовать несколько картинок, адаптированных под разные устройства.
Чтобы браузер каждый раз грузил нужный вариант, установите плагин Imager (для WordPress). Это работает так:
<div style="width: 240px">
<div class="delayed-image-load" data-src="httр://placehold.it/{width}" data-alt="alternative text"> </div>
</div>
<script>
new Imager({ availableWidths: [200, 260, 320, 600] });
</script>
Оптимизация JavaScript и CSS
Специальные методы упрощения кода уменьшают размеры элементов, сокращая названия функций и удаляя мусор. Можно дополнительно улучшить CSS и JavaScript за счет изменения названий переменных (в случае обновления HTML и правильной работы селекторов).
Упростить код несложно — имеется много сервисов: JSCompress или Refresh-SF. Подойдет для этого и Google PageSpeed Insights. После выполнения на нем анализа страницы, нажмите на «Сократить HTML», а затем на «Посмотреть содержание».
Обратите внимание! Лучше всего размещать JS-файлы в конце страницы, а CSS — в начале. Так ваш ресурс произведет на пользователей положительное впечатление как по внешнему виду, так и по скорости.
Оптимизация веб-шрифтов
Подключенные веб-шрифты — стандарт оформления современных сайтов. Но, к сожалению, они негативно сказываются на производительности сайта. Проблема усугубляется при расположении указателей на файлы шрифтов в CSS и применении публичных сервисов, требующих дополнительные подключения.
Начните пользоваться новыми форматами WOFF и WOFF2, при этом исключите все наборы символов, кроме кириллицы и латиницы.
Улучшить ситуацию можно при помощи спецификации
и CSS-свойства
. Первый показатель мгновенно указывает браузеру о необходимости загрузки файла шрифта, второй позволяет управлять поведением браузера в случае задержки.
Настройка кэширования на стороне браузера
Использование кэша предполагает то, что файлы сайта будут загружаться с сервера лишь один раз. В дальнейшем они сохраняются на компьютер и «подтягиваются» при загрузке с ПК пользователя.
Для подключения кэша браузера необходимо создать файл
и, воспользовавшись модулем
, прописать в нем выбранные директивы:
-
Expires
— отвечает за актуальность кэша (можно установить срок от недели до года).
-
Cache-Control: max-age
— аналог предыдущего заголовка, выполняющий те же функции.
-
Last-Modified
и
ETag— устанавливают в кэше уникальный id для каждого url. В Nginx для статичных файлов они включены по умолчанию.
Как увеличить скорость загрузки сайта на определенном движке?
- WordPress
Для оптимизации CSS и JavaScript в таком случае стоит установить плагин Autoptimize. Можно также загружать откорректированные элементы страницы из PageSpeed Tool.
Учтите, что основой «легкости» ресурса является правильно выбранная тема. Если нынешняя версия тормозит ваш проект, есть смысл ее поменять.
- Opencart
Следует уменьшить размеры статичного контента — для Nix-систем подойдет Google ModPagespeed. Также вы можете воспользоваться Gzip, сжатием изображений.
- Joomla
Оптимизируйте иллюстрации под Web, тогда они будут обладать меньшим весом. Никогда не загружайте картинки с высоким разрешением для их последующего уменьшения через CSS и HTML. Большое количество «неблагополучных» элементов приведут к серьезному замедлению работы сайта.
- 1C Битрикс
В административной панели этой CMS существует немало полезных настроек. Например, «Автокэширование» и «Оптимизация CSS», где можно выбрать подходящие вам функции: объединение файлов, создание сжатых копий и т. п.
Заключение
Теперь вы знаете, насколько важно быстродействие ресурса для его конверсии, индексации и ранжирования. Надеемся, статья ответила на все ваши вопросы и помогла оптимизировать сайт с минимальными усилиями!