Уроки
-
Введение
-
Поисковая оптимизация
- Битые ссылки
- Карта сайта
- Микроразметка
- 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 кода
Загрузка файлов отложено или по востребованию
Сервер размещён в той же стране, где проживают пользователи сайта
Запросы в другую страну, вызывающих блокировку загрузки страницы
-
Минификация
- Мобильность
- Баги
-
Удобство
- Соцсети
- Манифест веб-приложения
- Фавиконы
- Почта
- Базовое
- Читаемость текста
-
Безопасность
- Шифрованное соединение
- Эксплойты
- Уязвимости
Запросы в другую страну, вызывающих блокировку загрузки страницы
Чем дальше от пользователя находятся сервера, тем больше потребуется времени свету, чтобы пройти расстояние туда и обратно. Эта задержка называется ping и зависит от расстояния, количества хопов (количества роутеров между пользователем и сайтом), а также маршрута следования сетевых пакетов.
Блокирующие файлы — это такие файлы, без загрузки которых страница не выдаст событие loaded. А это ключевое событие в стадийности загрузки страницы. Без его срабатывания страница попросту зависнет. То есть если блокирующий файл не может загрузиться, то браузер будет ждать до 30 секунд, ожидая его загрузки.
Если вы используйте зарубежные сервисы как счётчики, API карт, системы авторизации, платёжные системы, CDN сервисы, каптчи и т.д., то позаботьтесь о том, чтобы подключение этих скриптов было неблокирующим. Иначе, все, часть или единичные пользователи получат сломанную страницу, из-за проблем в сети или доступностью зарубежных сервисов.
Подключайте JavaScript функцию в событии ready.
Пример на jQuery:
$(document).ready(function () {
var script = document.createElement("script"); //
script.src = "https://example.com/script.js"; // путь до вашего файла
document.head.appendChild(script);
});
Пример на нативном JavaScript:
window.addEventListener('load', function() {
var script = document.createElement("script"); //
script.src = "https://example.com/script.js"; // путь до вашего файла
document.head.appendChild(script);
});