# Пользовательские страницы ошибок

Source: https://support.kapsulehost.com/ru-ru/site-error-pages

Пользовательская страница ошибки заменяет обычную страницу сервера по умолчанию вашим собственным фирменным HTML, сохраняя при этом настоящий статус ошибки, чтобы поисковые системы по-прежнему видели реальную 404. Это руководство рассказывает, как добавить страницу для каждого поддерживаемого кода, что удаляется в целях безопасности и как работает значок проверки.

## Где находятся страницы ошибок в KPanel

1. Войдите в [KPanel](https://kpanel.kapsulehost.com).
2. Нажмите **Веб-сайты** в левой боковой панели, затем выберите сайт.
3. В левом меню сайта откройте **Параметры**, затем **Страницы ошибок**.

Прямой адрес: `/websites/<site-id>/error-pages`.

![Пользовательские страницы ошибок для сайта в KPanel](https://support.kapsulehost.com/help/screenshots/site-error-pages.89c17e2d.webp)

## Зачем это нужно

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

Пользовательская страница превращает это в путь обратно на сайт: ваш логотип, ваша типографика, фраза в вашем собственном стиле и ссылка на главную страницу или поле поиска. На крупном сайте опечатки в адресах и устаревшие URL постоянно приносят трафик, а страница 404 - это самый дешёвый способ его вернуть, который вы только можете построить.

## Поддерживаемые коды

Вы можете настроить пользовательскую страницу для восьми кодов, по одной странице на код:

| Код | Значение | Типичная причина |
|---|---|---|
| 400 | Неправильный запрос | Некорректно сформированный запрос |
| 401 | Unauthorized | Требуется аутентификация или она не удалась |
| 403 | Forbidden | Правило доступа заблокировало запрос |
| 404 | Не найдено | По этому URL ничего не существует |
| 500 | Внутренняя ошибка сервера | Ваше приложение дало сбой |
| 502 | Плохой шлюз | Приложение ответило некорректно |
| 503 | Служба недоступна | Приложение не работает или перегружено |
| 504 | Истечение времени ожидания шлюза | Приложение отвечало слишком долго |

Начните с 404. Это самый распространённый случай, и единственный, с которым посетитель сталкивается при обычном просмотре сайта, а не из-за сбоя.

Семейство кодов 5xx стоит настроить следующим, потому что именно такие страницы люди видят в ваш худший день. Спокойная фирменная страница, которая сообщает, что что-то пошло не так, и указывает адрес электронной почты, намного лучше, чем пустая страница ошибки сервера.

## Добавление страницы

1. Нажмите **Добавить страницу ошибки**.
2. Выберите код ошибки из выпадающего списка. Уже используемые коды в списке не отображаются.
3. Замените образец HTML в поле **Тело HTML** своим собственным.
4. Нажмите **Добавить страницу ошибки**.

Редактор начинает работу с готового рабочего документа 404, который можно отредактировать, что является разумной отправной точкой, если вам нужно быстро получить что-то аккуратное.

## Написание HTML

Предоставьте полный HTML-документ, начинающийся с doctype. Он подаётся как есть, поэтому должен быть самодостаточным.

Часть HTML удаляется ещё до сохранения страницы, в целях безопасности:

- теги `<script>`
- встроенные обработчики событий, такие как `onclick`
- iframe
- удалённые таблицы стилей

Если что-то было удалено, после сохранения вы увидите предупреждение.

> **Warning:** Поскольку удалённые таблицы стилей удаляются, страница ошибки не может подключить основной CSS-файл вашего сайта. Оформите её с помощью встроенного CSS или блока `<style>` в заголовке документа. Это сделано намеренно: страница ошибки должна отображаться, даже когда остальная часть сайта не работает, а страница, зависящая от загрузки ресурсов с неисправного сервера, отобразится как неоформленный текст именно в самый неподходящий момент.

Практические рекомендации:

- **Делайте страницу компактной и самодостаточной.** Встраивайте всё прямо в документ. Избегайте внешних изображений. В списке страниц показан размер каждой страницы в КБ.
- **Говорите о случившемся простыми словами.** «Мы не смогли найти эту страницу» лучше, чем «404 Не найдено».
- **Предложите путь вперёд.** Ссылку на главную страницу, ссылку на основные разделы или поле поиска.
- **Укажите способ связи** на страницах 5xx, поскольку посетитель не может воспользоваться сайтом, чтобы связаться с вами.
- **Не используйте её для перенаправления.** Если URL был перемещён, настройте перенаправление должным образом. См. [Перенаправления сайта](https://support.kapsulehost.com/ru-ru/site-redirects).

## Код статуса сохраняется

Ваша пользовательская страница подаётся с настоящим статусом ошибки, а не с 200. Код 404 остаётся 404 на всём пути до клиента.

Это важнее, чем может показаться. Фирменная страница, возвращаемая с кодом 200, становится «мягкой» 404: поисковые системы индексируют её как настоящую страницу, ваша аналитика засчитывает её как успешный просмотр, а битые ссылки никогда не будут выявлены ни одним инструментом. Поскольку KapsuleHost сохраняет настоящий статус, всё это продолжает работать корректно.

## Чтение значка статуса

Столбец **Status** показывает, что действительно удалось проверить, и намеренно честен в отношении ограничений.

| Значок | Значение |
|---|---|
| Проверено: фирменная страница обслуживается (настоящая 404) | Мы принудительно вызвали 404 извне и получили вашу страницу с правильным статусом |
| Настроено (внешняя проверка не выполнена) | Страница применена. Этот код невозможно вызвать извне по запросу |
| Еще не проверено | Проверка ещё не запускалась |
| Applied, live test inconclusive | Проверка получила что-то отличное от чистой 404, часто из-за того, что её перехватило перенаправление |
| Got a 404 but the branded page was not served | Правило настроено, но ваша страница не была возвращена. Попробуйте сохранить заново |

Только 404 можно вызвать принудительно извне. Запрос несуществующего URL надёжно приводит к 404, но нет способа заставить исправно работающий сервер выдать настоящую 500 по запросу, не сломав его. Поэтому остальные коды показывают статус **Настроено (внешняя проверка не выполнена)**, а не заявляют о проверке, которая на самом деле не проводилась. Тем не менее они по-прежнему подаются, когда ошибка действительно возникает.

Также может появиться предупреждение о том, что другая конфигурация на сервере претендует на тот же домен. Пока это не будет устранено, страница ошибки может не применяться. Если вы видите такое предупреждение, обратитесь в поддержку.

## Устранение неполадок сайта, который действительно выдаёт ошибки

Если вы здесь потому, что ваш сайт выдаёт ошибки, а не потому, что хотите страницы покрасивее, на странице есть быстрое решение: кнопка **Troubleshoot with Kora** в баннере вверху страницы.

Она просит Kora, помощника внутри KPanel, прочитать журналы ошибок и недавние сбои по этому сайту и сообщить вероятную причину и способ её устранения. Это гораздо более быстрый первый шаг, чем чтение необработанных журналов.

Общую картину производительности см. в разделе [Производительность сайта и APM](https://support.kapsulehost.com/ru-ru/site-performance), а динамику частоты ошибок во времени см. в разделе [Аналитика трафика сайта](https://support.kapsulehost.com/ru-ru/site-analytics).

## Редактирование и удаление

Каждая строка содержит кнопку редактирования, которая открывает тот же редактор с зафиксированным кодом и загруженным HTML, и кнопку удаления.

При удалении запрашивается подтверждение и поясняется результат: запросы, попадающие под этот код, будут возвращаться к стандартной странице сервера.

## Устранение неполадок

**Моя страница не отображается.** Убедитесь, что вы вызываете нужный код. Путь с перенаправлением никогда не достигает 404. Проверяйте с помощью URL, который действительно не существует, в приватном окне, чтобы кэш не повлиял на результат.

**Страница отображается, но выглядит неоформленной.** Ваша таблица стилей была удалена как внешний ресурс. Встройте CSS прямо в документ.

**Мой скрипт отслеживания отсутствует.** Скрипты удаляются намеренно. Здесь нет способа запустить JavaScript со страницы ошибки.

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

**Значок показывает, что фирменная страница не была подана.** Сохраните страницу заново. Если проблема сохраняется и предупреждение о конфликте доменов не появлялось, откройте тикет.

## Похожие страницы

- [Перенаправления сайта](https://support.kapsulehost.com/ru-ru/site-redirects), чтобы предотвратить возникновение 404 в первую очередь.
- [Аналитика трафика сайта](https://support.kapsulehost.com/ru-ru/site-analytics), чтобы увидеть, сколько ответов 4xx и 5xx вы на самом деле подаёте.
- [Защита сайта паролем](https://support.kapsulehost.com/ru-ru/site-password-protect), которая по замыслу приводит к ответам 401.
