Коды ошибок seo

Каждый раз, когда мы кликаем на какую-то ссылку или на наш сайт заходят поисковые роботы, происходит один из диалогов примерно такого содержания:

— Привет, сервер! Я поисковый робот. Могу я просканировать эту страницу?

— Привет! Конечно, заходи. 

— А если вот эту страницу?

— А вот здесь пока ведутся ремонтные работы, приходи позже. 

Язык ответов HTTP понимают и браузеры, и поисковые роботы, и SEO-специалисты, которым он нужен при работе с сайтом.

Если вы до сих пор путаете 301 с 302, и не знаете, зачем нужен 410 ответ — вам просто необходимо разобраться в кодах ответов HTTP, которые встречаются чаще всего. О них я и расскажу в этой статье. А еще мы узнаем, какую роль они отыграют в SEO и как не допустить ошибок в их использовании.

Какие ответы серверов существуют?

Начнем с того, что все коды ответов (состояния) серверов делятся на 5 классов, каждый из которых несет определенный смысл:

  • 1XX. Эти информационные коды говорят о том, что запрос был понят, принят сервером и уже обрабатывается. Такие временные ответы обычно не отображаются на экране пользователей, но служат внутренними кодами для браузеров.
  • 2XX. Обозначают успешную обработку полученного запроса. Они используются браузерами для подтверждения того, что запрос был принят, обработан и отражают его текущий статус.
  • 3XX. Это коды перенаправления. Говорят о том, что серверу нужно выполнить дополнительные действия — например, перейти по редиректу на новый адрес.
  • 4XX. Говорят об ошибке на стороне пользователя. Чаще всего появляются, если время ожидания браузера истекло или запрос был введен неправильно.
  • 5XX. Говорят об ошибке сервера. Это значит, что вы запрашиваете специфический ресурс и он найден, но сервер не может дать вам к нему доступ. В конечном счете, запрос не может быть обработан.

Не все ответы сервера можно увидеть прямо на экране, большинство так и остаются внутренними кодами для браузеров и поисковых роботов. Чтобы быстро узнать статус любой страницы, откройте инструменты разработчика в браузере Chrome (нажмите F12). Перейдите на вкладку Network, обновите страницу и получите список статусов каждого элемента, включая саму страницу:

панель веб-мастеров

Именно в этих трех цифрах в колонке Status зашифрованы данные о состоянии страницы: можно ли ее сканировать, находится ли она по этому адресу, загружается ли все ее содержимое и т. д. 

Какие же коды ответов сервера встречаются чаще всего? И что они значат для оптимизации сайта? Давайте внимательно рассмотрим самые полезные для SEO ответы и способы их обработки.

Ответы серверов, которые встречаются чаще всего 

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

301 Moved Permanently 

Говорит о том, что URL был навсегда перенесен на новое место. Браузеры самостоятельно переходят по 301 переадресации — никакого действия от пользователя не требуется. 

301 moved permamently
«Перемещено навсегда»

301 код ответа обычно используют при переводе сайта с HTTP на HTTPS, склейке зеркал (страниц с www и без www), настройке слеша в конце URL, а также при переносе части сайта или всех страниц на новый домен. Этот редирект идеально подходит, если вы хотите передать ссылочный вес старой страницы на новую и сохранить результаты SEO-продвижения. 

Совет: Старайтесь не перенаправлять пользователей с удаленного URL на главную страницу сайта. Например, в вашем интернет-магазине есть карточка с неактуальным товаром, но с неплохой ссылочной массой. Вы хотите сохранить этот вес и ставите 301 редирект на главную. Здесь и кроется ошибка! Такой редирект воспринимается Google как 404 Soft, а это означает, что поисковик не будет передавать сигналы со старого URL на новый. В такой ситуации всегда перенаправляйте страницу на максимально похожую (или 404, если аналогичная страница отсутствует). 

Кроме того, избегайте цепочек редиректов с двумя и больше переадресациями, так как они создают дополнительную нагрузку на сервер и даже могут помешать пользователям перейти на ваш сайт как небезопасный. Google не индексирует дальше 4-го редиректа, и после каждого теряется вес, поэтому лучше ставьте прямые редиректы (вместо 1 -> 2 -> 3, сразу 1 -> 3). 

пример цепочки редиректов

Через несколько лет можете смело удалять 301, чтобы уменьшить нагрузку на сервер. 

302 Found / Moved Temporarily

В отличие от постоянного 301 редиректа, этот — временный. Он говорит о том, что страница найдена, но пока размещена по другому адресу.

Обычно его путали с 301, а после того, как Google объявил, что все 3хx редиректы передают ссылочный вес, — ситуация усугубилась. По факту, его нужно ставить, если вы точно уверены, что будете использовать старый URL снова. Как раз об этом вы и сообщаете поисковику с помощью 302 сигнала, а он в ответ оставляет весь ссылочный вес за старой страницей.

302 found
«Найдено»

Если вы будете использовать 302 редирект на постоянной основе, Google в конечном итоге воспримет его как 301 со всеми вытекающими последствиями. Также проверьте, нет ли на вашем сайте 302 редиректов, которые на самом деле должны быть 301 — такая ошибка встречается очень часто.

304 Not Modified

Сервер отдает 304 Not Modified ответ, когда страница остается неизменной со времени последнего посещения.

Все браузеры хранят в своем кэше данные заголовка Last-Modified. В свою очередь, это позволяет им точно знать, когда страница была в последний раз изменена. И когда поисковые роботы заходят на страницу и видят, что значение заголовка совпадает с уже сохраненным в кэше, сервер возвращает 304 ответ.

304 not modified
«Не изменялось»

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

Лучший ответ сервера для оптимизатора ― 200 ОК. Он означает, что запрос успешно обработан. Но 304 несет ту же нагрузку. Как правило, на новые страницы и первое посещение должен выдаваться ответ 200, на все последующие, если не произошло изменений — 304.

403 Forbidden

Этот код ответа говорит о том, что пользователю запрещен доступ к странице.

403 forbidden
«Запрещено»

403 ошибка может появиться, если пользователь вошел на сайт, но у него нет разрешения для доступа к закрытой внутренней сети. Например, если я попытаюсь зайти в кабинет админа SE Ranking по прямому URL, используя пароль и логин личного аккаунта, на экране будет 403 ошибка «Нет доступа». Также 403 ошибка возникает, если индексный файл для главной указан неправильно. Он обязательно должен иметь название index и расширение: *.shtml, *.html, *.htm, *.phtml или *.php.

Кроме того, когда вы переносите сайт на HTTPS, то 403 ответ появится, когда DNS-кэш ещё не успел обновиться, а вы уже что-то от него хотите. Лучше подождите, или, если это вопрос жизни и смерти, обновите кэш принудительно.

Совет: страницы с 403 кодом ответа в конечном итоге будут удалены из индекса, поэтому Google рекомендует использовать 404 ответ вместо 403.

404 Not Found

Самая «любимая» ошибка в SEO. Говорит о том, что сервер ничего не нашел по указанному адресу, хотя соединение между сервером и клиентом прошло успешно.

404 not found
«Не найдено»

Не стоит переживать, если вы увидите много 404 страниц в своей Google Search Console. Поисковик просто сообщает вам, какие страницы удалены, а вам уже решать, нужно ли их проверять. Но что стоит точно сделать — убрать все ссылки на удаленные страницы, чтобы не путать посетителей при навигации по вашему сайту.

Обычно мы видим этот код ошибки, когда вводим неправильный URL в браузер и, как следствие, пытаемся получить доступ к несуществующей странице. Или, например, владелец сайта удалил страницу без редиректа URL по новому адресу. Как результат — 404 ошибка. Чтобы решить проблему, посетителю нужно перепроверить написание URL или попробовать найти информацию на сайте самостоятельно через поиск, а владельцу ресурса ― исправить «битые» ссылки на рабочие. 

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

Как настроить 404 страницу для своего сайта

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

пример 404

Если ваша CMS (система управления контентом) не создала 404 страницу, вы можете создать ее самостоятельно. 

С помощью htaccess

Самый простой способ настроить страницу с 404 ошибкой — добавить сообщение об ошибке, например ErrorDocument 404 “<H1> Not Found </ H1>” в сам файл .htaccess. 

В результате у вас должно получиться что-то вроде этого:

пример 404 без дизайна

Через PHP

Вы можете использовать функцию заголовка и менять контент 404 страницы в зависимости от разных сценариев (например, юзер сделал ошибку в URL самостоятельно или уже перешел по «битой» ссылке с какого-то ресурса). 

Детальнее — в этой инструкции. 

Через WordPress

У вас есть несколько вариантов:

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

Подробности можно узнать здесь.

410 Gone

Этот ответ говорит о том, что страница или документ не доступны по указанному адресу и новый адрес неизвестен. 

Более того, инструмент проверки URL в Google Search Console обозначает 410 ответы как 404, что приводит к еще большему количеству 404 ошибок, обнаруженных в консоли.

410 gone

«Удалено»

410 ответ чаще всего встречается на страницах с низким трастом, без ссылок или тех, что удалены безвозвратно. Например, с товаром, которого больше не будет в продаже.

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

410 ответ сервера

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

503 Service Unavailable

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

503 service unavailable

«Сервис недоступен»

В большинстве случаев 503 появляется, если сервер перегружен, например, превышено ограничение на число входящих запросов или сервер проходит техническое обслуживание.

Могут быть ещё такие причины:

  • DDOS-атака на сайт.
  • Использование большого количества скриптов и других элементов с внешних ресурсов: виджеты, картинки.
  • Запросы к базе данных и извлечение оттуда информации занимают слишком много времени.
  • Чрезмерное количество обращений к сайту от поисковиков, пользователей или сервисов по парсингу сайта.

Совет: в идеале в сообщении с 503 ошибкой обязательно нужно указать, что пользователю нужно вернуться на сайт через Х времени. К сожалению, так очень редко делают — обычно просят попытать удачу позже.

И последнее, но не менее важное: код состояния 503 не позволяет поисковым системам индексировать сайт. Кроме того, он сообщает, что сайт плохо обслуживается, потому что пользователи не могут попасть, куда хотели. Поэтому важно, чтобы неполадки были устранены как можно быстрее — иначе это скажется на позициях сайта.

Как настроить 503 страницу для своего сайта через PHP

Вот как выглядит код состояния 503 в PHP:

<?php
header("HTTP/1.1 503 Service Temporarily Unavailable");
header("Status: 503 Service Temporarily Unavailable");
header("Retry-After: 3600");
?>

Больше подробностей можно почитать в этой инструкции.

Как проверить коды состояния всех страниц на сайте

Чтобы быть в курсе всего, что происходит на вашем сайте, нужно мониторить коды состояния всех ваших страниц. Конечно, для этого можно использовать расширение Live HTTP Headers для Chrome или отчет «Покрытие» в Google Search Console, но лучше, если вы проанализируете ответы до того, как до них доберутся поисковые роботы.

Если вы хотите быстро проверить коды состояния всех страниц вашего сайта одним кликом, обязательно попробуйте наш инструмент «Аудит сайта». 

Инструмент не просто проверит все страницы на вашем сайте и проанализирует ключевые параметры оптимизации, но и выполнит SEO-аудит всего ресурса по важным техническим параметрам, найдет ошибки и даже подскажет методы их решения. 

анализ оветов сервера

Все статусы страниц вы увидите в основном отчете, в котором проанализированы технические параметры, страницы, мета-теги, ссылки и контент. 

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

Если же вас интересуют только коды состояния всех страниц, просто перейдите на вкладку «Сканированные страницы». Все данные можно экспортировать в формате XLS для подробного изучения:

ответы сервера всех страниц

Безусловно, найти ошибки в кодах ответов это только полдела. Решать проблемы, связанные с ошибками сервера, вам все равно придется самостоятельно, но сам поиск ошибок у вас теперь будет занимать считанные минуты. Оптимизировав коды состояния своих страниц, не забудьте отправить их на повторную индексацию. 

Чтобы сдать этот экзамен на отлично, мы подготовили для вас шпаргалку по правилам HTTP-знаков с лучшими SEO-советами. Теперь какой бы знак не встретился у вас на пути, вы будете знать, что делать. 

инфографика с ответами сервера

