Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Практика

Доля ошибок (Error Rate): как считать и отслеживать на сайте

Разберём, что входит в долю ошибок, как считать её по логам и по данным браузера и как настроить контроль без ложных тревог.

Что такое доля ошибок

Доля ошибок (в англоязычных источниках Error Rate) — процент запросов или просмотров, которые закончились ошибкой, от общего числа. Показатель бывает разным по смыслу, поэтому первым делом уточните, что именно вы считаете. Ошибки сервера сообщают о неисправности инфраструктуры. Ошибки «не найдено» говорят о битых ссылках и запросах к несуществующим страницам. Ошибки скриптов в браузере показывают, что часть функций у посетителей не работает. Смешивать их в один процент нельзя: причины и способы решения у них различаются.

Какие ошибки считать отдельно

Виды ошибок и способы реакции
ТипГде видноЧто означаетРеакция
5xx (сбои сервера)Логи сервера, мониторингСайт или его часть недоступны для людей и роботовСрочная диагностика: ошибки 5xx
404 (не найдено)Логи, панели вебмастеров, аналитикаБитые ссылки, удалённые страницы, опечаткиСсылки поправить или поставить перенаправление: отчёт по 404
403 (доступ запрещён)Логи, панели вебмастеровРоботу или людям закрыт доступПроверить правила и защиту: ошибка 403
Ошибки JavaScriptОтчёты браузерной аналитики, собственные событияНе работают формы, меню, оплатаИсправить скрипт, проверить в браузерах
Ошибки форм и оплатыСобытия и целиЗаявки и заказы теряютсяРазобрать причины в цепочке шагов

Как считать

error_rate = запросы с ошибкой / все запросы * 100

# отдельно для сбоев сервера
server_error_rate = запросы с кодом 5xx / все запросы * 100

Для сервера считайте долю от всех запросов, для браузерных ошибок — долю просмотров, в которых произошла ошибка. Подсчёт по человеческим и роботным запросам стоит вести отдельно, иначе всплеск сканирования робота исказит картину.

Пример подсчёта по журналу веб-сервера в стандартном формате, где код ответа стоит после запроса в кавычках:

total = errors = 0
with open("access.log", encoding="utf-8") as f:
    for line in f:
        parts = line.split('"')
        if len(parts) < 3:
            continue
        status = parts[2].split()[0]
        total += 1
        if status.startswith("5"):
            errors += 1

print(round(errors / total * 100, 2), "%")

Формат журнала у разных серверов может отличаться, поэтому проверьте скрипт на нескольких строках. Подробнее о работе с логами: логи сервера как источник данных.

Ошибки скриптов в браузере

Сервер может отвечать нормально, а у людей не работает форма из-за ошибки скрипта. Простейший контроль — отправлять событие при каждой ошибке и смотреть их число в отчётах:

window.addEventListener('error', function (e) {
  ym(12345678, 'reachGoal', 'js_error', { page: location.pathname, message: e.message });
});

Событий может быть много от одной и той же ошибки, поэтому группируйте их по странице и сообщению. Не передавайте в событие персональные данные посетителей.

Как организовать контроль

Определитьчто считаемСобратьданныепо днямЗадатьпорогии оповещенияРазбиратьпричиныи исправлять
Определитьчто считаемСобратьданныепо днямЗадатьпорогии оповещенияРазбиратьпричиныи исправлять
Как отслеживать долю ошибок
  1. Разделите ошибки по типам и по страницам.
  2. Соберите данные за несколько недель, чтобы понять нормальный уровень: у разных сайтов он разный.
  3. Настройте оповещения на отклонение от нормы, а не на фиксированное число: оповещения и мониторинг доступности.
  4. Разбирайте всплески: что изменилось — выпуск сайта, нагрузка, внешний сервис.

Типичные ошибки

  • Общий процент без разделения на типы: 404 от чужих ссылок скрывает реальные сбои сервера.
  • Оповещения на любую единичную ошибку: команда перестаёт на них реагировать.
  • Не учитываются роботы: массовое сканирование по несуществующим адресам портит статистику.
  • Считается только среднее за месяц: короткий сбой в пару часов теряется в среднем.

Вывод. Считайте ошибки по типам, отслеживайте отклонения от нормы, а не единичные события, и сопоставляйте всплески с изменениями на сайте. Общий список технических проверок: чек-лист технической доступности.

Пример отчёта по ошибкам за неделю

Недельный отчёт по ошибкам (условный пример)
ПоказательЗначениеОценка
Запросы за неделю240 000—
Ответы 5xx120 (0,05%)Всплеск в среду вечером после выпуска сайта
Ответы 4042 400 (1%)В основном запросы роботов и устаревшие ссылки
События js_error85Половина от одной страницы оформления заказа

Такой отчёт превращает цифры в задачи: разобрать среду, поставить перенаправления для устаревших ссылок, исправить скрипт на странице заказа.

Частые вопросы

Что такое Error Rate сайта?

Процент запросов или просмотров, закончившихся ошибкой, от общего числа; его считают отдельно для сбоев сервера, ошибок «не найдено» и ошибок скриптов.

Какой процент ошибок считается нормальным?

Единого значения нет: определите обычный уровень для своего сайта за несколько недель и следите за отклонениями, а не за абсолютным числом.

Как отслеживать ошибки скриптов?

Отправлять событие при каждой ошибке в браузере в систему аналитики и группировать по странице и сообщению.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также

4 мин чтения

Как товары попадают в выдачу: фид, разметка, карточка

Товар появляется в выдаче тремя путями: через обход страниц, через разметку и через фид. Данные во всех трёх источниках должны совпадать, иначе возникают ошибки и расхождения цены.

Читать статью →
4 мин чтения

Страницы каталога для рекламы: как подготовить структуру, адреса и фид

Реклама только усиливает состояние каталога. Если категории неудобны, товары недоступны, а адреса меняются, деньги уходят на показ страниц, которые не продают.

Читать статью →