Уроки
-
Введение
-
Поисковая оптимизация
- Битые ссылки
- Карта сайта
- Микроразметка
- Robots.txt
- Ссылки
- Текст
- Дубликаты
- Базовое
- Картинки
-
Скорость
-
Минификация
-
Минификация CSS для сокращения его объёма
Минификация JavaScript файлов
Минификация inline CSS кода
Минификация картинок без потери качества
Минификация JavaScript файлов для сокращения его объёма
Неиспользуемый CSS код
Оптимизация data:URL картинок
Формат анимированных изображений MP4 и WEBM вместо GIF и WEBP
Неиспользуемый JavaScript код
Использование WebP формата в изображениях
Слишком качественные картинки без использования сжатия
Подходящий битрейт видео
-
Сокращение запросов
-
Переизбыток маленьких картинок
Группировка CSS файлов
Группировка JavaScript файлов
Переизбыток файлов шрифтов
Наличие сквозных CSS, JS файлов
Наличие монохромного шрифта
Загрузка дубликатов файлов
Использование JavaScript фасадов
Перенаправление JavaScript кодом
Добавление ленивой загрузки
Редирект с/на www версию
- Шрифты
- Время загрузки
- Настройки сервера
- Картинки
-
Первое содержимое
-
Последовательность подключения JavaScript файлов
Режим отображения шрифтов
Настройка предварительного соединения
Удаление ленивой загрузки
Длительное время исполнения JavaScript кода
Загрузка файлов отложено или по востребованию
Сервер размещён в той же стране, где проживают пользователи сайта
Запросы в другую страну, вызывающих блокировку загрузки страницы
-
Минификация
- Мобильность
- Баги
-
Удобство
- Соцсети
- Манифест веб-приложения
- Фавиконы
- Почта
- Базовое
- Читаемость текста
-
Безопасность
- Шифрованное соединение
- Эксплойты
- Уязвимости
Настройка предварительного соединения
Предварительное соединение с сервером
Часто сайты загружают файлы из внешних сервисов. Это могут быть карты или виджеты соцсетей. Те, в свою очередь, загружают данные из своих источников.
Например, при отображении карты яндекса на сайте, подгружается скрипт https://api-maps.yandex.ru/services/constructor/1.0/js/, а тот запрашивает фото карт с адреса https://core-renderer-tiles.maps.yandex.net. Таким образом, после загрузки скрипта он тратит время на подключение к сайту, выдающим картинки.
Но можно ускорить работу карт ,добавив на страницу специаильный код, который создаст подключение к адресу https://core-renderer-tiles.maps.yandex.net ещё до загрузки самого скрипта.
<link rel="preconnect" href="https://core-renderer-tiles.maps.yandex.net" crossorigin />
<link rel="dns-prefetch" href="https://core-renderer-tiles.maps.yandex.net" />
Таким образом вы ускорите загрузку карты от несколько десятков до сотен миллисекунд.
Но это имеет смысл, только если карта или виджет соцсетей - находится на первом экране. Во всех остальных случаях отложите загрузку карты до тех пор покамест вся остальная страница не загрузится, либо до момента, когда пользователь, прокручивая страницу, вот вот увидит карту.
Предзагрузка файлов
Предзагрузка файлов не помогает загрузить страницу быстрее, а лишь помогает отобразить быстрее значимый контент. Следовательно, предзагружать CSS и JavaScript смысла нет. Картинки и видео предзагрузить не получится, так как отсутствует возможность загружать картинку в соответствии с DPR.
Стоит предзагружать файлы шрифтов, чтобы как можно быстрее отобразить текстовое содержимое страницы.