Юлия — контент-маркетолог c 10-летним опытом работы в журналистике, копирайтинге, рекламе и PR.
Своим опытом и знаниями она делится, создавая полезные статьи про SEO и диджитал-маркетинг для блога SE Ranking и популярных медиа.
Когда Юлия не пишет статьи, она осваивает новые асаны, путешествует и помогает волонтерской организации YWCA.

На этой странице описывается, как коды статуса HTTP, а также ошибки сети и DNS отражаются на позиции вашего контента в Google Поиске. Мы поговорим о 20 наиболее распространенных кодах статуса, которые обнаруживает на веб-страницах робот Googlebot, а также о самых частых ошибках сети и DNS. Такие редко встречающиеся коды, как 418 (I'm a teapot), в этой статье не рассматриваются. Все перечисленные на этой странице проблемы приводят к появлению ошибки или предупреждения в отчете об индексировании страниц, доступном в Search Console.

Коды статуса HTTP

Когда сервер, на котором размещен сайт, получает запрос клиента (например, браузера или поискового робота), в ответ он отправляет код статуса HTTP. Каждый такой код имеет свое значение, но многие из них предполагают, что запрос будет обрабатываться одинаково. Например, о переадресации могут сигнализировать несколько разных кодов.

Сообщения об ошибке, генерируемые в Search Console, относятся к кодам статуса в диапазоне 4xx–5xx, а также к неудачной переадресации (3xx). Если в ответе сервера указан код статуса 2xx, полученный контент может быть проиндексирован.

В таблице ниже приведены коды статуса HTTP, с которыми чаще всего сталкивается робот Googlebot, и пояснения о том, как обрабатывается каждый такой код.

Коды статуса HTTP

2xx (success)

Роботы Google проверяют, можно ли проиндексировать контент. Если контент не загружается, например появляется пустая страница или сообщение об ошибке, в Search Console будет зарегистрирована ошибка soft 404.

200 (success)

Страница передается на индексирование. Наши алгоритмы могут проиндексировать контент, но это не гарантировано.

201 (created)
202 (accepted)

Робот Googlebot ждет некоторое время, не загрузится ли страница, а затем передает ее для индексирования. Время ожидания зависит от агента пользователя. Например, у робота Googlebot для смартфонов и у Googlebot Image оно разное.

204 (no content)

Робот Googlebot сообщает алгоритмам индексирования, что контент не получен. В отчете об индексировании страниц этого сайта в Search Console может быть указана ошибка soft 404.

3xx (redirection)

Робот Googlebot выполняет до 10 переходов в цепочке переадресаций. Если за это время поисковый робот не получает контент, в отчете об индексировании страниц этого сайта в Search Console будет указана ошибка переадресации. Количество переходов робота Googlebot зависит от агента пользователя, например у роботов Googlebot Smartphone и Googlebot Image оно будет отличаться.

Googlebot выполняет пять переходов в цепочке переадресаций согласно спецификации RFC 1945. Затем он прерывает операцию и интерпретирует ситуацию как ошибку 404.

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

301 (moved permanently)

Робот Googlebot выполняет переадресацию, а алгоритм индексации интерпретирует это действие как явный сигнал того, что перенаправление должно выполняться на каноническую страницу.

302 (found)

Робот Googlebot выполняет переадресацию, а алгоритм индексации интерпретирует это действие как неявный сигнал того, что перенаправление должно выполняться на каноническую страницу.

303 (see other)
304 (not modified)

Робот Googlebot сообщает алгоритму индексирования, что страница не была изменена с момента предыдущего сканирования. В связи с этим система может по-новому интерпретировать сигналы, относящиеся к определенному URL. Если же она этого не сделает, то код статуса не повлияет на индексацию.

307 (temporary redirect) Этот код интерпретируется так же, как и 302.
308 (moved permanently) Этот код интерпретируется так же, как и 301.

4xx (client errors)

Роботы Google не индексируют URL с кодом статуса 4xx, а те URL, которые уже проиндексированы и выдают код статуса 4xx, удаляются.

Роботы Googlebot игнорируют любой контент, получаемый с URL, которые возвращают код статуса 4xx.

400 (bad request)

Все ошибки 4xx, за исключением 429, обрабатываются таким же образом. Googlebot сообщает, что контент отсутствует.

Если ранее URL был проиндексирован, мы удалим его из индекса.
Обнаруженные страницы с кодом 404 не обрабатываются. Частота сканирования постепенно снижается.

401 (unauthorized)
403 (forbidden)
404 (not found)
410 (gone)
411 (length required)
429 (too many requests)

Робот Googlebot интерпретирует код статуса 429 как сигнал того, что сервер перегружен и что имеет место его ошибка.

5xx (server errors)

В случае ошибок сервера 5xx и 429 роботы Google временно замедляют сканирование. Уже проиндексированные URL сохраняются в индексе, но в скором времени удаляются.

Если файл robots.txt выдает ошибку сервера более 30 дней, будут выполняться правила, указанные в последней кешированной копии этого файла. Если такой копии нет, роботы Google будут действовать без ограничений.

Роботы Googlebot игнорируют любой контент, получаемый с URL, которые возвращают код статуса 5xx.

500 (internal server error)

Робот Googlebot снижает скорость сканирования сайта. Частота сканирования уменьшается пропорционально количеству отдельных URL, которые возвращают ошибку сервера.
Google удаляет из индекса URL, постоянно возвращающие такую ошибку.

502 (bad gateway)
503 (service unavailable)

Ошибки soft 404

Ошибкой soft 404 называется ситуация, когда посетитель веб-страницы видит сообщение о том, что ее не существует, при этом браузер получает ответ с кодом статуса 200 (success). Этот код означает «Успешно». В некоторых случаях открывается страница, на которой нет основного или вообще никакого контента.

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

  • Отсутствие файла SSI
  • Ошибка при обращении к базе данных
  • Пустая внутренняя страница результатов поиска
  • Незагруженный или отсутствующий по другой причине файл JavaScript

Мы не рекомендуем возвращать код статуса 200 (success), а затем выводить сообщение об ошибке или указывать на наличие ошибки на странице. Пользователи могут подумать, что попали на действующую страницу, но после этого увидят сообщение об ошибке. Подобные страницы исключаются из Google Поиска.

Если алгоритмы Google по контенту страницы определяют, что она содержит сообщение об ошибке, то в отчете об индексировании страниц этого сайта в Search Console будет указана ложная ошибка soft 404.

Порядок исправления ошибок soft 404

Есть разные способы устранения ошибок soft 404 в зависимости от состояния сайта и от желаемого результата:

  • Страница и ее контент больше не доступны
  • Страница или ее контент были перенесены
  • Страница и ее контент по-прежнему существуют

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

Страница и ее контент больше не доступны

Если страница удалена и для нее нет замены на вашем сайте с аналогичным контентом, нужно отправлять ответ с кодом статуса 404 (not found) или 410 (gone). Эти коды статуса сообщают поисковым системам, что страницы не существует, а контент не нужно индексировать.

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

  • Пользователям должно быть понятно, что запрашиваемая страница недоступна. Текст сообщения должен быть вежливым и привлекающим внимание.
  • Страница 404 должна быть выполнена в том же стиле (включая элементы навигации), что и основной сайт.
  • Разместите на странице ссылки на самые популярные статьи или записи блога, а также на главную страницу.
  • Дайте пользователям возможность сообщать о неработающих ссылках.

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

Страница или ее контент перемещены

Если страница перенесена или у нее есть замена, отправляйте ответ с кодом 301 (permanent redirect), чтобы перенаправлять пользователей. Посетителям сайта это не помешает, а поисковые системы узнают новое расположение страницы. Чтобы узнать, правильный ли код ответа отправляется при открытии страницы, используйте инструмент проверки URL.

Страница и ее контент по-прежнему существуют

Если нормально работающая страница вызвала ошибку soft 404, вероятно, она не была корректно загружена роботом Googlebot, во время отрисовки не были доступны важные ресурсы или показывалось заметное сообщение об ошибке. Проанализируйте отрисованный контент и код ответа HTTP с помощью инструмента проверки URL. Если на обработанной странице нет или очень мало контента или он вызывает ошибку, ошибка soft 404 может быть обусловлена тем, что страница содержит ресурсы (например, изображения, скрипты и прочие нетекстовые элементы), которые не удается загрузить.
Возможные причины проблем с загрузкой – блокировка доступа в файле robots.txt, слишком большое количество ресурсов или слишком большой их размер, а также любые ошибки сервера.

Ошибки сети и DNS

Ошибки сети и DNS отрицательно влияют на показ URL в результатах поиска Google.
Робот Googlebot интерпретирует тайм-ауты сети, факты сброса подключения и ошибки DNS так же, как и ошибки серверов 5xx. В случае сетевых ошибок сканирование начинает постепенно замедляться, поскольку сетевая ошибка означает, что сервер может не справиться с нагрузкой. Так как роботы Googlebot не смогли получить доступ к серверу, на котором размещен сайт, значит, им не удалось извлечь контент. В результате Google не может проиндексировать ранее просканированные URL, а недоступные нашим роботам URL, которые уже были проиндексированы, будут удалены из индекса Google в течение нескольких дней. Search Console может создавать сообщения о каждой возникающей ошибке.

Ошибки отладки сети

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

  • Проверьте настройки брандмауэра и записи в журнале. У вас может быть задано слишком общее правило блокировки. Нужно, чтобы ни одно правило брандмауэра не блокировало IP-адреса робота Googlebot.
  • Проанализируйте сетевой трафик с помощью таких инструментов как tcpdump и Wireshark. Они помогут вам найти в пакетах TCP аномалии, относящиеся к определенному сетевому компоненту или модулю сервера.
  • Если вы не можете найти ничего подозрительного, обратитесь к своему хостинг-провайдеру.

Ошибка может относиться к любому серверному компоненту, который обрабатывает сетевой трафик. Возможно, что перегруженные интерфейсы сети не могут передавать пакеты, что приводит к тайм-аутам (невозможности установить подключение) и сбросу подключений (отправляется пакет RST, поскольку порт был закрыт по ошибке).

Устранение ошибок DNS

Ошибки DNS чаще всего вызваны неправильной конфигурацией, но могут также возникать из-за правил брандмауэра, которые блокируют DNS-запросы робота Googlebot. Чтобы устранить ошибки DNS, выполните следующие действия:

  • Проверьте правила брандмауэра. Нужно, чтобы ни одно правило не блокировало IP-адреса Google и чтобы были разрешены запросы как по протоколу UDP, так и по протоколу TCP.
  • Проверьте записи DNS. Убедитесь, что записи A и CNAME ведут на правильные IP-адреса и имена хостов. Пример:

    dig +nocmd example.com a +noall +answer
    dig +nocmd www.example.com cname +noall +answer
  • Убедитесь, что все ваши DNS-серверы указывают на правильные IP-адреса вашего сайта. Пример:

    dig +nocmd example.com ns +noall +answer
    example.com.    86400  IN  NS  a.iana-servers.net.
    example.com.    86400  IN  NS  b.iana-servers.net.
    dig +nocmd @a.iana-servers.net example.com +noall +answer
    example.com.    86400  IN  A  93.184.216.34
    dig +nocmd @b.iana-servers.net example.com +noall +answer
    ...
  • Если вы внесли изменения в конфигурацию DNS в течение последних 72 часов, на их применение во всей сети DNS может потребоваться некоторое время. Чтобы ускорить внедрение новых настроек, вы можете очистить общедоступный кеш DNS.
  • Если вы используете собственный DNS-сервер, убедитесь, что он исправен и не перегружен.

Коды ответов сервера или, как их еще называют, коды состояния HTTP (англ. HTTP Status Codes) передаются в заголовке ответа сервера на запрос клиента по протоколу HTTP, и содержат информацию о том, насколько серверу удалось обработать запрос клиента.

Звучит сложновато? На самом деле ничего сложного в этом нет. Смотрите..

Для начала нужно разобраться, что такое клиент и сервер, и, как говорится, зачем они вам. Клиент-серверная архитектура лежит в основе привычного нам интернета. Контент сайтов и приложений находится на серверах, и для доступа к нему используются программы-клиенты, которые умеют взаимодействовать с серверами (они также являются программами) по различным сетевым протоколам (каналам), в частности по протоколу HTTP.

Взаимодействие клиента и сервера происходит путем обмена сообщениями. Сообщения от клиента называются запросами (request), а сообщения от сервера — ответами (response). Каждое сообщение должно содержать заголовок и может содержать так называемое тело.

client_server_architecture.png

Когда какой-либо веб-клиент (браузер или поисковый робот) запрашивает у сервера информацию (страницу, файл или другие данные), сервер пытается выполнить запрос и отдать результат клиенту (ведь клиент всегда прав ;) Если серверу это удается, он сообщает об этом (в заголовке ответа) и отдает (в теле ответа) то, что нужно клиенту. Но бывает и такое, что сервер не может найти нужный файл/страницу, или он перегружен запросами, или для доступа к контенту нужна авторизация, или еще что-то. Обо всем этом он также должен сообщить клиенту. Клиент и сервер общаются они при помощи кодов. Получив ответ от сервера, клиент должен его обработать согласно коду состояния.

Эти коды стандартизированы и используются всеми серверами и клиентами, которые взаимодействуют при помощи протокола HTTP. Они состоят из 3 цифр, первая из которых указывает на класс (категорию) кода статуса. Существует 5 классов:

1ххInformation (Информация) — временные коды, при помощи которых сервер сообщает клиенту о том, что он принял и обрабатывает запрос

  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing

2ххSuccess (Успешное выполнение) — передаются при успешной обработке запроса

  • 200 OK
  • 201 Created
  • 202 Accepted
  • 203 Non-Authoritative Information
  • 204 No Content
  • 206 Partial Content

3ххRedirection (Перенаправление) — сообщают о том, что для выполнения запроса клиенту нужно выполнить дополнительные действия.

  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found
  • 303 See Other
  • 304 Not Modified
  • 307 Temporary Redirect
  • 308 Permanent Redirect

4ххClient Error (Ошибка на стороне клиента) — сервер сообщает, что не может выполнить запрос, т.к. он содержит ошибку.

  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 406 Not Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 411 Length Required
  • 412 Precondition Failed
  • 413 Payload Too Large
  • 414 URI Too Long
  • 415 Unsupported Media Type
  • 416 Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 421 Misdirected Request
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 451 Unavailable For Legal Reasons

5ххServer Error (Ошибка на стороне сервера) — запрос был принят, но сервер не может его обработать

  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 507 Insufficient Storage
  • 508 Loop Detected

Кодов, как вы ведите, очень много, и вам, конечно же, не нужно забивать ими голову. Но некоторые, наиболее часто встречающиеся, полезно знать.

Давайте рассмотрим указанные выше классы с их наиболее распространенными кодами и особенно подробно разберем последние два класса кодов.

1хх Информационные коды

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

100 Continue

Этот код ответа означает, что сервер удовлетворён начальными сведениями о запросе, и клиент может продолжать. Получение такого HTTP кода может потребоваться, если клиенту нужно отправить на сервер большой объем данных (например, через метод POST) и перед отправкой этих данных нужно убедиться, в том, что сервер сможет их принять.

101 Switching Protocols 

При помощи HTTP кода 101 сервер предлагает клиенту переключиться на более подходящий для указанного ресурса протокол. Список предлагаемых протоколов передается в заголовке ответа Update.

102 Processing

Код ответа 102 информирует клиента о том, что полученный от него запрос принят в обработку, но для его выполнения потребуется время. Получив такой ответ, клиент должен дожидаться выполнения запроса и не разрывать соединение с сервером (сбросить таймер и ожидать следующего ответа).

2хх Успешное выполнение

Коды этого класса передаются, если запрос от клиента был успешно получен, принят, обработан и выполнен сервером.

200 OK

Код статуса 200 OK является, наверное, самым важным, т.к. он означает, что сервер успешно выполнил то, что от него хотел клиент. Например, если клиент запрашивал определенную страницу, в ответе сервера, вместе с HTTP статусом 200, он также найдет и ее HTML-код. А если в запросе клиента были данные (например, заполненной формы регистрации), которые нужно было обработать, в ответе, помимо кода 200, будет информация о результате обработки.

201 Created

Этот HTTP код сообщает клиенту о том, что в результате его запроса был создан новый ресурс (например, запись в блоге или комментарий). Обычно, этот код передается в ответ на запрос с методом PUT. Кроме кода 201, в ответе сервера также передается ссылка на созданный ресурс.

202 Accepted

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

203 Non-Authoritative Information

Данный код означает, что сервер понял и принял запрос, но возвращаемая им информация могла устареть или является неактуальной, т.к. взята из другого источника (например, с другого сервера или из резервной копии) и поэтому, полученные данные не стоит воспринимать как авторитетные.

204 No Content

HTTP код 204 означает, что сервер успешно обработал запрос, но в своем ответе не передает каких либо данных, и поэтому клиенту не следует обновлять содержимое документа.

206 Partial Content

206_partial_content.jpg

Этот код сообщает клиенту о том, что сервер передает только часть запрошенного ресурса, т.к. в своем запросе клиент указал диапазон данных (заголовок диапазона (Range Header). Это позволяет докачивать прерванные загрузки или разбивать скачивание на несколько потоков).

3хх Перенаправление

HTTP коды этого класса сообщают клиенту о том, что для выполнения его запроса требуются дополнительные действия (например, отправка запроса по другому адресу — перенаправление).

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

300 Multiple Choices

HTTP код 300 означает, что по указанному адресу находятся сразу несколько ресурсов (например, файлы с разным MIME-типом, разные языковые версии страницы, разные форматы видео- или аудио-ресурса), и сервер предлагает клиенту выбрать из списка ресурсов, который также передается в ответе.

301 Moved Permanently

Если клиент получает от сервера ответ с кодом HTTP статуса 301 Moved Permanently — это значит, что запрашиваемый ресурс окончательно перенесен на новое место, так сказать на ПМЖ ;) (permanent — постоянный). Новый адрес также передается в заголовке ответа.

