Что означает ответ 401
Ответ 401 Unauthorized означает, что сервер не отдаст запрошенный ресурс, пока клиент не предъявит действительные учётные данные. Название исторически сложилось неудачно: статус говорит о нехватке или провале аутентификации, а не о том, что у клиента нет прав. Корректный ответ обычно содержит заголовок WWW-Authenticate с указанием схемы авторизации.
Для личного кабинета, API-эндпоинта, ссылки на превью или закрытого документа 401 может быть правильной границей. Это становится SEO-проблемой, когда URL для обычных посетителей — или CSS, JavaScript, изображение либо данные, нужные для отрисовки этой публичной страницы, — отвечает 401. Поисковый сканер не может войти как обычный пользователь, поэтому надёжно получить закрытый ответ он не сможет.
Определите, что должно быть публичным
Начните с назначения страницы. Товар, статья, категория, справочная или публичная посадочная страница должны открываться без сессии. Страницы аккаунта, счета и закрытые превью должны требовать авторизации и не попадать в публичную навигацию или карты сайта. Такая классификация защищает от частой плохой правки: ослабления контроля доступа только ради того, чтобы инструмент мониторинга показывал 200.
| Ответ | Значение | Типичное действие |
|---|---|---|
| 401 | Учётные данные нужны или отклонены | Оставьте для закрытых ресурсов; уберите запрос авторизации с публичных маршрутов. |
| 403 | Сервер понимает запрос, но отказывает в нём | Проверьте правила авторизации и правила для ботов; не принимайте это за приглашение войти. |
| 404 | Актуальный ресурс не найден | Возвращайте для удалённых или неизвестных URL, если нет подходящей замены. |
Страница может быть публичной, а её рабочий процесс — частично закрытым. Например, разрешите анонимную загрузку страницы товара и её изображений, а пользователя просите войти только при открытии личного кабинета. HTML публичной страницы должен быть самодостаточным, чтобы первый визит не зависел от запроса с учётными данными к API.
Проверьте путь ответа
Проверьте основной URL без cookie и зафиксируйте итоговый статус, цепочку редиректов и заголовки ответа. Затем посмотрите сетевые запросы страницы: нет ли 401 у ресурсов, без которых страница не отрисовывается. Стена входа может появиться на уровне CDN, обратного прокси, промежуточного ПО приложения или вышестоящего API и затрагивать разные пути, поэтому один успешный запрос главной страницы — недостаточное доказательство.
Запросите точный URL в чистой сессии и зафиксируйте итоговый статус и заголовок WWW-Authenticate.
Сравните рабочий публичный маршрут с маршрутом, который получает запрос авторизации, включая редиректы и нужные ресурсы.
Меняйте только тот маршрут или правило промежуточного ПО, которое ошибочно относит публичный ресурс к закрытым.
Убедитесь, что публичный маршрут открывается анонимно, а намеренно закрытый маршрут по-прежнему требует авторизации.
Практическая проверка двусторонняя. Если публичная страница стала требовать авторизацию, исправьте её правило доступа и снова проверьте отрисованную страницу. Если закрытая страница случайно стала публичной, восстановите границу и убедитесь, что её нет во внутренних ссылках, лентах и XML-картах сайта. Статусы описывают поведение, но не заменяют перечень маршрутов.
Проверьте исправление
После развёртывания повторно просканируйте небольшую выборку шаблонов анонимным запросом. Проверьте итоговый HTML и ресурсы, которые несут основной контент: стили, скрипты, изображения и структурированные данные. В Google Search Console инструмент проверки URL помогает отличить текущую проблему с загрузкой от старого отчёта по индексации, но не заменяет проверку живого ответа самостоятельно.
Перед тем как считать эту проблему исправленной, составьте явный список маршрутов: публичных и закрытых. Полезный результат — не универсальный ответ 200, а согласованная граница: публичные страницы открываются штатно, а закрытые остаются защищёнными.
Включите в проверочную выборку закрытые ресурсы и API. Публичная страница может вернуть 200, а её основной контент, таблица стилей или изображение получит 401 и оставит незавершённый вид. Проверяйте итоговый статус и запрос авторизации для каждого запроса, без которого страница не отрисовывается, и перепроверяйте после изменения правила доступа.
Следите за статусом по классам URL, а не по одной общей цифре. Публичная статья с 401 требует другого разбора, чем конечная точка аккаунта, которая правильно закрывает любой анонимный запрос. Фиксируйте с каждой находкой выборку, время, состояние клиента (вход или анонимность) и итоговый URL, чтобы позже проверить изменения в тех же условиях.