301_moved_permanently.jpgЕсли вы переносите проиндексированную поисковиками страницу и не хотите потерять трафик на нее, убедитесь, что по старому адресу возвращается код 301 Moved Permanently. Тогда поисковая система склеит оба адреса. 

302 Found (ранее Moved Temporarily)

Код 302 Found используется сервером для сообщения клиенту о том, что запрашиваемый ресурс был (временно) перемещен по новому адресу, где его все-таки удалось найти. Вместе со статусом 302 сервер передает заголовок с новым адресом.

Многие клиенты, в нарушение стандарта, для перехода по новому адресу используют метод GET, даже если в начальном запросе использовался другой метод (POST/PUT/DELETE), что может привести к непредвиденным последствиям. Чтобы этого избежать, следует использовать статусы 303 и 307.

303 See Other

Этот код означает, что сервер успешно обработал запрос клиента, но предлагает ему перейти по другому адресу (также передается в этом ответе), используя метод GET.

Такое можно часто встретить на сайтах, работающих на движке WordPress. Когда вы что-то пишете в поле поиска и нажимаете на клавишу Enter, открывается не список результатов поиска, а наиболее релевантный результат. Происходит примерно следующее: клиент отправляет запрос с поисковой фразой методом POST на сервер, где установлен WP, который выбирает наиболее подходящий результат и возвращает ответ с кодом 303 See Other и адресом выбранной статьи. Получив этот ответ, клиент (браузер) переходит по указанному адресу.

304 Not Modified

Код статуса HTTP 304 Not Modified означает, что хотя запрашиваемый ресурс и был найден по указанному адресу, его версия не отличается от указанной в заголовке запроса (If-Modified-Since), поэтому нет необходимости пересылать его снова.

307 Temporary Redirect

Этот код означает, что запрашиваемый ресурс находится по другому адресу (он тоже передается в ответе), но последующие запросы нужно направлять по старому адресу. В отличие от кода 302, этот статус не позволяет менять метод запроса, т.е. если в первом запросе использовался метод POST, то и в запросе по новому адресу должен использоваться POST.

308 Permanent Redirect

Этот HTTP код, как и код 301 означает, что запрашиваемый ресурс окончательно перенесен на новое место, но в отличие от него, как и 307 код, не позволяет менять метод запроса.

4xx Ошибка на стороне клиента

Данный класс содержит коды, информирующие, что сервер не смог вернуть запрашиваемый ресурс по вине клиента (допущена ошибка в запросе или не выполнены действия, которые должны предшествовать запросу и т.д.) В большинстве случаев вместе с кодом ошибки сервер возвращает пояснение, в котором сказано, что за ошибка произошла, является ли она временной или постоянной. Это пояснение клиент должен вывести пользователю.

Ошибка 400 Bad Request

Что означает 400 Bad Request?

Дословно Bad Request переводится как «плохой запрос». При помощи HTTP кода 400 сервер сообщает клиенту, что не может обработать запрос из-за допущенной в нем синтаксической ошибки.

Не смотря на то, что класс кодов 4хх говорит о том, что ошибка произошла на стороне клиента, часто бывает, что сервер из-за неправильной конфигурации или ошибки в скриптах не может обработать стандартный запрос клиента и выдает ошибку 400.

Как исправить 400 Bad Request? 

Ниже описаны некоторые характерные причины ошибки 400 и способы их устранения.

На стороне клиента

  • В адресе запрашиваемого ресурса допущена ошибка. Проверьте, правильно ли указан путь, нет ли ошибок в регистре (некоторые части URL могут быть чувствительны к регистру), нет ли недопустимых спец. символов (например, пробела).
  • Клиент пытается загрузить файл, размер которого превышает максимально допустимый. Убедитесь, что загружаемый вами файл меньше допустимого размера и загрузка файлов такого типа разрешена.
  • Сервер распознает в запросе клиента признаки ложного запроса и, расценив его как атаку, блокирует. В своем запросе клиент должен передавать определенные заголовки, которые позволяют серверу его идентифицировать. Если этих заголовков нет или сервер находит в них ошибку, он отвечает HTTP кодом 400. Часто такая ситуация возникает, клиент использует устаревшие и недействительные файлы куки. Поэтому стоит их удалить или, если вы авторизованы, выйти из аккаунта и снова войти.

На стороне сервера

  • Ошибка 400 появилась после недавнего обновления CMS сайта или добавления/обновления используемых им плагинов. Если это так, попробуйте «откатиться» до предыдущей версии и/или удалить недавно установленные плагины.
  • Ошибка 400 появилась без вмешательства в код. Необходимо проверить логи сервера, чтобы понять, что могло ее вызвать, т.к. причины могут быть самые разные от неправильной конфигурации сервера до опечаток в исходном коде сайта.

Ошибка 401 Unauthorized

Что означает HTTP статус 401 Unauthorized?

Unauthorized переводится как «неавторизован». При помощи кода 401 сервер сообщает клиенту, что для доступа к ресурсу требуется авторизация, и клиент должен отправить в следующем запросе заголовок WWW-Authenticate с именем пользователя и паролем. В противном случае, либо если передано неверное имя или пароль, сервер снова вернет ошибку 401.

401_unauthorized.jpg

Как исправить 401 Unauthorized? 

Если вы пользователь сайта

  • Убедитесь, что вы запрашиваете правильный ресурс (страницу, файл). Возможно, в адресе допущена ошибка и вы пытаетесь открыть страницу, доступ к которой ограничен.
  • Попробуйте предварительно залогиниться на сайте, и уже потом запросить нужный ресурс.
  • Убедитесь, что вы ввели корректные данные для авторизации (логин и пароль).
  • Попробуйте удалить кэш браузера. Часто браузер кэширует введенные вами неправильные данные и затем пытается их передать серверу. Удалить куки этого сайта также не повредит.
  • Просто обновите страницу, либо закройте ее и откройте снова. Иногда этого бывает достаточно.
  • Если ни один из предыдущих способов не помог, свяжитесь с администрацией сайта и сообщите об этой ошибке.

Если вы владелец сайта

  • Если ваш сайт работает на одной из популярных CMS (WordPress, Joomla, Drupal) и использует какие-либо плагины, особенно те, которые так или иначе связаны с безопасностью, возможно, именно они вызывают данную ошибку. Попробуйте отключить их все и затем последовательно включать по одному, проверяя сайт на наличие ошибки 401.
  • Возможно, вы используете способ дополнительной защиты некоторых частей своего сайта, ограничивая доступ к ним HTTP-авторизацией через .htaccess/.htpasswd. Если это так, попробуйте временно отключить эту защиту и убедитесь, что вы не ограничиваете доступ к страницам, которые должны быть в открытом доступе.
  • Сервер мог временно ограничить доступ к запрашиваемому ресурсу, расценив действия клиента как злонамеренные. В таком случае нужно просто расслабиться и позаниматься чем-то другим, а затем через какое-то время попробовать снова.

Ошибка 402 Payment Required

Этот HTTP статус пока не получил широкого распространения. Код 402 зарезервирован для использования в будущем. Сейчас его можно встретить, например, при превышении дневного лимита запросов к Google Developers API, ну или в названии одного из эпизодов сериала Mr. Robot ;)

Ошибка 403 Forbidden

Что означает 403 Forbidden?

Дословно Forbidden переводится как «запрещен». Когда сервер возвращает HTTP код 403 Forbidden это значит, что, несмотря на то, что переданный клиентом запрос содержит валидные данные и понятен, сервер все-таки отказывает в его выполнении, и клиенту не следует пытаться повторить этот запрос.

Ошибка 403 может появляться в двух случаях:

  • Владельцы сайта правильно настроили систему безопасности и доступ к запрашиваемому ресурсу для вас ограничен (вы не авторизованы, у вас недостаточно прав или вы пытаетесь выполнить действие, которое для вас недоступно).
  • Владельцы сайта неправильно настроили систему безопасности, из-за чего вы не можете получить доступ к ресурсу, который должен быть для вас открыт.

Как исправить 403 Forbidden?

Если вы посетитель сайта

  • Проверьте, не допущена ли ошибка в адресе ресурса (страницы, директории, файла и т.д.), к которому вы пытаетесь получить доступ. Возможно, вы «стучите не в ту дверь».
  • Убедитесь в том, что вы авторизованы на сайте.
  • Обновите страницу или попробуйте зайти позже. Возможно, ошибка вызвана некорректной настройкой сайта и его владельцы уже пытаются ее устранить.
  • Очистите кэш и куки. Бывает, что браузер передает устаревшие или некорректные учетные данные.
  • Если ничего не помогает, сообщите владельцам сайта об этой ошибке.

Если вы владелец сайта

  • Попробуйте переименовать файл .htaccess. Если после этого ошибка 403 исчезла, значит проблему следует искать в этом файле (и в гугле).
  • Зайдите на сайт по протоколу FTP или воспользуйтесь файловым менеджером в панели управления сайтом и убедитесь, что запрашиваемые ресурсы имеют нужные права доступа (CHMOD), например 755.
  • Попробуйте отключить на своем сайте все плагины и затем последовательно включайте их по одному, проверяя сайт на наличие ошибки 403.

Ошибка 404 Not Found

Что означает 404 Not Found?

Это наверное самая часто встречающаяся, и потому, самая широко известная ошибка. Дословно Not Found переводится как «не найдено». Когда сервер возвращает HTTP код 404 Not Found это значит, что он не смог найти по указанному адресу запрашиваемый ресурс. При этом сервер как бы не исключает возможности того, что ресурс может появиться снова, поэтому не запрещает клиенту обращаться с данным запросом позже.

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

Но чаще код 404 означает, что ресурс перемещен или удален. Хотя в случае перемещения страницы или файла, серверу полагается возвращать HTTP код 301 Moved Permanently и новый адрес ресурса, а в случае удаления — код 410 Gone, т.к. для использования обоих этих статусов требуются дополнительные настройки сервера, на многих сайтах просто отдается дефолтный HTTP код 404.

Как исправить 404 Not Found?

Если вы посетитель сайта

  • Проверьте, не допущена ли ошибка в адресе ресурса (страницы, директории, файла и т.д.). Возможно, вы ищите его не там, где надо. Убедитесь, что в адресе не используются недопустимые спец. символы (например, пробел). Кроме того, т.к. некоторые части URL могут быть чувствительны к регистру, убедитесь, что правильно используете в адресе заглавные и строчные буквы.
  • Попробуйте подняться на уровень выше. Например, если вы ищете http://example.com/a/b/c и получаете ошибку 404, попробуйте перейти на http://example.com/a/b, а в случае той же ошибки — на http://example.com/a и т.д.
  • Воспользуйтесь навигацией по сайту. В основном, контент на сайтах логически структурирован и организован. Если вы знаете, что ищете, попробуйте воспользоваться меню или виджетами сайта, чтобы это найти.
  • Воспользуйтесь поиском по сайту. На большинстве современных сайтов есть система поиска. Попробуйте поискать интересующую вас страницу по ее названию.
  • Воспользуйтесь поиском Яндекс или Google. Вы можете поискать интересующий вас ресурс, введя в поле поиска имеющийся адрес. Если в нем допущена ошибка, поисковик предложит вам правильный вариант. Кроме того, вы можете поискать страницу на нужном сайте при помощи специальных операторов (например в Яндексе, site:siterost.net cпособы монетизации сайта).
  • Очистите кэш браузера. Возможно, вы получаете HTTP код 404 именно из-за него.
  • Если ни один из перечисленных способов не помог, попробуйте зайти позднее или связаться со службой поддержки сайта.

Если вы владелец сайта

  • Когда пользователь не находит то, что ищет, в большинстве случаев, он просто закрывает вкладку и покидает ваш сайт, возможно, навсегда. Поэтому важно максимально сократить количество ошибок 404. Чтобы найти те страницы, на которых они возникают, воспользуйтесь инструментами Яндекс.Вебмастер и Google Search Console.
  • После того, как вы нашли страницы, которые отдают код 404, проанализируйте их. Возможно, посетителей этих страниц следует перенаправить по другому адресу при помощи 301 редиректа.
  • Проверьте файл .htaccess на наличие ошибок в правилах перенаправления (Rewrite rule)
  • Восстановите удаленные страницы, если, конечно, они нужны.
  • Сделайте информативную страницу 404, которая будет информировать пользователя, о том, что интересующий его контент нужно поискать в другом месте. На страницу 404 можно добавить форму поиска, списки основных разделов, важных страниц, последних записей и т.д.

Ошибка 405 Method Not Allowed

Дословно Method Not Allowed переводится как «метод не разрешен». При помощи кода 405 сервер сообщает клиенту, о том, что используемый тип HTTP-запроса по данному адресу не поддерживается. Например, клиент передает GET-запрос по адресу, где ожидаются данные формы, отправленные через POST, или клиент пытается обновить доступный только для чтения ресурс через метод PUT. 

Ошибка 406 Not Acceptable

Дословно Not Acceptable переводится как «недопустимо». Такой код передается сервером, когда запрашиваемый ресурс не может вернуть контент в формате, указанном клиентом в заголовке запроса Accept.

Ошибка 407 Proxy Authentication Required

Что означает 407 Proxy Authentication Required?

Дословно Proxy Authentication Required переводится как «требуется авторизация прокси». Если в ответе сервера передается HTTP код 407, это значит, что запрос клиента не может быть выполнен, т.к. отсутствуют данные для авторизации на прокси-сервере, через который производится обмен данными. Этот код по смыслу похож на код 401 Unauthorized (Неавторизован), но в отличие от него, говорит о том, что клиенту нужно авторизоваться не на самом сервере, а на прокси-сервере, который находится между ними.

Получив неавторизованный запрос, прокси-сервер возвращает статус 407 вместе с заголовком Proxy-Authenticate, в котором сообщается, какой тип авторизации требуется (type, самый распространенный тип авторизации в данном случае Basic), и какие привилегии она дает (realm). В ответе клиента должен содержаться заголовок Proxy-Authorization с типом авторизации (тот же, что и в полученном от прокси-сервера ответе, в основном Basic) и данные для авторизации (credentials, в случае если ее тип Basic, закодированную в Base64 строку вида username:password).

Как исправить 407 Proxy Authentication Required?

Не смотря на то, что коды класса 4хх свидетельствуют об ошибках на стороне клиента, причиной ошибки 407 Proxy Authentication Required может быть и некорректная настройка основного сервера или прокси-сервера, через который передается запрос. Все же, начать поиски причины этой ошибки следует с клиента.

Если вы посетитель сайта

  • Проверьте, не допущена ли ошибка в адресе ресурса (страницы, директории, файла и т.д.). Строгие настройки безопасности сервера могут блокировать доступ ко всем ресурсам, кроме разрешенных. Возможно, вы запрашиваете то, что для вас недоступно.
  • Попробуйте обновить страницу или зайти позже. Возможно, ошибка 407 вызвана некорректной настройкой сервера или работающих на нем скриптов, и администраторы сайта работают над ее устранением
  • Очистите кэш и куки.
  • Если ничего не помогает, и вы уверены, что должны иметь доступ к заблокированному контенту, сообщите о проблеме администрации сайта.

Если вы владелец сайта

  • Начните поиск проблемы с CMS. Несмотря на то, что большинство популярных систем (WordPress, Drupal, Joomla) хорошо настроены и протестированы профессионалами, плагины/модули/расширения и т.д. часто создают, мягко говоря, менее профессиональные авторы. Поэтому, если вы недавно устанавливали какое-либо дополнение, возможно, причина ошибки 407 кроется в нем. Попробуйте отключить все новые дополнения, а затем последовательно их включить.
  • Проверьте базу данных. Возможно вы, или установленные вами расширения, внесли туда какие-либо изменения.
  • Проверьте файлы настройки сервера, в частности инструкции по обработке запросов. Скорее всего на вашем сервере установлено одно из двух самых распространенных серверных ПО: Apache или nginx.
  • Если используется Apache, проверьте файл .htaccess на наличие директив с префиксом Proxy (например, ProxyPass или ProxyPassReverse). Попробуйте их закомментировать и потестить.
  • Если используется nginx, проверьте файл nginx.conf на наличие директив с префиксом proxy_ (например, proxy_pass). Попробуйте закомментить их или блок директив, в котором они находятся.
  • Изучите логи вашего сервера. Возможно, ключ к решению проблемы, кроется в них. Чтобы найти логи используемого на вашем сервере ПО, поищите в Яндекс или Гугле «логи [название вашей CMS]» (например, логи WordPress), «логи [название языка, на котором написан ваш сайт]» (например, логи PHP), «логи [название вашего серверного ПО]» (например, логи Apache).

408 Request Timeout

Что означает 408 Request Timeout?

Дословно Request Timeout переводится как «тайм-аут запроса». Если в ответе сервера передается HTTP код 408, это значит, что время ожидания запроса клиента истекло и сервер разрывает соединение. При этом повторные запросы по данному адресу не запрещаются.

Как исправить 408 Request Timeout?

Если вы посетитель сайта

  • Обновите страницу. Возможно, ошибка 408 возникла из-за какого-либо временного сбоя в соединении. Чаще всего именно обновление страницы решает данную проблему.
  • Проверьте свое соединение с интернетом. Попробуйте открыть в новой вкладке Яндекс или Гугл. Если они грузятся так же как обычно, скорее всего ошибка 408 связана с работой конкретного сайта.
  • Если все сайты грузятся медленно, вероятно, проблема связана с вашим соединением. Попробуйте перезагрузить роутер.
  • Если ни один способ не помог, попробуйте зайти на сайт позже. Возможно, причина ошибки 408 Request Timeout находится на стороне сервера и к тому времени будет устранена.

Если вы владелец сайта

  • Отключите недавно установленные плагины, модули, темы оформления. Если ваш сайт работает на одной из популярных CMS, возможно, причиной ошибки 408 является некорректная работа расширений.
  • Проверьте файлы с инструкциями по обработке запросов на вашем сервере: .htaccess на Apache или nginx.conf на сервере nginx. В файле .htaccess поищите директории KeepAliveTimeout или RequestReadTimeout. А в nginx.conf нужно поискать директории client_body_timeout, client_header_timeout, или keepalive_timeout. Более подробную информацию вам придется погуглить.
  • Изучите логи вашего сервера. Они могут направить вас по нужному пути.

Ошибка 409 Conflict

Что означает 409 Conflict?

Дословно Conflict переводится как «Конфликт». Сервер возвращает HTTP код 409 в случае конфликтного обращения к ресурсу, например, когда два клиента пытаются изменить его при помощи метода PUT, либо клиент пытается загрузить на сервер с системой контроля версий файл, который старше уже загруженного.

409_conflict.jpg

В основном, код 409 отдает не сам сервер, а работающие на нем скрипты (CMS, системы контроля версий и т.д.)

Как исправить 409 Conflict?

  • Проверьте корректность URL. Если вы пытаетесь получить ресурс (т.е. используете метод GET), например, открыть страницу или скачать файл, и получаете ошибку 409 — скорее всего вы допустили ошибку в адресе ресурса.
  • Если вы изменяете ресурс, подождите немного. Возможно, одновременно с вами его пытается изменить кто-то еще.
  • Обновите страницу и попробуйте снова. Возможно, пока вы вносили изменения в ресурс (вернее в вашу копию ресурса), он уже был изменен кем то другим. И для того, чтобы внести свои изменения вам нужно сначала скачать обновленный ресурс.

Ошибка 410 Gone

HTTP статус 410 Gone означает, что запрашиваемый ресурс удален и больше не будет доступен по данному адресу. Если клиентом является поисковый робот, он должен удалить ресурс из своего индекса.

Ошибка 411 Length Required

Данный HTTP код сообщает клиенту о том, что в его запросе отсутствует заголовок Content-Length, требуемый ресурсом.

Ошибка 412 Precondition Failed

При помощи HTTP кода 412 сервер сообщает, что запрашиваемый ресурс не соответствует требованиям, которые клиент указал в заголовках запроса.

Ошибка 413 Payload Too Large

Данный код информирует о том, что сервер не может обработать запрос, т.к. он слишком большой.

Ошибка 414 URI Too Long

414_uri_too_long.jpg

HTTP код 414 сообщает клиенту о том, что запрос не может быть обработан из-за слишком длинного URI. Основной причиной ошибки является передача большого объема данных (например, из формы) через метод GET вместо POST.

Ошибка 415 Unsupported Media Type

HTTP код 415 означает, что запрос клиента отклонен т.к. содержит данные, тип которых ресурс не может обработать. Это может случиться, например, при загрузке на сервер файла, формат которого не поддерживается обработчиком загрузки.

Ошибка 416 Range Not Satisfiable

Этот статус возвращается если в запросе клиента присутствует заголовок Range с указанием байтового диапазона требуемого ресурса, который находится за пределами ресурса. Другими словами, клиент запросил часть ресурса, которую сервер не может предоставить. Вместе с ошибкой 416 сервер может вернуть заголовок Content-Range, в котором будет указан реальный размер ресурса.

Ошибка 417 Expectation Failed

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

Ошибка 418 I’m a teapot

Дословно сообщение I’m a teapot переводится как «я — чайник». В 1998 году в качестве первоапрельской шутки было создано рабочее предложение (RFC 2324) описывающее HTCPCP, протокол являющийся расширением HTTP, и предназначенный для взаимодействия клиента и кофеварки. Ошибка 418 должна возвращаться при попытке заварить кофе в чайнике. Такой вот гиковский юморок.

Не смотря на то, что статус 418 является шуточным, его поддерживают некоторые популярные фреймворки (например, Django и Symfony). А Google сделал специальную страницу, которая возвращает HTTP код 418 и «наливает чай».

Ошибка 421 Misdirected Request

Этот код означает, что запрос был направлен серверу, который не способен вернуть ответ. HTTP статус 421 может возвращаться сервером, который не настроен на создание ответов для комбинации схемы и полномочий, включенных в URI запроса.

Ошибка 422 Unprocessable Entity

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

Ошибка 423 Locked

Этот код говорит от том, что обращение к ресурсу с использованием указанного в запросе метода заблокировано.

Ошибка 424 Failed Dependency

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

Ошибка 426 Upgrade Required

При помощи этого кода сервер сообщает клиенту о необходимости переключиться на другой протокол (например, SSL). Вместе со статусом 426 в ответе должен содержаться заголовок Upgrade с указанием нужного протокола.

Ошибка 428 Precondition Required

Во избежание одновременного изменения одного ресурса несколькими клиентами используются условные http-запросы, содержащие заголовки If-Match, If-None-Match, If-Modified-Since и If-Unmodified-Since. При помощи кода 428 сервер обязывает клиент их использовать.

Ошибка 429 Too Many Requests

Что означает 429 Too Many Requests?

Дословно Too Many Requests переводится как «слишком много запросов». При помощи этого статуса сервер сообщает о том, что в сейчас не принимает запросы от данного клиента, т.к. за короткий промежуток времени их от него поступает слишком много. Вместе с кодом 429 сервер также передает заголовок Retry-After с указанием количества секунд, через которое клиент может повторить запрос.

429_too_many_requests.jpg

Как исправить 429 Too Many Requests?

В большинстве случаев возникновение ошибки 429 связано с тем, что клиент слишком часто отправляет запросы к какому-то ресурсу (например, к странице входа, подбирая пароль). Другой причиной может быть ограничение на количество запросов к ресурсу (например, лимит на количество обращений через REST API в час). Наиболее логичным в данном случае подчиниться рекомендации сервера и повторить запрос через время указанное в заголовке Retry-After. Если это не помогает — надо гуглить, т.к. решение проблемы зависит от конкретных обстоятельств ее возникновения.

Ошибка 431 Request Header Fields Too Large

431_header_fields_too_large.jpg

Этот HTTP код означает, что сервер отказывается выполнять запрос, т.к. содержащиеся в нем заголовки слишком большие (имеется в виду либо общий размер всех заголовков, либо размер какого-то одного, обычно это уточняется в теле ответа). Причинами этой ошибки часто бывают слишком длинный URL в заголовке Referer, а также большое количество кукисов (или кук, как кому больше нравится), отправленных вместе с запросом.

Ошибка 451 Unavailable For Legal Reasons 

Этот код означает, что сервер блокирует доступ к ресурсу или набору ресурсов в связи с требованием закона. Код 451 является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту», в котором описывает общество, где книги находятся под запретом.

5xx Ошибка на стороне сервера

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

Ошибка 500 Internal Server Error

Что означает 500 Internal Server Error?

Дословно Internal Server Error переводится как «Внутренняя ошибка сервера». Ошибка 500 является дефолтной и возвращается, когда более специфичные статусы не подходят. Поэтому найти ее причину довольно сложно. Это может быть как синтаксическая ошибка в коде скрипта-обработчика, так и ошибка диска или отсутствие какого-либо программного модуля, а также еще много всего.

Как исправить 500 Internal Server Error?

Если вы посетитель сайта

Так как 500 это серверная ошибка, вы мало что можете сделать. Все же можно попробовать следующее:

  • Обновите страницу. Возможно, ошибка уже устранена, и сайт нормально работает. Если это не помогло, попробуйте зайти позже. Вероятно, владельцам сайта требуется больше времени для ее устранения.
  • Удалите кэш и почистите куки. Они могут быть причиной того, что вы видите ошибку 500. Также можно попробовать открыть нужную страницу в другом браузере или на другом устройстве.
  • Проверьте правильность URL.
  • Если ничего не помогает, попробуйте связаться с администрацией сайта и сообщить об ошибке.

Если вы владелец сайта

  • «Откатите» все недавно внесенные изменения. Отключите недавно установленные плагины и расширения. Довольно часто 500 Internal Server Error возникает из-за ошибок в коде. Достаточно самой безобидной опечатки.
  • Проверьте права файлов и папок. В большинстве случаев для корректной работы требуются 0755 (-rwxr-xr-x).
  • Отключите сторонние ресурсы. Возможно, скрипт-обработчик запроса обращается к сторонним серверам и их ответ не укладывается в отведенные временные рамки. Если это так, попробуйте настроить соответствующие лимиты.
  • Проверьте файл .htaccess на наличие ошибок.
  • Изучите логи сервера. Скорее всего они вас на что-то наведут.

Как я уже сказал, причин возникновения ошибки 500 Internal Server Error может быть великое множество. Для начала попробуйте способы описанные выше. Если ничего не помогает — связывайтесь с поддержкой хостинга, у них, скорее всего, есть возможность более точно диагностировать эту проблему.

Ошибка 501 Not Implemented

При помощи HTTP кода 501 сервер сообщает о том, что механизм необходимый для выполнения запроса на нем пока не реализован. Эта ошибка обычно возникает, когда сервер не может обработать запрос указанным в нем методом.

Ошибка 502 Bad Gateway

Что означает 502 Bad Gateway?

Bad Gateway переводится на русский язык как «Неверный шлюз». Если в ответ на свой запрос клиент получает HTTP код 502, это значит, что сервер, к которому он обратился, выступает в роли прокси и, в свою очередь, получил неверный ответ от вышестоящего сервера.

502_bad_gateway.jpg

Причин возникновения данной ошибки может быть несколько. Вот несколько наиболее вероятных:

  • перегруженность сервера — большое количество одновременных запросов и/или выполняемых процессов, нехватка ресурсов (оперативной памяти, скорости процессора или диска);
  • таймаут соединения между серверами — сервер не укладывается с ответом в установленные лимиты;
  • неполадки с соединением — проблемы с маршрутизацией, блокировка запросов фаерволом, физические повреждения сети и т.д.
  • ошибки в коде скриптов, обрабатывающих запрос — синтаксические ошибки и опечатки в коде, устаревшие плагины, неоптимизированный код и т.д.
  • ребут сервера — перезагрузка основного сервера, вызванная, например, сбоями в его работе

Как исправить 502 Bad Gateway?

Если вы посетитель сайта

  • Обновите страницу. В основном, ошибка 502 связана с временными перебоями в работе сервера.
  • Попробуйте открыть страницу в другом браузере или на другом устройстве, чтобы убедиться, что ошибка вызвана проблемами на сервере. Если ошибка выводится только в этом браузере, очистите куки и удалите кэш.
  • Проверьте правильность URL. Возможно, в адресе страницы допущена ошибка, из-за которой браузер отправляет запрос, который сервер не может обработать.

Если вы владелец сайта

  • Проверьте, работает ли сервер. Возможно, ваш хостинг-провайдер проводит сервисное обслуживание (и не сообщил вам об этом заранее, так бывает), или сервер по какой-либо причине перезагрузился.
  • Если вы недавно изменяли записи DNS (переносили сайт на другой IP-адрес или переезжали к другому хостеру), внесенные изменения вступают в силу не мгновенно, этот процесс обычно занимает несколько часов. В данном случае нужно просто расслабиться и подождать.
  • Просмотрите серверные логи. В них, как правило, содержится много дополнительной информации об ошибках.
  • Проверьте конфигурацию фаервола. Из-за неверных настроек он может воспринимать некоторые запросы как атаку и блокировать их.
  • Отключите недавно установленные плагины/модули/расширения. Откатите все недавно внесенные изменения и затем поочередно вносите, постоянно тестируя работоспособность сервера.
  • Если ничего не помогает — свяжитесь со службой поддержки вашего хостинг провайдера.

Ошибка 503 Service Unavailable

Что означает 503 Service Unavailable?

Service Unavailable переводится на русский как «Сервис не доступен». HTTP статус 503 означает, что сервер не может обработать запрос т.к. в данный момент он перегружен запросами или находится на обслуживании (например, на нем идет обновление программного обеспечения).

Обычно это временное явление и, сервер, в идеале, должен сообщить, когда клиент может попробовать снова к нему обратиться, в заголовке Retry-After.

Как исправить 503 Service Unavailable?

Если вы посетитель сайта

  • Немного подождите. Сервер в данный момент перегружен запросами, не добавляйте ему работы.
  • Обновите страницу (нажмите Ctrl + R или Ctrl + F5). Ошибка 503 является временной, и, возможно, ситуация, которая привела к ее появлению, уже разрешилась.
  • Очистите кэш браузера. Вместе с кодом 503 сервер должен передать клиенту инструкции в отношении кэширования ответа, если он этого не сделал или клиент их не учел, ошибка могла быть записана в кэш.

Если вы владелец сайта

  • Проверьте, не находится ли сервер на запланированном (или незапланированном) обслуживании. Возможно, ваш хостинг-провайдер сообщал вам об этом заранее (а может и не сообщал), и в данный момент обновляет ПО на сервере. Кроме того, некоторые современные CMS обновляются автоматически и во время установки обновления возвращают код 503.
  • Возможно, ваш сервер действительно перегружен запросами (внезапный наплыв посетителей, DDoS-атака на ваш сайт или соседний сайт на этом же сервере). Если он настроен правильно, то во избежание «падения», блокирует какую-то часть запросов. В такой ситуации лучше ему не мешать.
  • Перезагрузите сервер. Этот простой способ часто бывает самым действенным. Ошибка может быть результатом узкого места в цепочке серверов, на которых размещается ваше приложение, поэтому простой ребут может вернуть все в рабочее состояние.
  • Проверьте логи сервера. Возможно, они натолкнут вас на ошибки в коде или в конфигурации сервера.
  • Откатите все недавние изменения в коде сайта, после чего попробуйте по очереди внести их обратно.
  • Обратитесь в службу поддержки хостинга.

Ошибка 504 Gateway Timeout

HTTP код 504 означает, что сервер, к которому обращается клиент, является шлюзом или прокси и он не смог выполнить запрос т.к. не дождался ответа от вышестоящего сервера.

Эта ошибка возникает в процессе взаимодействия серверов, поэтому вы, как посетитель сайта, вряд ли можете что-то сделать. Если вы столкнулись с ошибкой 504, пытаясь открыть какую-то страницу, попробуйте просто обновить ее при помощи Ctrl + F5 или зайти немного позже. Скорее всего, эта ошибка временная и возникла по причине того, что вышестоящий сервер в данный момент перегружен запросами, поэтому ваш прокси-сервер не может получить от него ответ в отведенные для этого рамки и разрывает соединение.

505 HTTP Version Not Supported

Код ответа 505 означает, что версия HTTP, указанная в запросе, сервером не поддерживается.

507 Insufficient Storage

Данный HTTP код сообщает клиенту о том, что на сервере не хватает места для выполнения запроса. Этот статус, в основном, используется для WebDAV клиентов, но может также заменять 413 Payload Too Large.

508 Loop Detected

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

В этой статье мы рассмотрели некоторые основные официальные коды ответов сервера, которые описаны в рабочих предложениях (RFC). Кроме них есть и неофициальные HTTP коды, специфичные для определенных программных продуктов и приложений (Apache, nginx, Cloudflare, AWS и др.). О них я расскажу в одной из следующих статей.

Довольно часто вы можете столкнуться с такими ошибками, как 404 и 301, но есть много кодов статуса HTTP, с которыми вы, вероятно, не знакомы.

Некоторые из них напрямую связаны с сервером или с клиентом, а некоторые уже не актуальны, поэтому вы вряд ли увидите их в реальной жизни, но ради интереса и базовых знаний их можно исследовать.

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

100 301 405 417 450
101 302 406 418 451
102 303 407 422 500
200 304 408 423 501
201 305 409 424 502
202 306 410 425 503
203 307 411 426 504
204 400 412 428 505
205 401 413 429 506
206 402 414 431 507
207 403 415 444 509
300 404 416 449 510

1xx информационные коды

100 Continue Server Code (Продолжение кода сервера)
Код 100 Continue обозначает «нормальную работу». Он указывает, что пользователь сделал качественный запрос, и сервер начал его обрабатывать. Это временный код статуса HTTP, появляющийся лишь в тех отдельных случаях, когда пользователь ожидает окончательный ответ со стороны сервера. Он возникает только после отправки последнего пакета данных.

Когда такой статус-код можно использовать? Это внутренний статус, бывают случаи, когда он не появляется, особенно если пользователю уже удалось получить некоторые данные из сервера. Это что-то похожее на месседж, в котором сообщается, что соединение установилось качественно, и вы можете зайти на сайт. Отправьте данные, но не забудьте закрыть дверь, когда вы закончите (подразумевается код окончательного ответа).

101 Switching Protocols (Переключение протоколов)
Вероятно, это один из простейших кодов сервера. Он означает, что пользователь попросил переключить используемый тип протокола, и веб-сервер согласился на такой шаг.
Когда вы можете его применить? Если осуществляется переход на новую версию HTTP из старой версии протокола. Такой запрос будет выполняться только в том случае, если существует более подходящий протокол (другими словами, если есть более новая версия HTTP).

102 Processing (Обработка)
Поскольку запрос WebDAV (протокол передачи), кроме основного запроса может включать и ряд других подзапросов, подразумевая также и файловые операции, то для его выполнения может потребоваться больше времени.
Когда можно использовать этот код? Он создается для того, чтобы уведомить пользователя и обнулить таймер. Дальше будет активировано ожидание следующей директивы в стандартном режиме, поскольку обработка запросов способна затянуться по времени.

2xx Success (Успех)

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

200 OK
Код состояния 200, наверное, является наиболее популярным, но в то же время очень неприметным в плане использования. Он указывает, что передача данных между сервером и пользователем подошла к завершению, и все прошло так, как должно.
Когда этот код нужно использовать? Постоянно!

201 Created (Создан)
В связи с успешным выполнением запроса создался новый ресурс. К примеру, благодаря запросу юзера сгенерирован такой ранее не существующий веб-ресурс, как новая страница. Исходной сервер настроен так, что обязан создать ресурс еще до отправки 201 кода. Если документ не может быть сгенерирован своевременно, сервер использует в качестве альтернативы код 202 (принят).

202 Accepted (Принят)
Текущий запрос был передан в стадию обработки, но в силу объективных факторов является незавершенным. Запрос к серверу может быть не завершенным, это зависит от факта, успешно ли прошла обработка и не отклонили ли его.

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

203 Non-Authoritative Information (Недостоверная информация)
Серверу удалось полностью обработать запрос, но передаваемые данные не были взяты из первостепенного источника (резервная копия, другой сервер и т. д.) и поэтому информация может быть нерелевантной. Этот код имеет большое сходство с 200 серверным ответом, но указывает, что данные не были получены из источника.

Когда применяют подобный ответ сервера? Ним можно заменить 200 код, если отправитель имеет веские основания полагать, что заголовки ответов из внешнего источника отличаются от тех, которые были предоставлены исходным сервером.

204 No Content (Нет контента)
Этот код является ответом сервера, который указывает, что запрос получили и поняли. Но при этом не существует данных, которые могут быть отправлены пользователю. В основном такой код используется для активации скриптов без необходимости внесения изменений в веб-документ. Нужно, чтобы указанный код не содержал основного сообщения, и он должен быть вставлен в первую строку с кодом, которая является доступной сразу после заголовка.

Когда применяется такой код? Он используется в первую очередь, когда вы должны вводить или выполнять любые действия без необходимости в обновлении ресурса (например, страницы).

205 Reset Content (Сброс контента)
Код обозначает успешную обработку запроса сервером c отсутствующим возвратом контента. В отличие от 204 кода, этот ответ требует, чтобы документ был обновлен.

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

206 Partial Reset (Частичный сброс)
Сервер возвращает только часть контента, которая соответствует заголовку, отправленному клиентом. В основном его используют расширенные инструменты кэширования. Такое бывает, когда пользователь хочет получить лишь небольшую часть контента страницы, а сервер в своем ответе предоставляет данные только для этой части страницы.

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

207 Multi-Status (Мультистатус)
Сервер параллельно предоставляет результаты нескольких независимых операций, которые включаются в тело сообщения в виде XML-документа.

3xx Редирект

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

300 Multiple Choices (Множественный выбор)

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

В каких случаях будет применен этот ответ сервера? В типичном случае, его можно наблюдать, если сервер получил информацию, что URL-адрес, предоставленный пользователем (иными словами, браузер пользователя), имеет неподходящий индекс и предлагает дополнительный выбор. В обычном порядке такое происходит, когда пользователи применяют URL-адрес к каталогу не последнего уровня, а сервер предлагает им выбор доступных документов или директории последующего уровня.

301 Moved Permanently (Удален навсегда)
Это общий запрос пользователя, который означает, что запросы на этот ресурс (а также запросы, которые последуют за ним) следует перенаправить на указанный URL.

Когда он используется? Когда страница потеряна, больше не существует, или линк, ведущий на внешний документ, больше неработоспособен. 301 редирект дает пользователю понять, что запрошенный ресурс переместили. В основном он выполняется с помощью файла .htaccess, который доступен на серверах Apache.

302 Found (Найден)
Этот код говорит пользователю, что местоположение запрашиваемого веб-документа было временно изменено, а код состояния 302 включает данные о новом размещении, к которому пользователь может делать запрос.

Где такой код может применяться? Он имеет несколько форматов использования, большинство из которых соответствуют первоначальному предназначению кода. А вначале он был базовым методом создания временной переадресации. Однако, на сегодняшний день существует несколько других – этичных и неэтичных способов его использования.

303 See Other (Смотреть другой)
Он является индикатором того, что искомый ресурс можно найти по URL-адресу, который отличный от того, что указан в запросе. Это не обязательно значит, что ресурс был перемещен. Этот код только предоставляет адрес, который должен запрашиваться при аналогичном ответе.

Когда может применяться этот код? Этот способ в основном существует, чтобы позволить выходным файлам POST-активированных скриптов перенаправлять агента пользователя на избранный веб-ресурс.

304 Not Modified (Не изменен)
304 означает, что пользователь запрашивает документ / ресурс только тогда, когда он был изменен с момента последних обновлений кеша этого документа.

В каких случаях может применяться этот код? Если ответ сервера сообщает вам, что параметры документа If-Modified-Since или If-Match не изменились со времени генерирования последнего кеша. Тогда нет нужды повторно отправлять ресурс на проверку.

305 Use Proxy (Использовать прокси)
305 код дает понять пользователю, что доступ к запрашиваемому ресурсу осуществим только через прокси-сервер, указанный в ответе.
Когда он показывается? Он часто отображается в связи с мерами безопасности и обеспечивает доступ к запрашиваемым URL-адресам.

306 Switch Proxy (Переключить прокси)
Изначально он означал, что «последующие запросы должны использовать указанный прокси», но в настоящее время не используется.

307 Temporary Redirect (Временный редирект)
Такой код отображается, если открываемый ресурс временно используется для другого URL-адреса, который также содержится в ответе. 307 немного отличается от 302 кода – он является его более конкретной версией.

Когда он используется? Он выводится почти в аналогичных ситуациях, что и при 302, но пользователь должен продолжать запрашивать исходный URL-адрес при следующих запросах или до того времени, пока не будет выведен другой статус сервера.

4хх Ошибка клиента

Класс ответов 4xx указывает на ошибки на стороне клиента или тот факт, что местоположение никогда (или уже) не существовало.

400 Bad Request (Плохой запрос)
Запрос не обрабатывается правильно в связи с синтаксической ошибкой.
Для чего предназначен этот код? Если пользователь делает запрос на информацию, но при этом пренебрегает протокольными правилами передачи гипертекста. Запрос не следует делать повторно без надлежащих перемен в синтаксисе.

401 Unauthorized (Неавторизирован)
Он имеет отношение к запросу ресурса, который нуждается в авторизации. Код 401 информирует, что предварительную авторизацию отклонили, поскольку переданные пользовательские данные были неверные.

Когда он отображается? В случаях, если пользователь делает запрос и использует при этом некорректные входные данные для авторизации (среди них, логин и пароль).

402 Payment Required (Требуется оплата)
Этот код сервера забронирован на будущее. Но, изначально предполагалось, что такой статус можно будет использовать при расчетах специальными формами электронных денег. Но ему так и не нашлось применения.

Какова сфера применения этого кода? Старый сервис Apple MobileMe сообщал об 402-ошибке, если аккаунт пользователя в MobileMe подозревался в любой форме злоупотреблений его ресурсами. Также видеохостинг Youtube использует этот статус, если некий IP-адрес использует чрезмерно большое количество запросов. Поэтому пользователю приходится ввести CAPTCHA.

403 Forbidden (Запрещен)
Пользователь пробует добиться доступа к веб-ресурсу, на который у него нет прав, а авторизация здесь никак не может помочь.
Что насчет применения этого кода? Он используется, когда сервер может понять запрос, но не разрешает выполнить его, поскольку у клиента имеются ограничения доступа к текущему разделу. Обычно такое наблюдается, если веб-ресурс не предназначен для открытого доступа.

404 Not Found (Не найден)
Большинство пользователей знакомо с 404 ошибкой. Она указывает на то, что искомый ресурс невозможно найти, но в будущем – когда он может появиться там – к нему можно получить доступ. Также здесь разрешаются все следующие обращения от клиента. Но в большом количестве таких случаев используется код редиректа класса 3xx, и пользователь перенаправляется на альтернативный ресурс или местоположение.
Когда демонстрируется этот код? Довольно часто, особенно если страницу удалили или переместили. Часто в таких случаях сервер в автоматическом режиме генерирует доступную страницу с ошибкой 404.

405 Method Not Allowed (Метод не разрешен)
Метод, посредством которого осуществляется запрос к ресурсу, является недоступным. Иными словами, появляется ошибка при попытке использовать функцию в формате GET, тогда как требуется ввод данных через метод POST (либо с помощью метода PUT с веб-документами только для чтения).

Когда появляется такой статус-код? Ошибки 405 выходят через их отношение со специфическими объектами страницы, для которых и выполнялось обращение к серверу. К примеру, если часть запроса скрипта имеет отличия с запросом пользователя, подразумевавшего применение этого скрипта.

406 Not Acceptable (Недопустимо)
Запрашиваемый ресурс имеет возможность генерировать только тот контент, который не может использоваться в Accept-хедерах самого запроса. Браузер может обеспечить сервер характеристиками данных, которые будут приниматься из сервера.

В каких случаях такой код может быть использован? В ситуациях, когда форма файла ресурса, который запрашивается не подходит под формат, доступный для распознавания пользователем. Речь здесь идет прежде всего о языке программирования, а не о английском!

407 Proxy Authentication Required (Нужна авторизация прокси)
Как и статус-код 401, значение 407 обозначает, что клиенту следует предварительно авторизоваться через прокси-сервер. Для выполнения этого действия и осуществления процесса авторизации, прокси-сервер должен вернуть поле с заголовком Proxy-authenticate, которое отвечает стандартам, предъявляемым сервером.
Когда появляется этот статус-код? В случаях, если сервер «убежден», что запрос данных от клиента является правильным, но получить доступ к веб-ресурсу возможно лишь через авторизацию с помощью прокси-сервера.

408 Request Timeout (Тайм-аут запроса)
Истекло время ожидания сервером ретрансляции от клиента.
Когда такой статус-код применяться? Используя спецификацию W3 HTTP: «Со стороны клиента не поступало запроса в выделенном временном интервале, когда его ждал сервер. Клиент имеет возможность повторить запрос в любое время».

409 Conflict (Конфликт)
Код 409 является индикатором ситуации, когда запрос не выполняется в связи с противоречивостью обращения к веб-документу.
Когда он применятся? Пользователь может получить такой код в случае загрузке файла на веб-сервер, где расположена более поздняя версия этого файла, что приводит к конфликту между версиями в системе управления.

410 Gone (Исчез)
Сервер дает подобный ответ, если раньше ресурс находился по определенному URL-адресу, но его удалили и на данный момент он недоступен. Пользователю не следует несколько раз повторять одно и то же самое обращение.

Когда применяется такой статус-код? В ситуации, когда уже не представляется возможным получить доступ к ресурсу посредством этого запроса, а на сервере не содержатся данные о гипотетическом местонахождении ресурса. Если сервер подозревает, что веб-документ могут восстановить в ближайшие сроки, то клиенту лучше передать код 404.

411 Length Required (Требуется длина)
Запрос не указывает длину контента, и запрашивался в совершенной форме.
Когда этот код показывается? Когда браузер не определяет длину запрашиваемого содержимого в заголовке запроса. Сервер не будет принимать запрос без валидного поля заголовка контента.

412 Precondition Failed (Сбой предварительного условия)
Сервер не отвечает на одно из предварительных условий, которые отправитель указал в запросе. Иными словами, один или несколько заголовков запросов были возвращены с атрибутом false.

Когда этот код может применяться? В случаях, когда заголовок запроса, который делает валидный запрос к ресурсу, сообщает, что это конкретное обращение не применимо к этому конкретному ресурсу.

413 Request Entity Too Large (Объект запроса слишком большой)
Код 413 отображается в случаях, когда сервер отказывается обрабатывать запрос, потому что тело запроса слишком велико.
Когда этот код может применяться? При использовании метода POST с контентом, который больше по объему, чем сервер, способен обработать.

414 Request-URL Too Long (URL запроса слишком длинный)
Этот код отображается, когда сервер не может обработать запрос, потому что указанный URL слишком длинный.
Когда этот код может применяться? Когда POST-запрос преобразуется в GET-запрос. POST-запрос поддерживает отправку неограниченного количества данных, объединяя их при обращении к серверу. Однако, если запрос должен быть преобразован в GET-формат, он позволит привязать данные формы к URL-адресу, что даст возможность хранить информацию в больших размерах, чем она была доступна.

415 Unsupported Media-Type (Неподдерживаемый тип)
Код 415 отправляется, для указания, что сервер заметил часть запроса, которая была сделана в неподдерживаемом формате.
Когда отображается такой код? Когда в запросе не указываются какие-либо типы носителей, поддерживаемые ресурсом или сервером. Например, пользователь запрашивает изображение в расширении, которое не поддерживается веб-сервером. Сервер знает, что запрашивалось, но не понимает формат, в котором хотели получить ресурс.

416 Requested Range Not Satisfiable (Диапазон не подходит)
Этот ответ пользователь получает, когда он запрашивает часть ресурса, но в то же время этот фрагмент не может быть предоставлен.
Когда такой статус может применяться? Когда сервер запрашивает байты XXX-YYY ресурса, но ресурс немного меньше, чем указано при обращении.

417 Expectation Failed (Ошибка ожидания)
Такой статусный ответ получают, когда по какой-то причине сервер не удовлетворяет значение поля Expect заголовка запроса.
Когда этот код может применяться? Все абсолютно прозрачно. Когда один из заголовков запросов, заголовок «Expect», получает обращение, на которое сервер не в состоянии ответить.

418 I’m a teapot (Я чайник)
Этот код был создан в 1998 году как одна из традиционных шуток на первое апреля IETF, в RFC 2324, как Hyper Text Coffee Pot Control Protocol и вряд ли он когда-нибудь будет обрабатываться современными HTTP-серверами.

Может ли он использоваться? Конечно нет, все это было -15 лет назад и делалось ради смеха.

422 Unprocessable Entity (Необрабатываемый объект)
Сервер принял запрос и понял его суть, но не может выполнить обращение из-за содержания в нем некоторых семантических ошибок.
Когда используется этот статус-код? Когда на стороне сервера прошло успешное принятие обращения, и сервер способен работать с указанным форматом данных; в теле запроса XML-документ содержит правильные синтаксические конструкции, но также в нем содержится какая-либо логическая ошибка, в связи с которой не представляется возможным управлять ресурсом.

423 Locked (Заблокирован)
Целевой ресурс, указанный в запросе, блокируется в связи с применением к нему определенного метода. Чтобы сделать ресурс доступным, следует разблокировать его или предоставить корректные данные авторизации.
Когда этот код может применяться? Когда ресурс является закрытым, в основном это делается в целях обеспечения безопасности.

424 Failed Dependency (Неудачная зависимость)
424 код сообщает, что выполнение текущего запроса напрямую зависит от успешности другой операции, и если она не будет правильно завершена, то вся обработка запроса остановится.

425 Unordered Collection (Неупорядоченная коллекция)
Код 425 показывается пользователю, когда ресурс определяется одним из черновиков расширенного протокола коллекций WebDAV (Advanced Collections Protocol), но отсутствует в Advanced Collections Protocol и Versioning Ordered Collections Protocol.

426 Upgrade Required (Нужно обновление)
Этот код показывается, когда сервер дает клиенту инструкции по обновлению протокола (переключения на другой или новый протокол) Когда используется код? Обычно, когда в браузере используются устаревшие протоколы.

428 Precondition Required (Требуется предпосылка)
Исходный сервер требует указать предварительные условия при обращении. Этот код разработан во избежание конфликтных версий ресурса в тех ситуациях, когда клиент получает (GET) состояние ресурса, изменяет и отправляет (PUT) его обратно на сервер, и в то же время какая-то третья сторона также изменяет местоположение прямо на севере, что приводит к конфликту.

Когда этот код может применяться? По запросу индикации условий, сервер как бы дает гарантии клиентам, что они используют правильную текущую копию ресурса. Если это не совсем так, то пользователь получает ошибку 428.

429 Too Many Requests (Слишком много запросов)
Этот ответ отправляется, если со стороны клиента поступало слишком большое количество обращений за короткий промежуток времени.
Когда используется этот код? Когда пользователь отправляет слишком много обращений за краткосрочный период.

431 Request Header Fields Too Large (Поля заголовков слишком большие)
Появляется, когда сервер не намерен совершать обработку запроса, поскольку какое-нибудь из полей заголовка (или все существующие поля) слишком велики.
Когда он применяется? Базово, когда заголовок запроса, поступающий от юзера больше, чем способен обработать сервер. Обращение можно повторить после того, как поля заголовка в нем будут сокращены.

444 No Response (Нет ответа)
Используется в лог-файлах сервера Nginx, для указания, что сервер не передавал информацию обратно пользователю и закрыл соединение.
Какова сфера применения кода? В основном он использовался как инструмент защиты от вредоносного софта.

449 Retry With (Microsoft) (Повторить попытку)
Расширение Microsoft, которое указывает, что запрос следует повторить после завершения соответствующего действия.
Когда этот код может применяться? Он часто создается, когда настройки запроса не соответствуют тому, что способен проверить сервер.

450 Blocked by Windows Parental Controls – Microsoft (Заблокировано родительским контролем Windows)
Расширение Microsoft. Эта ошибка возникает, когда в параметрах родительского контроля Windows установлена блокировка доступа к некоторым веб-документам.
Когда применяется 450 код? В случае, если родители (зная об этой функции) прибегают к использованию родительского контроля, а id-access запросил доступ к заблокированному ресурсу.

451 Unavailable For Legal Reasons (Недоступен по юридическим причинам)
Новый HTTP-код статуса для ресурсов, которые заблокированы по юридическим соображениям. Применяется, чтобы указать, что доступ к нужному веб-ресурсу заблокировали по юридическим мотивам: например, посредством цензуры или правительства.

5xx Ошибка сервера

Коды 5xx выделены для случаев неудачной работы на стороне сервера.
Эти ответы сервера часто отображаются, когда запросы пользователя не могут быть обработаны сервером по той или иной причине. Сервер должен иметь специальное сообщение для браузера, которое должно отображаться пользователю – оно уведомляет, что сервер (по какому-либо поводу) не в состоянии произвести обработку запроса.

500 Internal Server Error (Внутренняя ошибка сервера)
Этот статус сообщает о внутренней ошибке сервера, которая не совпадает с другими ошибками того же класса.
Этот код используется, если ресурс или ссылка создается на сервере (например, календарь в системе резервирования), который технически не существует как ссылка или доступный ресурс, но пользователь видите их как ссылки.

501 Not Implemented (Не поддерживается)
Сервер либо не понимает метод запроса, либо не поддерживает инструкции, нужные, чтобы обработать обращение.
Вы можете столкнуться с указанным кодом 501, когда сервер не имеет поддержки стандартных протоколов запросов, среди которых GET, OPTIONS, HEAD, POST и т. д.

502 Bad Gateway (Плохой шлюз)
Пользователь увидит 502 код, если сервер, работает в качестве шлюза или прокси-сервера, и он получил недопустимый ответ от сервера верхнего уровня.
Когда используется подобный код? Обычно, когда сервер высшего уровня и прокси / шлюз не согласованы с протоколами, которые представленными в обращении. Как результат появляется ошибка обмена данных.

503 Server Unavailable (Сервер недоступен)
Код 503 означает, что возникли технические причины, из-за которых сервер на определенное время не способен обработать набор данных.
Его допустимо использовать в случаях, когда на сайт есть повышенный спрос, но у сервера нет возможности обрабатывать все входящие запросы.

504 Gateway Timeout (Тайм-аут шлюза)
Сервер как шлюз или прокси-сервер не дождался ответа от вышестоящего сервера, чтобы завершить текущий запрос.
Когда этот код может применяться? Когда прокси или шлюз используют как канал передачи данных, а два сервера при этом ожидают на ответ.

505 HTTP Version Not Supported (Версия HTTP не поддерживается)
Сервер не поддерживает версию HTTP протокола, обозначенную при обращении к нему.
Где используется такой код? В тех случаях, которые были указаны выше! Если HTTP протокол более старый, чем нужно серверу, и, как следствие, он не поддерживается.

506 Variant Also Negotiates (Вариант также перенаправляется)
Такой ответ сервера последует, если при оформлении ошибочной конфигурации выбранный параметр указывает сам на себя, что приводит к прерыванию процесса связи.
Когда он применяется? Когда сервер настроен неправильно и не может обработать запрос.

507 Insufficient Storage (Недостаточно места)
Ошибка 507 имеет место, когда сервер не может разместить данные, поскольку для текущего запроса недостаточно пространства.
Этот код может быть применен, когда сервер загружен в полном объеме, а пользователь запрашивает ресурс, который уже имеется в наличии. Трудность здесь заключается в том, что на сервере нет места для хранения отправленных в запросе данных, чтобы отправить запрашиваемый ресурс.

509 Bandwidth Limit Exceeded (Превышена пропускная способность)
Этот код ответа используется, когда веб-сайт лимитирует ограничение трафика, предназначенное для него.
Когда используется этот статус? Когда Apache запускает правильное расширение, а ISP имеет пропускную способность, которая может быть скоро превышена. Здесь имеется несколько форм ограничения.

510 Not Extended (Нет расширения)
Код 510 появляется, когда на сервере нет расширения, которое хочет использовать клиент. Когда этот код появляется? Когда сервер требует больше данных в запросе.

511 Network Authentication Required (Требуется аутентификация сети)
Этот статус-код демонстрируется, если клиенту следует сначала авторизоваться в сети, к примеру, необходимо ввести пароль для платного доступа в сеть Интернет.
Когда используется этот код? Когда пользователь сначала должен дать свое согласие на условия использования, прежде чем он получит доступ к Интернету (например, к Wi-Fi точке доступа).

Ирина Крутко

SEO специалист

Ирина — SEO-эксперт Sitechecker. Она отвечает за категорию и обзоры веб-хостингов. Одержима исследованиями, разработкой и созданием ценного контента.

Мы увеличиваем посещаемость и позиции в выдаче. Вы получаете продажи и платите только за реальный результат, только за целевые переходы из поисковых систем

Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».


Подпишись на рассылку и получи книгу в подарок!

коды ошибок

Роботы общаются между собой. Не только в Японии или голливудских блокбастерах, а прямо сейчас, пока вы читаете статью. Только язык общения у них специфический, и вам нужно понимать его, если хотите знать, как выстраивать работу над улучшением сайта. Для этого нужно изучить коды состояния HTTP. Чтобы вы ориентировались в грамматике,  перевели статью с Yoast об основах основ.

  • Что такое коды состояния HTTP и почему вы их видите?

  • Различные классы

  • Наиболее важные коды состояния HTTP для SEO

    • 200: OK / Успешно

    • 301: Перемещено навсегда

    • 302: Найдено

    • 307: Временное перенаправление

    • 403: Запрещено

    • 404: Не найдено

    • 410: Удален

    • 451: Информация недоступна по юридическим причинам

    • 500: Внутренняя ошибка сервера

    • 503: Сервис недоступен

  • Работа с кодами состояния HTTP

  • В заключение

Коды состояния HTTP, такие как 404, 301 и 500, едва ли имеют значение для пользователей, но для оптимизаторов они невероятно важны. Мало того, что роботы поисковых систем (как Googlebot) используют их для определения здоровья сайта, коды состояния помогают узнать, что происходит между браузером и сервером. Некоторые из них указывает на ошибку, например, сигнализируют о том, что запрошенное содержимое не может быть найдено, в то время как другие просто выводят запрашиваемый материал. В этой статье мы пристальнее посмотрим на важнейшие коды HTTP заголовков и узнаем, что они означают для SEO.

Что такое коды состояния HTTP и почему вы их видите?

Код состояния HTTP – это сообщение, которое посылается сервером при отправке запроса с браузера, о том, может ли быть выполнен запрос или нет. Согласно официальной спецификации W3C, существуют десятки кодов состояния, со многими из которых вы вряд ли столкнетесь. А если столкнетесь, полный обзор возможных вариантов можно посмотреть на HTTPstatuses.com.

Чтобы понять эти коды, вам стоит знать, как браузер получает веб-страницу.

Добраться до веб-сайта пользователь может двумя способами – набрав URL сайта или введя запрос в строке поиска. После этого браузер посылает запрос на IP-адрес сайта, для получения соответствующей веб-страницы. Сервер отвечает браузеру, отправляя код состояния, встроенный в заголовок HTTP. Когда все нормально, код заголовка HTTP 200 отправляется обратно в браузер, вместе с запрошенным контентом.

Однако с запрашиваемым контентом или сервером что-то может быть не так. Например, не найдена страница (тогда возвращается код ошибки 404) или есть временная техническая проблема с сервером, в результате чего появляется код внутренней ошибки сервера 500. Эти коды статуса HTTP – важные инструменты для оценки состояния здоровья сайта и его сервера. Если сайт регулярно посылает неправильные коды заголовка HTTP в поисковую систему, его содержимое не индексируется, что, в свою очередь, вредит рейтингу.

Различные классы

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

  • 1xx – Информирующие о чем-либо.
  • 2xx – Сообщающие об успешном выполнении.
  • 3xx – Уведомляющие о перенаправлении.
  • 4xx – Сообщающие об ошибке клиента.
  • 5xx – Сообщающие об ошибке сервера.

Наиболее важные коды состояния HTTP для SEO

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

200: OK / Успешно

Вот как должно быть: клиент запрашивает у сервера контент и сервер отвечает сообщением 200. Это означает, что запрос прошел успешно – браузер получает содержимое, которое удовлетворяет потребностям клиента. И сервер, и клиент довольны. Пользователь счастлив. Все сообщения класса 2xx означают успешное выполнение какой-либо операции.

301: Перемещено навсегда

Заголовок HTTP 301 используется, когда запрашиваемый URL перемещен на новое место. Поскольку вы работаете с сайтом, с кодом придется сталкиваться часто – чтобы перенаправить старый URL на новый, вам обязательно нужно делать 301 редирект. Если вы этого не сделаете, пользователи, открывая старый URL, увидят страницу с кодом ошибки (404).

302: Найдено

Код состояния HTTP 302 означает, что целевой контент был найден, но находится в другом месте. Это довольно неоднозначный код состояния – он не говорит, временная это ситуация или нет. Используйте 302 редирект только в том случае, если хотите временно перенаправить URL на другой источник, и вы уверены в том, что будете использовать URL снова. Этим кодом вы сообщаете поисковым системам, что URL-адрес будет использоваться, а значит ссылочный вес не перенесется на новый URL. Поэтому не пользуйтесь 302 редиректом при перемещении домена или серьезных изменениях в структуре сайта.

307: Временное перенаправление

Код состояния 307 заменяет 302 в спецификации HTTP1.1 и может рассматриваться как единственный истинный редирект. Вы можете использовать 307 если вам нужно временно перенаправить URL на новый, оставив оригинальный метод запроса без изменений. 307 выглядит как 302, за исключением того, что он конкретно сообщает о временном характере нового местоположения. Запрос может меняться с течением времени, поэтому клиент должен продолжать использовать оригинальный URL при создании новых запросов.

403: Запрещено

403 сообщает браузеру, что запрошенное содержимое запрещено для пользователя. Если пользователь не сможет предоставить корректные учетные данные для входа, содержание останется недоступным.

404: Не найдено

Код заголовка HTTP 404 – один из наиболее важных. Когда сервер дает ответ в виде ошибки 404, вы получаете информацию о том, что содержимое не было найдено, и, вероятно, удалено. Старайтесь не раздражать посетителей сообщениями с этим кодом, исправляйте ошибки как можно скорее. Используйте редирект для перенаправления посетителей сайта со старого URL на новую статью или страницу, которая имеет связанный контент.

Мониторьте 404 сообщения в интерфейсе ошибок (Crawl errors) Google Search Console и пытайтесь свести их количество к минимуму. Большое количество ошибок этого типа может быть расценено Google как признак плохого обслуживания, а это повлияет на рейтинг сайта.

410: Удален

Результат кода 410 такой же, как 404 – содержимое не было обнаружено. Тем не менее, с 410 вы сообщаете поисковым системам об удалении запрошенного содержимого. Таким образом, этот код намного конкретнее 404. В некотором смысле вы отдаете команду поисковой машине удалить URL из индекса. Перед тем, как окончательно удалить что-то с сайта, подумайте, есть ли где-нибудь эквивалент страницы. Если да, сделайте редирект. Если нет, страницу нужно удалить или улучшить.

451: Информация недоступна по юридическим причинам

Относительно новое дополнение. Код состояния HTTP 451 показывает, что запрошенное содержимое было удалено по юридическим причинам. Если вы получили запрос на удаление, нужно использовать этот код, чтобы сообщить поисковым системам, что случилось со страницей.

500: Внутренняя ошибка сервера

Ошибка 500 – сообщение о том, что сервер столкнулся с неким условием, которое не позволяет ему выполнить запрос, без указания на то, что является его причиной. Причиной ошибок может стать что угодно, например,  неисправный скрипт на вашем сайте. Проверьте журналы сервера, чтобы увидеть, где проблемы.

503: Сервис недоступен

Сервер отправляет сообщение об ошибке 503, когда не может обработать запрос из-за сбоя или перегрузки. Используйте этот код всякий раз, когда вам требуется временный простой – например, когда вы проводите обслуживание сайта. Таким образом, роботы поисковых систем узнают, что ваш сайт вскоре возобновит работу, и они могут вернуться позже.

Работа с кодами состояния HTTP

коды состояния HTTP

Коды HTTP – важная часть деятельности оптимизаторов. Вы будете сталкиваться с ними ежедневно, и поэтому важно понять, что означают различные коды. Например, при удалении страницы с сайта важно знать разницу между 301 и 410 редиректом. Они служат для разных целей, и, следовательно, ведут к разным результатам.

Если вы хотите получить представление о видах кодов состояния, которые генерирует ваш сайт, войдите в Google Search Console. Здесь вы найдете страницу с ошибками сканирования. Они должны быть найдены и устранены, прежде чем ваш сайт будет проиндексирован.

В заключение

Помните об этих кодах, при работе с сайтом вы увидите как часто они появляются. Зная, какие редиректы нужно использовать в той или иной ситуации, вы сможете спасти свой сайт от необязательных потерь позиций в ранжировании. Одного взгляда на ошибки при сканировании в Google Search Console должно быть достаточно, чтобы вы получили достаточно точные данные о происходящем под капотом.

Ирина Винниченко

Контент-маркетолог SEMANTICA

Владелец сайта – современный Микеланджело. У него есть бесформенный материал, цель и, возможно, вкус и навыки, достаточные для воплощения проекта. Но у владельца сайта есть и то, чего не было у скульпторов – Google Search Console, которая позволяет вовремя найти ошибки и устранить их.

Как это сделать? Откройте Google Search Console. Перейдите во вкладку «Crawl» > «Crawl Errors». Там вы сможете посмотреть, что происходит с сайтом и уладить проблемы.

В первую очередь разберитесь с внешними ссылками, ведущими на страницу. Google, как правило, сортирует ошибки по важности. Ошибки с внешними ссылками относятся к приоритетным. Чтобы посмотреть, откуда идет ссылка, кликнете по URL-адресу 404 страницы. В открывшейся вкладке выберите «Linked From» и посмотрите URL-ссылки на страницу. Убедитесь, что все 404 страницы перенаправлены 301 редиректом на релевантный URL.

Проверять сайт на наличие ошибок нужно часто. Делайте это хотя бы раз в месяц.

Код HTTP 404 особенно важен, потому что его чаще всего видят пользователи. Ваша задача – обеспечить лучший пользовательский опыт, поэтому обязательно оформите страницу с этим кодом правильно.

Она должна содержать:

  • Уведомление о том, что пользователь открыл страницу, которая не существует.
  • Окно поиска.
  • Простую навигацию, с помощью которой пользователь получит доступ к тому, что искал.
  • Ссылку на главную страницу.

Кроме того, лучше визуально оформить страницу. Необычный дизайн поможет сохранить пользователей на сайте. Почитайте о том, как это сделать правильно и красиво

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • Коды ошибок segway ninebot
  • Коды ошибок scania p380
  • Коды ошибок renault scenic
  • Коды ошибок samsung 1641
  • Коды ошибок renault premium dxi

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии