Http code 302
Http code 302
Что такое ошибка HTTP 302 и как ее исправить? [4 протестированных метода объяснено]
Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:
Вот некоторые из вопросов:
В этой статье я отвечу на все эти вопросы, чтобы у вас было больше ясности в каждом конкретном случае.
Что такое редирект 302?
Code 302 indicates a temporary redirection.
One of the most notable features that differentiate it from a Переадресация 301 в том, что в случае 302 перенаправлений сила SEO не переносится на новый URL.
Это связано с тем, что это перенаправление было разработано для использования в тех случаях, когда необходимо перенаправить контент на страницу, которая не будет окончательной.
Таким образом, после устранения перенаправления исходная страница не потеряет свое положение в поисковой системе Google.
Несмотря на то, что мы не очень часто нуждаемся в перенаправлении 302, в некоторых случаях этот параметр может быть очень полезным. Это наиболее частые случаи:
Для чего нужен редирект 302?
Редирект 302 служит, например, для того, чтобы иметь несколько версий домашней страницы на разных языках.
The main one can be in English, but if the visitors come from other countries then this system automatically redirects them to a page in their language.
Таким образом, мобилизация Веб-трафик достигается, но в то же время влияние на уровне SEO главной страницы не ослабляется. Это продолжает расти, несмотря на то, что передача власти не происходит, как мы объясняли ранее.
Пример перенаправления HTTP 302
The most common HTTP 302 redirect example case is Google.
Независимо от страны, в которую вы входите, если вы введете https://www.google.com/, you will be redirected to the Google version in the language/country that corresponds to you.
В случае Германии 302 автоматически доставит нас к https://www.google.de/ так что мы можем искать контент на немецком языке.
Порталы успешных компаний, таких как Coca-Cola или даже Fujitsu, также используют эту систему для перенаправления трафика туда, где они считают наиболее удобным.
What causes HTTP 302 error?
Here are some of the most common reasons for the 302 redirect error:
How to identify HTTP 302 error?
Проверка того, что 301 и 302 перенаправить настройки верны очень легко.
When entering into the address bar of the old address, we observe what is happening.
The change of address indicates that everything is fine with the redirect.
The address remains the same – you need to look for the source of the problem, but first, we advise you to clean the cache and try again.
How to fix HTTP 302 error?
Способ 1: проверьте конфигурацию сервера
Приложение может работать на сервере, который использует одну из этих двух наиболее распространенных программ веб-сервера, Nginx или Apache. На эти два веб-сервера приходится более 84 процентов глобальной программы веб-сервера!
Therefore, the first step in determining the 302 response code is checking the mandatory redirect instructions in the webserver program configuration file.
Для веб-сервера Apache
Шаг 2: Найдите директивы mod_rewrite
Обратите внимание на дополнительный баннер в нижней части RewriteRule, который ясно показывает, что код ответа должен быть 302, показывая агенту браузера, что это временное перенаправление.
Для веб-сервера Nginx
Шаг 1: Откройте файл nginx.conf
Если ваш веб-сервер работает на Nginx, вам следует искать совершенно другой файл конфигурации. Этот файл указан как nginx.conf по умолчанию и находится в одном из общих каталогов, перечисленных ниже:
/ usr / local / nginx / conf, / etc / nginx или, / usr / local / etc / nginx.
Шаг 2: Перепишите директивы в файле nginx.conf
После обнаружения откройте файл nginx.conf в текстовом редакторе и найдите директивы перезаписи, относящиеся к индикатору перенаправления.
Например, это простая директива блока (объявленная как набор операторов), которая устанавливает виртуальный сервер путем создания временного перенаправления с abc.com на временный-abc.com:
Nginx переписывает директивы параллельно с Apache RewriteRule и
RewriteCond, потому что они обычно содержат более сложные текстовые шаблоны поиска.
Шаг 3: Проверьте политику замены файла nginx.conf
В любом случае проверьте файл nginx.conf для политики замены исключений, которая содержит флаг перенаправления (другой код ответа возврата постоянного ключа 301).
Обратите внимание на любые исключения перед перезагрузкой сервера, чтобы проверить, решена ли проблема.
Способ 2: поиск устаревшего программного обеспечения
В документе спецификации RFC для HTTP 1.0 говорится, что цель кода ответа «302 найдено» предназначена для указания того, что клиент должен выполнить временное перенаправление.
However, many new browsers will process the code 302 received through the POST request as an invalid GET request.
This has triggered snags and confusion with particular web server programs that attempt to force the browser to perform the right work when it needs to be redirected temporarily.
Чтобы решить эту проблему, документ спецификации RFC HTTP 1.1 возвратил 303 кода ответа, еще 307 временных перенаправлений, что является понятным способом управления POST-to-GET или временными переходными ответами.
Метод 3: Очистка бревен
Почти все веб-приложения хранят записи на сервере. Журнал приложения обычно представляет историю приложения, например, какие страницы, серверы были запрошены и подключены, которые были получены из предоставленной базы данных и т. Д.
Журналы сервера подключены к текущему устройству, на котором запускаются программы, и обычно содержат информацию о состоянии и работоспособности всех подключенных служб и даже информацию о сервере.
Запишите Google [PLATFORM_NAME] в CMS или используйте [PROGRAMMING_LANGUAGE], чтобы зарегистрироваться и зарегистрировать [OPERATING_SYSTEM] при запуске пользовательского приложения для получения дополнительной информации для получения этих записей.
Способ 4: исправить код приложения
В случае сбоя всех описанных выше способов проблема может заключаться в коде пользователя приложения, вызвавшего проблему.
Попробуйте определить причину проблемы, вручную обнаружив приложение и проанализировав его в файлах журнала сервера и приложений.
Рекомендуется скопировать полное приложение на локальный компьютер для разработки и пройти по нему, чтобы точно узнать, что происходит с 302 сканированием, и увидеть код для каждого приложения.
HTTP 302 Error: Conclusion
Наконец, как вы видели, нам не нужно сильно бояться ошибок перенаправления HTTP 302. Не углубляясь в это, они представляют собой фантастический способ избежать потери трафика на наших веб-страницах с неизбежными изменениями, которые возникают в течение многих лет.
I hope that, after reading this article, you will not get chills every time about how do I fix the 302 moved temporarily error.
Если вы хотите внести свой вклад в сообщение, или если у вас есть вопрос или просто хотите высказать свое мнение, не стесняйтесь комментировать ниже!
What does HTTP/1.1 302 mean exactly?
Some article I read once said that it means jumping (from one URI to another), but I detected this «302» even when there was actually no jumping at all!
16 Answers 16
Trending sort
Trending sort is based off of the default sorting method — by highest score — but it boosts votes that have happened recently, helping to surface more up-to-date answers.
It falls back to sorting by highest score if no posts are trending.
Switch to Trending sort
A 302 redirect means that the page was temporarily moved, while a 301 means that it was permanently moved.
301s are good for SEO value, while 302s aren’t because 301s instruct clients to forget the value of the original URL, while the 302 keeps the value of the original and can thus potentially reduce the value by creating two, logically-distinct URLs that each produce the same content (search engines view them as distinct duplicates rather than a single resource with two names).
This question was asked a long ago, while the RFC 2616 was still hanging around. Some answers to this question are based in such document, which is no longer relevant nowadays. Quoting Mark Nottingham who, at the time of writing, co-chairs the IETF HTTP and QUIC Working Groups:
Don’t use RFC2616. Delete it from your hard drives, bookmarks, and burn (or responsibly recycle) any copies that are printed out.
The old RFC 2616 has been supplanted by the following documents that, together, define the HTTP/1.1 protocol:
And, as of June 2022, a new set of RFCs obsoleted the documents listed above:
So I aim to provide an answer based in the RFC 9110, which is the current reference for the HTTP semantics.
The 302 status code
A response with 302 is a common way of performing URL redirection. Along with the 302 status code, the response should include a Location header with a different URI. Such header will be parsed by the user agent and then perform the redirection:
Web browsers may change from POST to GET in the subsequent request. If this behavior is undesired, the 307 (Temporary Redirect) status code can be used instead.
This is how the 302 status code is defined in the RFC 9110:
The 302 (Found) status code indicates that the target resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client ought to continue to use the target URI for future requests.
The server SHOULD generate a Location header field in the response containing a URI reference for the different URI. The user agent MAY use the Location field value for automatic redirection. The server’s response content usually contains a short hypertext note with a hyperlink to the different URI(s).
Note: For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the 307 (Temporary Redirect) status code can be used instead.
According to MDN web docs from Mozilla, a typical use case for [ 302 ]302] is:
The Web page is temporarily not available for reasons that have not been unforeseen. That way, search engines don’t update their links.
Other status codes for redirection
The RFC 9110 defines the following status codes for redirection (some of these status codes were originally defined in other RFCs, but have all been consolidated in the RFC 9110):
302 found response
I have implemented ajax request to populate my drop down fields. It is working Fine but when I stay idle for some time and select some value in drop down the ajax request gets 302 found response. Is it due to session out. Please let me know the solution, can we do some setting that it will never get response as 302 found.
2 Answers 2
Trending sort
Trending sort is based off of the default sorting method — by highest score — but it boosts votes that have happened recently, helping to surface more up-to-date answers.
It falls back to sorting by highest score if no posts are trending.
Switch to Trending sort
The 302 status code indicates that the resource you are requesting has redirected to another resource. If this is behind some authentication, or requiring a session to be active then yes, it would follow that the session timing out is responsible for the ajax resource being called to redirect to possibly a login screen maybe.
I would seriously recommend using something like Charles or Fiddler to track the requests being made.
Коды состояния HTTP (Winhttp.h)
Эти константы и соответствующие значения указывают коды состояния HTTP, возвращаемые серверами в Интернете.
HTTP_STATUS_CONTINUE
Запрос можно продолжить.
HTTP_STATUS_SWITCH_PROTOCOLS
Сервер переключил протоколы в заголовке обновления.
HTTP_STATUS_OK
Запрос успешно завершен.
HTTP_STATUS_CREATED
Запрос выполнен и привел к созданию нового ресурса.
HTTP_STATUS_ACCEPTED
Запрос был принят для обработки, но обработка не завершена.
HTTP_STATUS_PARTIAL
Возвращаемые метаданные в заголовке сущности не являются окончательным набором, доступным на исходном сервере.
HTTP_STATUS_NO_CONTENT
Сервер выполнил запрос, но нет новых сведений для отправки обратно.
HTTP_STATUS_RESET_CONTENT
Запрос завершен, и клиентская программа должна сбросить представление документа, вызвавшее отправку запроса, чтобы разрешить пользователю легко инициировать другое действие ввода.
HTTP_STATUS_PARTIAL_CONTENT
Сервер выполнил частичный запрос GET для ресурса.
HTTP_STATUS_WEBDAV_MULTI_STATUS
Во время операции веб-распределенной разработки и управления версиями (WebDAV) это указывает на несколько кодов состояния для одного ответа. Текст ответа содержит расширяемый язык разметки (XML), описывающий коды состояния. Дополнительные сведения см. в разделе «Расширения HTTP для распределенной разработки».
HTTP_STATUS_AMBIGUOUS
Запрошенный ресурс доступен в одном или нескольких расположениях.
HTTP_STATUS_MOVED
Запрошенный ресурс был назначен новому постоянному универсальному коду ресурса (URI), и все будущие ссылки на этот ресурс должны выполняться с помощью одного из возвращаемых URI.
HTTP_STATUS_REDIRECT
Запрошенный ресурс временно находится под другим универсальным кодом ресурса (URI).
HTTP_STATUS_REDIRECT_METHOD
Ответ на запрос можно найти в другом универсальном коде ресурса (URI) и должен быть получен с помощью команды GET HTTP для этого ресурса.
HTTP_STATUS_NOT_MODIFIED
Запрошенный ресурс не был изменен.
HTTP_STATUS_USE_PROXY
Запрашиваемый ресурс должен быть предоставлен через прокси-сервер, предоставленный полем расположения.
HTTP_STATUS_REDIRECT_KEEP_VERB
Перенаправленный запрос сохраняет ту же HTTP-команду. Поведение HTTP/1.1.
HTTP_STATUS_BAD_REQUEST
Не удалось обработать запрос сервером из-за недопустимого синтаксиса.
HTTP_STATUS_DENIED
Запрошенный ресурс требует проверки подлинности пользователя.
HTTP_STATUS_PAYMENT_REQ
Не реализован в протоколе HTTP.
HTTP_STATUS_FORBIDDEN
Сервер понял запрос, но не может выполнить его.
HTTP_STATUS_NOT_FOUND
Сервер не нашел ничего, соответствующего запрошенным URI.
HTTP_STATUS_BAD_METHOD
HTTP_STATUS_NONE_ACCEPTABLE
Ответы, приемлемые для клиента, не найдены.
HTTP_STATUS_PROXY_AUTH_REQ
Требуется проверка подлинности прокси-сервера.
HTTP_STATUS_REQUEST_TIMEOUT
Истекло время ожидания запроса сервером.
HTTP_STATUS_CONFLICT
Не удалось выполнить запрос из-за конфликта с текущим состоянием ресурса. Пользователь должен повторно отправить дополнительные сведения.
HTTP_STATUS_GONE
Запрошенный ресурс больше недоступен на сервере, и адрес пересылки неизвестен.
HTTP_STATUS_LENGTH_REQUIRED
Сервер не может принять запрос без определенной длины содержимого.
HTTP_STATUS_PRECOND_FAILED
Предварительное условие, заданное в одном или нескольких полях заголовка запроса, было равно false при тестировании на сервере.
HTTP_STATUS_REQUEST_TOO_LARGE
Серверу не удается обработать запрос, так как сущность запроса больше, чем сервер может обработать.
HTTP_STATUS_URI_TOO_LONG
Серверу не удается обслуживать запрос, так как URI запроса длиннее, чем может интерпретировать сервер.
HTTP_STATUS_UNSUPPORTED_MEDIA
Серверу не удается обслуживать запрос, так как сущность запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода.
HTTP_STATUS_RETRY_WITH
Запрос следует повторить после выполнения соответствующего действия.
HTTP_STATUS_SERVER_ERROR
Сервер обнаружил непредвиденное условие, которое не позволило выполнить запрос.
HTTP_STATUS_NOT_SUPPORTED
Сервер не поддерживает функциональные возможности, необходимые для выполнения запроса.
HTTP_STATUS_BAD_GATEWAY
Сервер, действующий в качестве шлюза или прокси-сервера, получил недопустимый ответ от вышестоящего сервера, к нему обращается при попытке выполнить запрос.
HTTP_STATUS_SERVICE_UNAVAIL
Служба временно перегружена.
HTTP_STATUS_GATEWAY_TIMEOUT
При выполнении запроса было превышено время ожидания шлюза.
HTTP_STATUS_VERSION_NOT_SUP
Сервер не поддерживает версию протокола HTTP, которая использовалась в сообщении запроса.
Коды ответов сервера 2ХХ, 3ХХ, 4ХХ, 5ХХ
Какие бывают http ответы сервера (сайта, страницы)?
Коды ответа http сервера (англ. HTTP status code) являются частью первой строки ответа сервера. Он представляет собой целое трехзначное число, первая цифра которого указывает на класс состояния. Вместе с кодом ответа выдается короткая англоязычная подсказка. Продвижение сайтов в сети интернет невозможно без знания ответов сервера.
Пример:
404 Not found
Дальнейшие действия зависят именно от того, какой код ответа дал сервер или страница. Ввиду того что набор кодов является стандартным для всех сайтов/страниц/серверов, действия при выдаче того или иного кода тоже будут стандартными.
На сегодняшний день выделено 5 основных классов кода ответа:
1xx: Informational (рус. Информационный) — запрос правильно воспринят, но его обработка не завершена.
2xx: Success (рус. Успешно) — запрос правильно воспринят и успешно обработан.
3xx: Redirection (рус. Перенаправление) — коды переадресации на другие страницы.
4xx: Client Error (рус. Ошибка клиента) — ошибка со стороны клиента.
5xx: Server Error (рус. Ошибка сервера) — ошибка со стороны сервера.
А теперь давайте по отдельности разберем некоторые коды состояния IANA.
Ответ сервера 1XX
100 Continue Server Code
100 Continue сообщает, что связь с сервером уже установлена, сервер принял корректный запрос и теперь ведется обмен данными между сервером и клиентом. Данный код является временным, т.е. за ним всегда следует другой. Код 100 является внутренним и не относится к ошибочным. Т.е. «дверь открыта, читай что нужно, как закончишь – закрой». Код 100 может и не генерироваться, если пользователь уже получил часть данных от сервера.
101 Switching Protocols
Данный код так же не является ошибочным. Генерируется при переключении с одного протокола на другой. Например, при запросе переключения со старой версии HTTP на более новую.
Это, один из самых простых серверных кодов. Он означает, что со стороны пользователя поступил запрос на переключение типа протокола, используемого на веб-сервере, и сервер дал согласие на это.
102 Processing
В каком-то смысле это аналог кода 100. Генерируется в том случае, когда обработка запроса может занять много времени. Для этих целей таймер ожидания сбрасывается и ожидание дальнейших команд происходит в обычном режиме. Так же не является кодом ошибки.
Ответ сервера 200 ОК
По праву занимает самое первое место по важности и популярности, т.к. именно его отдает сервер в случае успешной и правильной обработки запроса пользователя.
Ответ сервера 301
Ответ сервера 302
Данный код сообщает о том, что расположение запрашиваемой страницы временно изменено. Также должна быть предоставлена информация о новом местоположении запрашиваемого документа. Данный код изначально использовался в качестве основного способа перенаправления.
Ответ сервера 404
Вот уж что-что, а ошибку ответа сервера 404 не видели только те, кто еще не родился и те, кто умер до создания интернета. Данный код сообщает о том, что запрашиваемый документ по каким-то причинам на сайте отсутствует. Код ошибки ответа сервера 404 должен отдаваться только в том случае, если по указанному пользователем адресу документа никогда не было. Если документ ранее был доступен по этому адресу, а потом его удалили с сайта, то сервер должен отдавать код 410, а не 404.
Фейковые страницы 404
Большинство вебмастеров не обращает на 404-тые страницы никакого внимания, однако, это может серьезно навредить ранжированию сайта. Парадокс, но страница с сообщением 404 File Not Found далеко не всегда отдает код 404. Такие страницы принято называть «Soft 404». Причины возникновения просты – по каким-то причинам страница отдает код, отличный от 404 и 410 – например, 200. Такое вполне возможно, если страница уже создана, но контента на ней пока нет.
Ответ сервера 500
Все коды серии 5хх свидетельствуют о том, что сервер не в состоянии завершить обработку запроса. Вместе с кодом должно появляться и поясняющая подсказка (с причиной) на английском языке.
500 Internal Server Error
Код 500 отдается в случае любой внутренней ошибки сервера, за исключением остальных ошибок 5хх класса. Такая ошибка может быть отдана в том случае, когда ссылка генерируется на сервере непосредственно в момент запроса. Простейший пример – внутренний поиск по сайту: физически никакого документа по запрашиваемой ссылке нет.
Ответ сервера 502
Код 502 может отображаться в тех случаях, когда сервер играет роль шлюза или прокси, но при этом не удалось «найти общий язык» между ним и вышестоящим сервером, т.е., по сути, это просто ошибка обмена данных.
Ответ сервера 550
Для проверки необходимо перейти по ссылке (https://www.reg.ru/nettools/dig), затем прописать имя проверяемого домена, а в списке выбрать «MX». Теперь нажимаем Проверить:
На выходе будет представлена таблица.
Необходимо убедиться, что в ней прописаны необходимые записи для работы вашей почты:
Почта
MX-записи
Почта REG.RU на хостинге
mx1.hosting.reg.ru и mx2.hosting.reg.ru
Mail.Ru для бизнеса
Расширенная защита от спама
mxs1.reg.ru и mxs2.reg.ru
Почта REG.RU на VPS
Как получить коды ответа сервера (страницы) через Яндекс
Шаг 1. Проверяем код ответа сервера на страницу сайта, которая должна быть в поиске.
Открываем любую страницу Вашего сайта, находящуюся в поисковой выдаче Яндекса, затем из адресной строки копируем ее URL-адрес.
Теперь переходим в сервис Яндекса (http://webmaster.yandex.ru/server-response.xml), с помощью которого можно посмотреть на сайт глазами робота и проверить скорость ответа сервера в Яндекс панели.
Просто вставляем url-адрес интересующей нас страницы в текстовое поле и нажимаем на кнопку «Проверить». В данном случае мы получили код 200 ОК, свидетельствующий о нормальной работе страницы.
Шаг 2. Проверяем ответ сервера на заведомо несуществующую страницу.
В том же сервисе вводим имя_домена/какая-то_крокозябра
В данном случае мы получили ответ 301 Moved Permanently. Это говорит о том, что адрес страницы указан неверно и происходит переадресация на правильный адрес.
Как еще узнать коды ответа сервера (сайта)?
Mainspy
В качестве альтернативы можно пробить код ответа с помощью сервиса http://mainspy.ru. Работает аналогично сервису Яндекса: вставляем интересующий URL и жмем «Проверить». Код ответа в данном случае находится в самой первой строке:
Bertal
Bertal, в отличие от Mainspy, позволяет взглянуть на страницу не только глазами Яндекс-бота, но и глазами поисковых роботов Bing и Google, а в качестве бонуса – может эмулировать популярные браузеры. Для удобства взглянем на те же страницы глазами GoogleBot. В данном случае код ответа подсвечен зеленым.
Массовая проверка ответов сервера (сайта) онлайн
Массовая проверка кодов ответа может пригодиться для поиска неработающих сайтов, на которых были куплены ссылки (через биржи или напрямую – неважно).
Urlitor
Urlitor – еще один сервис, для массовой проверки кодов ответа. Сервис хорош тем, что результаты проверки сводятся в таблицу для облегчения восприятия. К слову – ссылки в таблице кликабельны.
Как проверить скорость (время) ответа сервера сайта?
Сколько таких сервисов уже развелось – не пересчитать. Рассмотрим некоторые из них.
Pingdom
Это англоязычный инструмент, анализирующий скорость по всем параметрам. С его помощью можно узнать скорость в секундах, сколько весит тестируемая страница, а также получить оценку и рекомендации для ее улучшения. Преимущество данного сервиса в том, что анализируется каждый отдельный элемент. Такой анализ позволяет выяснить, что именно затормаживает загрузку отдельно взятой страницы и/или сайта в целом.
Which Loads Faster
Основная фишка данного сервиса в том, что анализируется время загрузки одновременно двух ресурсов. Это позволяет узнать, какой из двух ресурсов работает быстрее. Единственный минус – при разных подключениях и в разных браузерах результат может отличаться.
Google PageSpeed Insights
Google PageSpeed Insights так же является одним из самых мощных инструментов для измерения скорости работы мобильной и десктопной версии. Оценка производится по 100-бальной шкале. 85 баллов и более – это хороший показатель. Плюс бонусом он выдает рекомендации по улучшению.
Долгий ответ сервера
Ответ, длительность которого составляет больше, чем полсекунды, принято называть «долгим». Поэтому, при длительной загрузке сайте вы можете видеть сообщение в браузере «превышено время ожидания ответа от сервера». Причин долгого ответа может быть уйма:
— сложная логика предоставления данных
— сервер не успевает своевременно обрабатывать поступающие запросы из-за их большого количества
— сами запросы (либо сложные, либо неоптимизированные, либо и то и другое)
— запросы к большому количеству внешних ресурсов
— большое количество исполняемых файлов
— сам веб-сервер долго обрабатывает запрос.
Самые «больные» места производительности сервера:
Используемый веб-сервер (Apache, IIS).
Ряд веб-серверов даже при выдаче статических файлов могут создавать задержки, т.к. они на архитектурном уровне не предназначены для обработки большого количества запросов и из-за этого может быть сообщения что превышено время ожидания ответа от сервера. Поэтому для нормальной работы веб-сервера имеет смысл использовать nginx (причем в связке с Apache, php-fpm, а также остальными серверами приложений для обработки серверных вычислений).
Использование OpCache.
Сократите время ответа сервера путем кэширования исполняемого кода (скриптов сайта) – оно позволяет воспользоваться уже готовым результатом вместо того, чтоб каждый раз переводить PHP-инструкции в бинарный код. Но это кэширование с кэшированием результатов выполнения PHP-скриптов не имеет вообще ничего общего.
Запросы к базе данных.
Сложная логика обработки данных.
Третий шаг – упрощение серверной логики. По сути, это просто устранение ненужных операций и профилирование времени выполнения серверных скриптов.
Обращение к сторонним сервисам.
Прописанные в коде серверных скриптов запросы к сторонним сервисам – это «обычная история», способная преподнести множество сюрпризов, поскольку производительность сервисов, откуда запрашиваются данные, практически никогда и никем не проверяется. А ведь время ответа стороннего сервиса напрямую влияет на время ответа сервера. Поэтому лучше всего в серверных запросах использовать только внутренние источники, которые в любой момент можно проконтролировать на качество производительности, либо в отложенном режиме запросить данные на клиентской.
Почему скорость ответа веб сервера влияет на продвижение.
Во-первых, потому что скорость загрузки является одним из факторов ранжирования (хоть и не решающим). Google открыто заявляет, что по скорости показа страниц ранжируется менее 1% сайтов. НО…
Превышено время ожидания ответа от сервера.
Для начала важно понимать причину возникновения сбоя. Т.е. пользователь вводит адрес, а браузер в этот момент отправляет группу запросов, а также включает обратный секундомер на каждый из них. Если по истечении заданного времени браузер не получает ответ на свой запрос, то пользователь увидит вот такую неприятную картинку.
Основных же причин сбоя может несколько:
Проблемы с подключением к интернету со стороны пользователя;
Что делать для решения?
Если сбой единичен – перезагружаем страницу с помощью комбинации Ctrl+F5. Возможно, потребуется перезагрузить страницу несколько раз. Если не помогло – проверяем подключение к интернету.
Настройки Сети.
1. Некоторые сайты иногда «капризничают». Для динамического IP решение будет простым – перезагрузить роутер через отключение питания.
2. Медленное соединение иногда провоцирует ошибку ERR_CONNECTION_TIMED_OUT. Скорость работы интернета можно проверить через Яндекс-интернетометр. Если скорость слишком низкая – следует обратиться к интернет-провайдеру.
3. Необходимо проверить «Свойства сети» на наличие посторонних DNS-адресов. Если такие адреса имеются – удалить (предварительно на всякий случай переписав их куда-нибудь) и проверить систему на вирусы с помощью установленного на ПК антивирусного ПО – NOD32, Kaspersky, AdwCleaner, MalwareBytes, Dr.Web и т.д. Лучше всего для этих целей использовать Live-загрузчики.
4. Проверить настройки самого роутера. Наиболее часто сбивается параметр MTU. Универсальных рекомендаций по настройке роутера дать невозможно, т.к. это напрямую зависит и от модели роутера, и от интернет-провайдера. Обычно MTU имеет значения 1500, 1460, 1476.
Какое должно быть время ответа сервера?
И сразу же конкретные цифры:
— самая высокая конверсия у страниц, которые полностью загружаются за 1,8 и 2,7 секунды для десктопной и мобильной версий соответственно
— самый низкий показатель отказов у страниц, которые полностью загружаются за 1 и 0.7 секунды для десктопной и мобильной версий соответственно
Данные цифры позаимствованы из исследования Akamai Technologies.
Итак, Вы проверили сайт на скорость загрузки. Но как реагировать на результаты?
How to Fix the HTTP 302 Error (5 Methods)
HTTP 302 codes are a valuable way to redirect website users to a different URL temporarily. However, if your website is delivering 302 redirects in error, it’s a sign that something’s wrong.
Don’t worry — you can fix this problem — but you’ll need to do some troubleshooting.
The first step is to understand precisely what HTTP 302 codes are, how they work, and why they occur. Once you know that, you can figure out what’s gone wrong and how to make it right.
In this post, we’ll tell you everything you need to know about HTTP 302 errors. Then we’ll share five troubleshooting tips to help you fix them.
Check Out Our Video Guide to The 302 HTTP Status Code
What Are HTTP 302 Status Codes?
302 codes are a specific type of HTTP status code. These codes are like “notes” that a server delivers to your browser.
Whenever you click on a link or navigate to a URL, your browser requests the webserver for the same. In return, the server sends back the relevant resource (e.g. the page you’re trying to access) along with an HTTP header. The HTTP status codes are inside that header.
Typically, you can’t see these status codes anywhere on the web page. You’ll only usually see them when an error occurs, or if you’ve installed a browser extension that makes them visible:
A web page’s HTTP status code, shown using a Chrome browser extension.
3xx status codes (301, 302, etc.) are a class of status codes called “redirection codes.” They’re returned whenever the server sends back a new resource instead of the requested resource.
In other words, they’re shown when the website page you intended to access redirects you to a different page.
The critical difference between code 301 and code 302 is that the former is used for permanent redirects, whereas the latter is for temporary redirects.
The 301 redirects also pass “link juice,” whereas 302s don’t. That has a significant impact on Search Engine Optimization (SEO).
How 302 Redirects Work
When you set up a 302 redirect for a page on your website that’s temporarily unavailable, and a user visits that page, your webserver will respond to the visitor’s browser with a special Location header. This header will indicate the new URL that the browser should redirect the user to instead.
For example, imagine that a user types blog.example.com into their browser URL bar, but the website is configured to redirect it to blogging.example.com.
The server response will include both the 302 status code and the Location: blogging.example.com header. This setting tells the user’s browser to redirect this request to the new URL instead.
Of course, all of this happens automatically and behind the scenes. The user shouldn’t be able to see any of this play out. Instead, their browser should automatically take them to the new resource.
Why HTTP 302 Errors Happen
If something is misconfigured on your website, it might cause 302 codes to be issued in error. If this happens, you may run into problems such as:
The last of these issues is the only one that will display an actual error page. If you’re using the Chrome browser, a redirect loop error page will look something like this:
The Chrome ERR_TOO_MANY_REDIRECTS error message.
On Mozilla Firefox, it looks like this:
The Firefox ERR_TOO_MANY_REDIRECTS error message.
All of the above problems are caused by some misconfiguration. It may be a plugin conflict, incorrect URL settings, or a misconfigured .htaccess file.
How to Fix the HTTP 302 Error (5 Methods)
Next, we’ll walk you through five troubleshooting methods that can help you figure out what’s causing the problem and fix it.
Before we get started, make sure to perform a complete backup of your website first. That way, if anything goes wrong, you can always revert to the previous version. You can use a WordPress plugin to do this.
1. Determine Whether the Redirects Are Valid
302 responses are usually not errors. Temporarily redirecting users to a different page can be a valid configuration and isn’t usually something that requires fixing.
It’s only an error if your website is responding with 302 codes that it shouldn’t be issuing, or if it’s causing a redirect loop. Therefore, the first step is to double-check which URLs are generating the HTTP 302 codes and determine whether the redirect is appropriate or not.
To do so, you can navigate to the pages on your website you suspect of issuing the 302 error and see for yourself if they behave as expected. If a temporarily unavailable page redirects to the correct resource, it’s appropriately configured.
However, if a page redirects you to the wrong resource or your browser reports a redirect loop by bringing up an ERR_TOO_MANY_REDIRECTS error page, it’s a sign that one (or more) of your redirects isn’t configured quite right.
2. Check Your Plugins
One of the most common causes of 302 errors and redirect loops is plugins.
Sign Up For the Newsletter
Want to know how we increased our traffic over 1000%?
Join 20,000+ others who get our weekly newsletter with insider WordPress tips!
Some WordPress redirect manager plugins and SEO tools like Yoast SEO manage your website redirects for you and enable you to set up redirect rules:
The Yoast SEO Premium plugin redirect settings page.
If these rules are misconfigured, or if two plugins conflict, it can cause unexpected issues. Therefore, you’ll need to check each relevant tool that’s installed on your site.
For example, if you’re using the popular 301 Redirects WordPress plugin, you can check the configuration by navigating to Settings > 301 Redirects. Under Redirect Rules, you’ll see a list of all the redirect rules you’ve set up:
The Redirect Rules settings page for the 301 Redirects WordPress plugin.
Check all the 302 redirects listed here, and make sure they’re all correct.
You’ll also want to ensure that you haven’t set up anything in a way that could cause a redirect loop. For example, if Page-A is set to redirect to Page-B, but Page-B is also set to redirect to Page-A, this will cause an error.
If you have multiple redirect manager plugins and you’re not sure which one is causing the issue, you can try deactivating them one by one from the WordPress Plugins page (be sure to make a backup first):
The Plugins page in the WordPress admin dashboard.
After deactivating each plugin, try revisiting the problem URL to see if the 302 error persists.
If the problem is suddenly fixed, you’ll know which plugin was causing the issue, and you can then choose to troubleshoot further or remove it from your site.
3. Ensure That Your WordPress URL Settings Are Configured Correctly
Another common cause of the HTTP 302 error is a misconfiguration in the WordPress URL settings.
To check this, navigate to Settings > General in your WordPress dashboard. Here, you should see a WordPress Address (URL) field and a Site Address (URL) field:
The General Settings page in WordPress.
In most cases, the URLs in both of these fields should match. Make sure they’re both the same, including the “www” portion (or lack thereof) before the domain name.
Experience exceptional WordPress hosting support with our world-class support team! Chat with the same team that backs our Fortune 500 clients. Check out our plans
If they don’t match, update the settings, then check the URL of the page issuing the HTTP 302 error to see if it’s fixed.
4. Check Your Server Configuration
A misconfigured server can also sometimes cause 302 redirect errors. Therefore, the next step is to check your server configuration.
If your host uses the Apache webserver, you can do this by checking your.htaccess file.
This step won’t apply to sites hosted on Nginx servers. If your host uses Nginx servers, as Kinsta does, you can move on to the next troubleshooting step.
First, connect to your site’s server via a control dashboard like cPanel or an FTP client. Then navigate to the root directory of your site — the same place as the wp-admin and wp-content folders — and find the .htaccess file:
If you aren’t finding the .htaccess file here (and you’re sure on an Apache server), you may need to tell FileZilla to show hidden files before it’ll appear in the file list.
Next, open the file in your favorite text editor. It should look something like this:
Now, we’re going to look for RewriteXXX directives (the highlighted elements above). Without getting too technical, RewriteCond and RewriteRule directives are used to perform redirections from one URL to another.
The RewriteCond directive specifies the URL you want to redirect the visitor away from, while the RewriteRule directive specifies the URL you want to redirect them to. Here’s an example:
The flag at the end, “[R=302]”, tells the browser that this is a temporary 302 redirect.
If you notice any RewriteXXX combinations similar to the above in your .htaccess file that shouldn’t be there, you can comment them out, save the changes, and reload the problem web page to see if it resolves the issue.
Just make sure to download and save a spare copy of your .htaccess file before you make any changes in case something goes wrong.
5. Speak to Your Web Host
If you’ve tried all of the above methods and you’re still having trouble, the next step is to speak to your web host.
Troubleshooting a 302 code error beyond this point requires a lot of technical know-how. Therefore, unless you’re a professional developer, it’s probably best to get help from an expert.
At Kinsta, we take support seriously. Our team of WordPress experts is always on-hand to help you resolve issues like this whenever they arise:
The Kinsta Support page.
We’re available 24/7. All you have to do is log in to your MyKinsta account and contact us via live chat to connect with a support engineer who can help in real-time.
Summary
HTTP 302 status codes are a completely normal way to redirect your website visitors. However, they should only be used when the resource page is temporarily unavailable.
Suppose your website is issuing 302 codes in error or causing redirect loops. In that case, it’s vital to fix this problem as soon as possible, or it may negatively impact your SEO and conversions.
You can follow these five steps to fix HTTP 302 errors on your website:
Do you have any questions left about the HTTP 302 error? Let us know in the comments section.
Save time, costs and maximize site performance with:
All of that and much more, in one plan with no long-term contracts, assisted migrations, and a 30-day-money-back-guarantee. Check out our plans or talk to sales to find the plan that’s right for you.
Коды ошибок HTTP: полный список ошибок сервера
Содержание
Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.
Что такое код ответа HTTP
Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос.
Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.
Как проверить код состояния страницы
Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.
В браузере
Для примера возьмём Google Chrome.
Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы».
Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу:
Как посмотреть код ответа сервера в инструментах разработчика в браузере
В Яндекс.Вебмастере
Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:
Как посмотреть код состояния в Вебмастере
В Google Search Console
Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:
Проверка URL в инструменте GSC
Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».
Изучить просканированную страницу в GSC
А затем в открывшемся окне перейдите на вкладку «Подробнее»:
HTTP код страницы в GSC
Теперь расскажем подробнее про все классы кодов состояния HTTP.
1* класс кодов (информационные сообщения)
Это системный класс кодов, который только информирует о процессе передачи запроса. Такие ответы не являются ошибкой, хотя и могут отображаться в браузере как Error Code.
100 Continue
Этот ответ сообщает, что полученные сведения о запросе устраивают сервер и клиент может продолжать отправлять данные. Такой ответ может требоваться клиенту, если на сервер отправляется большой объём данных.
101 Switching Protocols
Сервер одобрил переключение типа протокола, которое запросил пользователь, и в настоящий момент выполняет действие.
102 Processing
Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.
103 Checkpoint
Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.
POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса.
Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные.
Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.
105 Name Not Resolved
Не удается преобразовать DNS‑адрес сервера — это означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.
2* класс кодов (успешно обработанные запросы)
Эти коды информируют об успешности принятия и обработки запроса. Также сервер может передать заголовки или тело сообщений.
200 ОК
Все хорошо — HTTP‑запрос успешно обработан (не ошибка).
201 Created
Создано — транзакция успешна, сформирован новый ресурс или документ.
202 Accepted
Принято — запрос принят, но ещё не обработан.
203 Non‑Authoritative Information
Информация не авторитетна — запрос успешно обработан, но передаваемая информация была взята не из первичного источника (данные могут быть устаревшими).
204 No Content
Нет содержимого — запрос успешно обработан, однако в ответе только заголовки без контента сообщения. Не нужно обновлять содержимое документа, но можно применить к нему полученные метаданные.
205 Reset Content
Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.
206 Partial Content
Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.
GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ.
Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с получением данных, а POST‑запрос нужен для отправки данных.
При работе с подобными ответами следует уделить внимание кэшированию.
207 Multi‑Status
Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus.
226 IM Used
Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).
3* класс кодов (перенаправление на другой адрес)
Эти коды информируют, что для достижения успешной операции нужно будет сделать другой запрос, возможно, по другому URL.
300 Multiple Choices
Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.
301 Moved Permanently
Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.
302 Found/Moved
Временно перемещено — страница временно перенесена на другой URL, который указан в поле Location.
303 See Other
Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.
304 Not Modified
Модификаций не было — с момента последнего визита клиента изменений не было.
305 Use Proxy
Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.
306 Unused
Зарезервировано. Код в настоящий момент не используется.
307 Temporary Redirect
Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.
Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.
308 Resume Incomplete
Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.
4* класс кодов (ошибки на стороне клиента)
Эти коды указывают на ошибки со стороны клиентов.
Скриншот страницы с ошибкой 404 с сайта modcloth.com
400 Bad Request
Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).
401 Unauthorized
Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.
Для доступа к запрашиваемому ресурсу клиент должен представиться, послав запрос, включив при этом в заголовок сообщения поле Authorization.
402 Payment Required
Требуется оплата — зарезервировано для использования в будущем. Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний.
403 Forbidden
Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.
404 Not Found
Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).
405 Method Not Allowed
Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.
406 Not Acceptable
Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).
407 Proxy Authentication Required
Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.
408 Request Timeout
Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение и просто обновите страницу.
409 Conflict
Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).
410 Gone
Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и недоступен (серверу неизвестно месторасположение).
411 Length Required
Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length.
Нужно исправить заголовки на сервере, и в следующий раз робот сможет проиндексировать страницу.
412 Precondition Failed
Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.
413 Request Entity Too Large
Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.
414 Request‑URI Too Long
Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.
415 Unsupported Media Type
Формат не поддерживается — сервер не может принять запрос, так как данные подгружаются в некорректном формате, и сервер разрывает соединение.
416 Requested Range Not Satisfiable
Диапазон не поддерживается — ошибка возникает в случаях, когда в самом HTTP‑заголовке прописывается некорректный байтовый диапазон.
Корректного диапазона в необходимом документе может просто не быть, или есть опечатка в синтаксисе.
417 Expectation Failed
Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».
418 I’m a teapot
Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.
422 Unprocessable Entity
Объект не обработан — сервер принял запрос, но в нём есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.
423 Locked
Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.
424 Failed Dependency
Неуспешная зависимость — сервер не может обработать запрос, так как один из зависимых ресурсов заблокирован.
Выполнение запроса напрямую зависит от успешности выполнения другой операции, и если она не будет успешно завершена, то вся обработка запроса будет прервана.
425 Unordered Collection
Неверный порядок в коллекции — ошибка возникает, если клиент указал номер элемента в неупорядоченном списке или запросил несколько элементов в порядке, отличном от серверного.
426 Upgrade Required
Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection.
Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.
428 Precondition Required
Нужно предварительное условие — сервер просит внести в запрос информацию о предварительных условиях обработки данных, чтобы выдавать корректную информацию по итогу.
429 Too Many Requests
Слишком много запросов — отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS‑атаки, для защиты от которой запросы блокируются.
431 Request Header Fields Too Large
Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.
Исправляется это с помощью сокращения заголовков и повторной отправки запроса.
434 Requested Host Unavailable
Адрес запрашиваемой страницы недоступен.
444 No Response
Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.
Nginx — программное обеспечение с открытым исходным кодом. Его используют для создания веб‑серверов, а также в качестве почтового или обратного прокси‑сервера. Nginx решает проблему падения производительности из‑за роста трафика.
449 Retry With
Повторите попытку — ошибка говорит о необходимости скорректировать запрос и повторить его снова. Причиной становятся неверно указанные параметры (возможно, недостаточно данных).
450 Blocked by Windows Parental Controls
Заблокировано родительским контролем — говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров системы родительского контроля.
451 Unavailable For Legal Reasons
Недоступно по юридическим причинам — доступ к ресурсу закрыт, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав.
456 Unrecoverable Error
Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.
499 Client Closed Request
Запрос закрыт клиентом — нестандартный код, используемый nginx в ситуациях, когда клиент закрыл соединение, пока nginx обрабатывал запрос.
5* класс кодов (ошибки на стороне сервера)
Эти коды указывают на ошибки со стороны серверов.
При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.
Изображение страницы с ошибкой сайта REG.RU
500 Internal Server Error
Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос.
Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
501 Not Implemented
Не выполнено — код отдается, когда сам сервер не может идентифицировать метод запроса.
Сами вы эту ошибку не исправите. Устранить её может только сервер.
502 Bad Gateway
Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.
Актуально исключительно для прокси и шлюзовых конфигураций.
503 Service Unavailable
Временно не доступен — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее).
В поле Retry‑After заголовка сервер укажет время, через которое можно повторить запрос.
504 Gateway Timeout
Тайм‑аут шлюза — сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.
Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере.
Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.
505 HTTP Version Not Supported
Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.
506 Variant Also Negotiates
Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.
507 Insufficient Storage
Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.
508 Loop Detected
Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.
509 Bandwidth Limit Exceeded
Превышена пропускная способность — используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру.
510 Not Extended
Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.
511 Network Authentication Required
Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.
Redirects: 301, 302, 307 | How-To 301 guide
What is redirection?
Redirection is a way of forwarding the user to the URL that is different from the one they initially clicked on. Down below some of the most common types of redirection are listed.
301 Moved Permanently
A 301 redirect is a permanent redirect which passes between 90-99% of link equity (ranking power) to the redirected page. 301 signals that the page has been moved to another URL and the old URL is outdated.
302 Found (HTTP 1.1) / Moved Temporarily (HTTP 1.0)
302 is a temporary redirect which passes 0% of link equity, and shouldn’t be used in most cases.
As of now, the internet runs on an HTTP protocol which dictates how URLs work. In two versions of this protocol, the HTTP response status code is different:
307 Moved Temporarily (HTTP 1.1 Only)
A 307 redirect is the HTTP 1.1 successor of the 302 redirect. While the major crawlers will treat it like a 302 in some cases, it is best to use a 301 for almost all cases. The exception to this is when content is really moved only temporarily (such as during maintenance) and the server has already been identified by the search engines as 1.1 compatible.
Since it’s essentially impossible to determine whether the search engines have identified a page as compatible, it is generally best to use a 302 redirect for content that has been moved temporarily.
Other redirection types
There are also some other types of redirection: Meta Refresh or JavaScript redirection that are executed on the page level rather than the web server level. This is what a typical Meta Refresh redirect looks like:
It’s best not to use these types of redirect, as they are often used by spammers and doorway pages. Besides, they pass little to none of the link juice.
Examples of using redirects
Redirecting your domain to a non-www URL:
Redirecting your domain to a www URL:
To choose which URL to make canonical, consider:
When developing a website, it’s important to choose whether you want to add a slash to the links, because the search engines consider the links
— www.site.com/cat1
and
— www.site.com/cat1
to be different. Then, you’ll have to add the following code:
To delete the slash from the URLs:
To add the slash to the URLs:
To redirect the user from one page to another:
Redirecting the main page duplicates
This code ensures that if there are multiple versions of the direct link to the main page (index, etc.), they will all redirect to the canonical main page:
If the URLs reflect the structure of a catalog, changes in the catalog will lead to changes in the URLs. In this case, use the following redirect:
But, if the URL of the previous catalog comes right after the name of a domain: www.site.com/old-catalog, use this code:
If you’ve switched platforms or a CMS and only the URLs’ extension has changed, use this redirect:
Examples of using redirection to avoid duplicate pages
In case you’ve bought several domains with multiple TLDs, OR used a subdomain to develop a new website and forgot to block it from being indexed by the search engines. Either way, you have to set up redirection to the root domain:
That way, all the (sub-)domains like www.site.org, www.site.net, test.site.com, will redirect to www.site.com
Deleting multiple slashes/hyphens from the URLs
Sometimes, user can accidentally type in multiple slashes, e.g. www.site.com/catalog////page-1.html. In this case, you have to set up a 301 redirect to a page with a single slash www.site.com/catalog/page-1.html:
In the same way, you can set up a redirect from a URL with multiple hyphens (for example, www.site.com/catalog/page—1.html) to www.site.com/catalog/page-1.html:
Redirecting from any URL to a lowercase URL
The search engines notice the letter case, so it’s best to have your URLs in lowercase. If you haven’t developed your website with this in mind, you can use this PHP-script:
How to move your website to a new domain? The optimal strategy for a 301 redirect
According to the most popular search engines, the best strategy for moving to a new domain is:
Generating 301 redirects
If you’re not particularly tech-savvy, you can use the online services for generating basic redirects:
How to test the 301 redirect
With every change in 301 redirect, you need to test the site’s performance:
301 redirect VS Canonical — which one to use & when?
Minor details aside, in order to understand what exactly do we want to say, Google offers some clear-cut rules. In very simple terms, this is how the search engines understand our commands:
301: okay, google (or any other search engine), my page isn’t there anymore and it’s been permanently moved to a new URL. Please, delete the old link from the index, and pass the link juice to the new page.
Canonical: okay, google, I’ve got multiple versions of the same page (or its content), so, please, index only the canonical version. I will keep the other versions for people to see, but don’t index them, please, and pass the link juice to the canonical page.
When is it better to use a 301 redirect?
When is it better to use rel= «canonical»?
Both solutions pass the link juice and both are ranked by Google equally. 301 redirect is a bit more preferred, though.
Redirection mistakes
If you have any questions, ask them down below. I will try my best to help you!
What Is HTTP 302 Error & How to fix it? [4 Tested Methods Explained]
Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:
Here are some of the questions:
In this article, I will answer all these questions so that you have more clarity to proceed in each case.
What is 302 redirect?
Code 302 indicates a temporary redirection.
One of the most notable features that differentiate it from a 301 redirect is that, in the case of 302 redirects, the strength of the SEO is not transferred to a new URL.
This is because this redirection has been designed to be used when there is a need to redirect content to a page that will not be the definitive one.
Thus, once the redirection is eliminated, the original page will not have lost its positioning in the Google search engine.
Although it is not very common that we find ourselves in need of a 302 redirect, this option can be very useful in some cases. These are the most frequent cases:
A redirect 302 is a code that tells visitors of a specific URL that the page has been moved temporarily, directing them directly to the new location.
In other words, redirect 302 is activated when Google robots or other search engines request to load a specific page. At that moment, thanks to this redirection, the server returns an automatic response indicating a new URL.
In this way errors and annoyances are avoided both to search engines and users, guaranteeing smooth navigation.
What is a redirect 302 for?
The redirect 302 serves, for example, to have several versions of a homepage in different languages.
The main one can be in English, but if the visitors come from other countries then this system automatically redirects them to a page in their language.
In this way, a mobilization of web traffic is achieved, but at the same time, the influence at the SEO level of the main page is not diluted. This continues to grow, even though there is no transfer of authority, as we explained earlier.
HTTP 302 redirect example
The most common HTTP 302 redirect example case is Google.
Regardless of the country from which you access, if you type in https://www.google.com/, you will be redirected to the Google version in the language/country that corresponds to you.
In case of Germany, 302 automatically take us to https://www.google.de/ so that we can search for content in German.
Portals of successful companies such as Coca-Cola or even Fujitsu also use this system to redirect traffic to where they consider most convenient.
What causes HTTP 302 error?
Here are some of the most common reasons for the 302 redirect error:
HTML redirect 302 is not recommended when the method of the original request is to be applied to the request of the destination URL — for example, moving the URL of a form directive that uses the POST method for a specific period.
You should not use the status code 302 if you want to transfer SEO-weight to the destination URL.
How to identify HTTP 302 error?
Verifying that the 301 and 302 redirect settings are correct is very easy.
When entering into the address bar of the old address, we observe what is happening.
The change of address indicates that everything is fine with the redirect.
The address remains the same – you need to look for the source of the problem, but first, we advise you to clean the cache and try again.
There is another option – to apply for checking the server response code to online services, for example, http://example.com/e_redirect/.
If you set up a redirect correctly, after entering the domain name, you will see the response code 301 or 302. It depends on what kind of redirection you planned to receive initially.
Some services additionally display the code given by the server after the redirect, and here there is only one valid option – 200 OK.
How to fix HTTP 302 error?
Method 1: Check the server configuration
The application may run on the server that uses one of these two most common web server programs, Nginx or Apache. These two web servers account for more than 84 percent of the global web server program!
Therefore, the first step in determining the 302 response code is checking the mandatory redirect instructions in the webserver program configuration file.
For Apache web Server
Step 2: Find the mod_rewrite directives
However, the core idea is that the RewriteCond directive outlines a text model that is compared to the registered URL. When a visitor requests the corresponding URL on a site, the RewriteRule directive which tracks one or multiple RewriteCond instructions will actually redirect the request toward the corresponding URL.
For instance, the following is an easy combination of RewriteRule and RewriteCond that satisfies all the requirements of example.com, but instead inserts a temporary redirect into the same URI in the temporary domain — example.com:
Notice the additional banner at the bottom of RewriteRule, which clearly illustrates that a response code has to be 302, showing to the browser agent that it is a temporary redirect.
For Nginx web server
Step 1: Open the nginx.conf file
If your web server is operating on Nginx, you should look for a totally different file of configuration. This file is specified as nginx.conf by default and found in one of the common directories listed below:
/usr/local/nginx/conf, /etc/nginx or, /usr/local/etc/nginx.
Step 2: Rewrite the directives on nginx.conf file
After detection, open the nginx.conf file in your text editor and find the rewrite directives that are relating to the redirect indicator.
For example, this is a plain block directive (declared a set of statements) that sets up the virtual server through generating a temporary redirect from abc.com to a temporary-abc.com:
Nginx rewrites directives are parallel to Apache RewriteRule and
RewriteCond because they usually comprise more complicated text-oriented search patterns.
Step 3: Check the replacement policy of nginx.conf file
In any case, check the nginx.conf file for the exception replacement policy that contains a redirect flag (other permanent flag return response code 301).
Please note any exceptions before you restart the server in order to check if the problem is resolved.
Method 2: Search for out-of-date software
The specification document of RFC for HTTP 1.0 states that the aim of a “302 Found” response code is intended to indicate that the client should execute a temporary redirect.
However, many new browsers will process the code 302 received through the POST request as an invalid GET request.
This has triggered snags and confusion with particular web server programs that attempt to force the browser to perform the right work when it needs to be redirected temporarily.
To solve this problem, the RFC HTTP 1.1 specification document returned 303 response codes, another 307 temporary redirects, which is an understandable way to manage POST-to-GET or temporary, transient responses.
Method 3: Cleaning the Logs
Almost all web applications store records on the server. The application log usually represents the application history, like which pages, servers were requested and connected, which were obtained from the provided database, and so on.
The server logs are connected to the current device that runs the programs and usually contains information about the status and health of all the connected services, and even the information about the server.
Google record [PLATFORM_NAME] in the CMS or use [PROGRAMMING_LANGUAGE] to register and register [OPERATING_SYSTEM] when launching the custom application for more information to get these records.
Method 4: Fix the application code
In the case, all the above-discussed methods fail, the problem may be in the user code of the application that caused the problem.
Try to determine the cause of the problem by manually locating the application and analyzing it in the server and application log files.
It’s a good idea to copy the full application to your local development computer and step through it to see exactly what happens to the 302 scans and see the code for each application.
HTTP 302 Error: Conclusion
Finally, as you have seen, we do not have to fear a lot about the HTTP 302 redirect errors. Without going any further, they are a fantastic way to avoid losing traffic on our web pages with the inevitable changes that arise over the years.
I hope that, after reading this article, you will not get chills every time about how do I fix the 302 moved temporarily error.
Whether you want to make a contribution to the post or if you have a question or just want to give your opinion, do not hesitate to comment below!
Коды состояния HTTP: проверяем ответы сервера и убираем ошибки
Обычные посетители сайта обращают внимание в первую очередь на качественный контент, а поисковые краулеры – на ответы сервера. Если вовремя не проанализировать коды состояния, то будущее вашего сайта может стать весьма печальным.
Сегодня научимся проверять код как одной страницы, так и всех сразу, а также разберем все коды ответа и узнаем, что именно они означают.
Немного теории
Определить доступность веб-страницы поможет анализ кода состояния HTTP. Технически он представляет из себя стандартный запрос. Он отправляется, когда мы переходим по определенной ссылке на сайте или просто вводим ее в поисковой строке браузера. При обработке запроса сервер самостоятельно формирует и отдает трехзначный цифровой код.
Благодаря коду ответа понять реакцию сайта на запрос может не только поисковый краулер, но и обычный пользователь. Здесь нет ничего сложного даже для начинающих вебмастеров.
Сперва определимся с терминами.
Выделяют пять классов ответов. Идентифицировать класс можно по первой цифре.
Логика кодов, таким образом, весьма проста:
Что значат коды состояния HTTP
Причины / решения / пояснения ошибок, я буду давать только для самых часто встречающихся кодов. Для всех остальных – только краткое описание.
Двухсотые – успешные запросы
200 – успешный запрос данных. Код не является ошибкой.
201 – завершена успешная транзакция. Код говорит о том, что сформирован новый ресурс (или документ).
202 – запрос принят, но еще не завершен. Необходимо дождаться окончания обработки.
203 – данные получены не из первоисточника (возвращаемые данные идут не от исходного сервера, а от какого-то другого) и могут быть устаревшими.
204 – запрос был обработан правильно, но отсутствует содержимое. Есть заголовок ответа, но содержимое для него отсутствует. Обновлять и актуализировать содержимое не нужно.
205 – клиенту необходимо осуществить сброс содержимого. Саму страницу обновлять не требуется.
206 – ошибка частичного содержимого. Если клиент хочет выполнить загрузку данных в несколько потоков, а сервер выполняет только часть GET-запроса, будет возникать 206-ая ошибка.
GET-запрос предназначен для получения данных, в то время как POST-запрос нужен для отправки данных.
Код также может быть отправлен с сервера, когда клиент запросил диапазон (например, условно: «Дайте мне первые 2 МБ видеоданных»). Происходит возврат только частичного контента, соответствующего Range-заголовку (данный заголовок дает понять серверу, какую именно часть страницы от него требуют, и какую ему нужно вернуть).
Если страница отдает этот код, следует обратить внимание на выполнение кэширования и на исходящий запрос.
207 – выполнено несколько операций. Найти их можно в XML, в строке MultiStatus.
Трехсотые – запросы на редирект
300 – не удалось идентифицировать точный URL. Такой ответ возникает, когда существует множественный выбор, и краулер не знает, к какой именно странице относится ресурс.
301 – документ был навсегда перемещен на новый URL. Так должны отвечать все веб-страницы, которые удалены или являются зеркалами, дублями. Со временем все указанные страницы будут склеены с целевой веб-страницей (присоединены к ней) автоматически. Если возникает такая ошибка, нужно настроить 301-ое перенаправление с устаревшего URL на актуальный (если речь идет о веб-странице, которая уже ранжировалась, но ее URL изменился). В таком случае все позитивные метрики, включая вес URL, будут сохранены.
302 – документ был временно перемещен на новый URL. Это абсолютно корректный ответ сервера, который актуален для веб-страниц с распродажами или сезонными акциями, распространяющимися на какой-либо товар. Код указывает, что данный URI будет учитываться клиентом в последующих запросах. Другими словами, страница была найдена, но перенесена. Такие документы из индекса не удаляются. Если адрес был изменен навсегда, вместо 302-го, лучше использовать 303-ий или 307-ой ответ.
303 – нужно направить пользователя на иной URL. 303-ый код можно получить исключительно GET-запросом. В идеале, этот код нужно отдавать, когда требуется редиректнуть посетителя на близкорелевантую, но не идентичную странице.
304 – документ не модифицировался. Этот код не является стандартным редиректом. Он помогает краулерам определять страницы, которые не изменились с последнего визита.
Если на вашем сайте немного страниц (до 1 000), использовать код 304 нет смысла. Если вас напрягает этот редирект, то в заголовке нужно поправить параметр Last-Modified (последняя дата изменения) – он не должен быть старше, чем заголовок If-Modified-Since (если изменялся спустя заданное количество времени).
305 – доступ к этому документу возможен исключительно через прокси.
307 – документ был временно перемещен на иной URL. Идеальный вариант, если требуется временно редиректнуть посетителя, но оставить техническую возможность отправки POST-запросов.
Четырехсотые – сбои на стороне клиента
400 – ошибка синтаксиса. Сервер не может идентифицировать запрос, так как была допущена опечатка в синтаксисе. Проверьте корректность отправляемого запроса.
401 – отсутствует аутентификация. Код отдается, когда для доступа требуется пароль или регистрация.
403 – отсутствует доступ к документу. Возникает, когда пользователь хочет открыть системные файлы (robots, htaccess). Либо вы сделали опечатку при вводе URL и пытаетесь воспользоваться веб-страницей, которая не предназначена для обычного пользователя, либо вам нужно: пройти авторизацию для доступа к системным файлам.
404 – отсутствует соответствующий ресурс по введенному URL. Разберитесь, по каким причинам была удалена / перемещена страница. Возможно, вы допустили ошибку и удалили ее случайно. Если так – просто восстановите ее.
405 – некорректный метод (указывается в запросной строке клиента) для выбранного документа. Метод запроса определяет точное действие, которое должно быть выполнено для указанного ресурса.
406 – некорректный / неподдерживаемый краулером формат запроса. Код отдается, когда сервер не способен возвратить ответ, релевантный листу допустимых значений. Самый распространенный случай – поисковый робот не поддерживает кодировку документа или его язык. Убедитесь, что в теле сообщения содержится лист доступных ресурсов. Подробное описание ошибка на сайте веб-разработчиков Mozilla.
407 – отсутствует регистрация прокси или авторизация файервола.
408 – таймаут запроса. Соединение разорвано, так как полный запрос не был передан. Другими словами, запрос занял слишком много времени, а сервер не готов был ждать. На каждом сайте существует свое время таймаута. Проверьте наличие интернета и просто обновите страницу. Подробное объяснение этой ошибки на сайте веб-разработчиков Mozilla.
409 – несовместимость двух запросов. Запрос невозможно выполнить при текущем состоянии сервера. Самый распространенный случай – операции c PUT-запросом. Например, когда нужно скачать файл, возраст которого превышает возраст уже существующего, расположенного на сервере.
410 – ресурс более не существует по указанному URL. Если страница удаляется целенаправленно, лучше делать так, чтобы она отдавала именно 410-ый. Краулер обойдет такую страницу, получит этот код и больше никогда на нее не вернется, так как поймет, что она удалена навсегда. Если речь о веб-странице, которая была удалена временно, гораздо эффективнее использовать 404-ый ответ. Если страница удалена намерено и навсегда, но в SERP имела хорошие места и приносила трафик, лучше сделать редирект на максимально релевантную существующую страницу.
411 – сервер сам отклоняет отправляемый запрос, так как не находит значение Content-Length. Этот ответ характерен как для обычных POST-запросов, так и для PUT-запросов (подразумевают замену существующих представлений документа на данные, которые содержатся в самом запросе).
412 –не были до конца выполнены условные поля HTTP-заголовка, например, If-Match. 412-ый код появляется в случаях, когда доступ к целевому документу отклоняется. Нужно проверить соблюдение и корректность HTTP-заголовков выполняемого запроса.
413 – у каждого сервера есть свой собственный максимальный размер запроса, определяемый не самим HTTP-протоколом (у него ограничения по длине запроса просто напросто отсутствуют), а ограничениями со стороны браузеров. Браузеры поддерживают запросы от 2 до 8 килобайт. Вышеуказанный код отдается, когда сервер не понимает запрос из-за слишком большого размера.
414 – возникает, когда отправляется чрезвычайно длинный URL. Запросы, содержащие излишне длинные URL, не могут правильно интерпретироваться сервером. Самые частые случаи появления этого ответа – попытка передать удлиненные параметры (излишне большое количество данных через GET- запрос).
415 – некорректный медиаформат. Текущий тип данных не может быть интерпретирован сервером.
416 – некорректное значение Range (диапазон). Ответ возникает в случаях, когда в самом HTTP-заголовке прописывается некорректный байтовый диапазон. 416-ый отдается в случаях, когда сервер не может взаимодействовать с запрашиваемыми диапазонами. Причина – отсутствие диапазона в необходимом документе или опечатка в синтаксисе.Сервер просто не имеет возможности работать с запрашиваемыми диапазонами. Проверьте синтаксис значения Range – он должен обязательно соблюдаться. Скорее всего, документ просто не имеет запрашиваемых диапазонов. Обновите страницу.
417 – указанное значение Expect не может быть удовлетворено (речь о заголовке запроса). Прокси некорректно идентифицировал содержимое поля «Expect: 100-Continue». Устранить эту ошибку самостоятельно не удастся. Если вы используете прокси Squid, обратитесь в поддержку. Вам нужно активировать ignore_expect_100. Другой вариант разрешите BS_PingHost обращаться к интернет-сети без участия прокси.
422 – существует определенная логическая ошибка. Какая именно, данный код не указывает. Копайте в сторону ошибок в семантике документа.
423 – используемый ресурс был заблокирован для выбранного HTTP—метода. Перезагрузите роутер и компьютер. Используйте только статистический IP.
424 – зависимый ресурс был блокирован по соображением безопасности. Данный код отдается, если в запросе присутствуют признаки несанкционированного доступа к файлам CMS.
426 – некорректные значения полей Upgrade и Conection. Этот ответ возникает, когда серверу требуется обновление до SSL-протокола, но клиент не имеет его поддержки.
429 – слишком много запросов. Ошибка отдается, когда один пользователь проявляет чрезмерно большую активность за короткий временной интервал. Проверьте плагины используемой CMS. В идеале, отключите их все и включайте по очереди, пока не доберетесь до источника проблемы.
451 – доступ к серверу заблокирован по решению судебных органов. Можно плодить бесконечные дубли или вообще создать новый домен, но рано или поздно страницу с идентичным содержимым все равно заблокируют. Временное решение – разместить проблемное содержимое на другом домене. Провайдеры могут подстраховаться и блокировать не только отдельные страницы, но и сайты целиком. Не нарушать закон – единственное, что можно посоветовать в этом случае.
Пятисотые – серверные сбои
500 – серверу не удается полностью обработать запрос. Такой код отдается, когда существует непредвиденное условие, мешающее выполнению запроса. Чаще всего внутренняя ошибка сервера может появляться при серверных сбоях. Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess), нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
Проверяйте конфликты плагинов и дополнений. Нередко 500-ая возникает, когда в настройках административной панели хостинга указана одна версия PHP, а на самом сайте используется другая. Последнее также создает высокую статическую нагрузку на хостинг. Если вам было бы узнать о пятисотой подробнее, пишите в комментариях, и я напишу развернутый материал на эту тему.
501 – не выполнено. Этот код отдается, когда сам сервер не может идентифицировать метод запроса. Сами вы эту ошибку не исправите. Устранить ее может только сервер.
502 – шлюзовый сбой. Возникает при получении некорректного ответа от сервера, находящегося по иерархии выше. Актуально исключительно для прокси и шлюзовых конфигураций.
503 – данный ответ возникает в случаях, когда существуют технические неполадки, не позволяющие интерпретировать введенный запрос. Скорее всего, ваш сервер просто на обслуживании или сильно перегружен. Уменьшите число перманентных запросов к базам данных. Убедитесь, что на сервере нет профилактических или других работ, ограничивающих его пропускную способность. Не используйте VPN.
504 – отсутствует ответ. Этот код отдается в одной ситуации – если сервер не может получит ответ за необходимый период времени. Отклика нет и возникает таймаут. Как и 501-ый ответ, 504-ый исправить самостоятельно не получится. Здесь дело в прокси, часто – в веб-сервере. Первым делом просто обновите веб-страницу. Если не помогло, нужно почистить DNS-кэш. Для этого используем сочетание горячих клавиш Windows+R и вводим команду cmd (Control+пробел). В открывшемся окне указываем команду ipconfig / flushdns и подтверждаем ее нажатием Enter.
Теперь все сбои будут фиксировать в файле debug.log (находится в папке wp-сontents). Если вы используете другую CMS, найдите к ней мануал и посмотрите, как активировать в ней журнал ошибок.
Также 504-ая отдает, когда на сайте существуют проблемы, связанные с задействованием CDN или кастомизированных серверов DNS. Отключите CDN на своем сайте.
505 – отсутствует поддержка текущей версии HTTP-протокола.
507 – не хватает места на жестком диске для выполнения запроса.
510 – не найдено расширение, желающее задействовать клиент.
Массово проверяем ответ веб-страницы
Самый простой способ проверить ответ веб-страницы – воспользоваться готовыми сервисами. Наиболее популярны:
Возьмем для примера mainspy. Тут проверить код ответа проще всего:
Таким образом, для проверки кода просто открываем страницу и вводим необходимые URL. Кликаем «Проверить». Будет выведен отчет. Напротив каждого проверяемого URL будет отображаться код ответа сервера:
Кроме перечисленных сервисов есть также замечательный плагин для Google Chrome – HTTP Header Spy. Он позволяет проверять код ответа сервера как одной, так и нескольких страниц сразу:
Послесловие
Коды ответа HTTP – это универсальный язык, который понимают не только краулеры Google / «Яндекса», но и люди. 5 классов кодов позволят с первого взгляда определить, где именно существует ошибка при выполнении HTTP запроса и куда копать для ее устранения.
Если ваш код ответа не указан в этом мануале, значит речь идет о кастомизированном сервере. Чтобы правильно истолковать ответ такого сервера и перевести его на человеческий язык, придется обратится к его разработчику.
В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров
HTTP коды
1xx – информационные
100 Continue HTTP/1.1
«Продолжай» – сервер принял запрос, клиент может продолжать присылать заголовки.
101 Switching Protocols HTTP/1.1
2xx – успешные запросы
200 OK HTTP/1.0
«Успешный запрос» – если клиентом были запрошены какие-либо данные, то они находятся в заголовках и/или теле ответа.
201 Created HTTP/1.0
202 Accepted HTTP/1.0
«Принято» – запрос был принят, но еще не обработан.
203 Non-Authoritative Information HTTP/1.1
«Информация не авторитетна» – успешный запрос, но передаваемая информация может быть неактуальной.
204 No Content HTTP/1.0
«Нет содержимого» – сервер успешно обработал запрос, но в ответе были переданы только заголовки.
205 Reset Content HTTP/1.1
«Сбросить содержимое» – сервер обязывает сбросить введенные пользователем данные.
206 Partial Content HTTP/1.1
«Частичное содержимое» – сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого.
3xx – перенаправления
300 Multiple Choices HTTP/1.0
«Множество выборов» – по запросу существует несколько вариантов ресурса (по MIME, языку и т.д.). Сервер передает список альтернатив, давая клиенту возможность сделать выбор.
301 Moved Permanently HTTP/1.0
301-й редирект в PHP
302 Found HTTP/1.0
303 See Other HTTP/1.1
«Смотреть другое» – сервер сообщает что документ нужно запросить по адресу переданному в заголовке Location с использованием GET-метода.
Используется для перенаправления после отправки формы методом POST (метод Post/Redirect/Get).
304 Not Modified HTTP/1.0
«Не изменялось» – сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Подробнее о заголовках Last-Modified.
305 Use Proxy HTTP/1.1
307 Temporary Redirect HTTP/1.1
308 Permanent Redirect HTTP/1.1
4xx – ошибки клиента
400 Bad Request HTTP/1.0
«Неверный запрос» – запрос не может быть понят сервером из-за некорректного синтаксиса.
401 Unauthorized HTTP/1.1
«Неавторизованный запрос» – для доступа необходимо ввести логин и пароль.
402 Payment Required HTTP/1.1
«Необходима оплата за запрос» – в настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов.
403 Forbidden HTTP/1.0
«Доступ к ресурсу запрещен» – сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.
404 Not Found HTTP/1.0
«Ресурс не найден» – документ не существует.
Отправка 404-го кода в PHP
405 Method Not Allowed HTTP/1.1
406 Not Acceptable HTTP/1.1
«Неприемлемый запрос» – нужный документ существует, но не в том формате (язык или кодировка).
407 Proxy Authentication Required HTTP/1.1
«Требуется идентификация прокси» – ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера.
408 Request Timeout HTTP/1.1
«Время запроса истекло» – клиент не передал полный запрос в течение установленного времени и сервер разорвал соединение.
409 Conflict HTTP/1.1
«Конфликт» – запрос конфликтует с другим запросом или с конфигурацией сервера. Например, такое возможно когда два клиента пытаются изменить ресурс с помощью метода PUT.
410 Gone HTTP/1.1
«Недоступен» – такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был окончательно удален с сайта. Если документ в ближайшее время может быть восстановлен, то лучше передать 404-й код.
411 Length Required HTTP/1.1
412 Precondition Failed HTTP/1.1
«Условие ложно» – при проверке на сервере одного или более заголовков обнаружено несоответствие.
413 Payload Too Large HTTP/1.1
«Тело запроса превышает допустимый размер» – сервер отказывается обрабатывать запрос из-за слишком большого размера тела.
414 URI Too Long HTTP/1.1
«Недопустимая длина URI запроса» – сервер не может обработать запрос из-за слишком длинного URI.
415 Unsupported Media Type HTTP/1.1
«Неподдерживаемый MIME» – сервер отказывается работать с указанным типом данных.
416 Range Not Satisfiable HTTP/1.1
«Диапазон не может быть обработан» – в заголовке Range был указан недопустимый диапазон байтов.
417 Expectation Failed HTTP/1.1
«Сбой при ожидании» – сервер отказывается обрабатывать запрос, потому что значение заголовка Expect не соответствует ожиданиям.
426 Upgrade Required
«Требуется обновление» – сервер отказывается выполнять запрос с использованием текущего протокола. Введено в для возможности перехода к TLS.
5xx – ошибки сервера
500 Internal Server Error HTTP/1.0
Включить показ ошибок PHP
501 Not Implemented HTTP/1.0
«Не реализовано» – сервер не имеет возможностей для обработки запроса.
502 Bad Gateway HTTP/1.0
«Плохой, ошибочный шлюз» – сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.
503 Service Unavailable HTTP/1.0
«Сервис недоступен» – сервер временно не может обрабатывать запросы по техническим причинам. В заголовке Retry-After указывается время, через которое клиенту рекомендуется повторить запрос.
504 Gateway Timeout HTTP/1.1
«Шлюз не отвечает» – сервер в роли прокси-сервера не дождался ответа от вышестоящего сервера.
505 HTTP Version Not Supported HTTP/1.1
«Версия HTTP не поддерживается» – сервер не поддерживает предлагаемую версию протокола HTTP.
302 Status Code: What It Is + Its Impact on SEO
If you’ve spent any time on the internet, chances are you’ve encountered an HTTP status code.
In simple terms, HTTP status codes are standard response codes that show the relationship between all the things that go on in the background when you travel from web page to web page. Things like the user agent (i.e., your web browser), the server, the web page you’re trying to load, and any third-party web applications you might be running.
Because of the complexity of how all those elements interact, there are many possible HTTP status codes you can run up against.
HTTP status codes identify and diagnose the particular blocker preventing you from loading a resource, and can give you information about the journey you took on the way to a page.
In this article, we’ll cover what you need to know about the HTTP 302 status code – jargon-free.
What is an HTTP 302?
The 302 status code is a redirection message that occurs when a resource or page you’re attempting to load has been temporarily moved to a different location. It’s usually caused by the web server and doesn’t impact the user experience, as the redirect happens automatically.
For starters, it’s helpful to know that all HTTP messages with 3xx are redirection messages.
Say blog.hubspot.com no longer exists, and the content is now permanently housed on blogging.hubspot.com. This would trigger a 301 status code, which indicates a permanent redirection from one location to another.
The 302 redirect, on the other hand, is only temporary. A good example of when to use a 302 status code is for localization and language purposes.
For instance, if you visit a clothing website based in the United Kingdom but you are located in the United States. A 302 redirect would send you to the US version of the site to ensure the currency and other content are displayed correctly, according to your location.
You can also use a 302 status code when:
While this list is not exhaustive, here’s the golden rule to keep in mind: Only use a 302 redirect if the change is temporary.
Furthermore, a 302 status code happens on the server-side and shouldn’t be noticed by users if set up correctly. The web server serving up the 302 redirect will immediately indicate the new location of the page to your browser (and search engines) and should send users there right away.
How a 302 Status Code Affects SEO
From an SEO perspective, it’s important to understand how a 302 status code can impact your ranking and when you should use it.
Firstly, if the location of a page has changed and a redirect has not been set up, this can lead to a 404 status error (i.e., your page cannot be found) and affect your ranking. After all, Google won’t want to send users to a page that leads to nowhere.
One benefit of using a redirect like this is that you don’t have to sacrifice your ranking when you temporarily send users elsewhere.
Say you’re using it to redirect users from a sold-out product page to a relevant product page. You wouldn’t want your unavailable product’s page to drop in ranking, just because it’s currently unavailable. With a 302 status code, you can maintain your ranking.
However, this also means that your temporary URL will not benefit from any link juice because Google knows it won’t be there long.
For comparison, a 301 code typically sends most link equity to your new URL, but your page can experience some drop in ranking as a result of the redirect.
How to Identify & Implement an HTTP 302 Error
If you want to see when you’ve encountered a 302 redirect (or any type of redirect), consider using an application or Chrome extension (like this one, Redirect Path). This type of tool will show you directly in your browser when you run into a redirect.
Overall, you want to make sure you understand how redirection messages affect SEO. A 302 status code can be a great strategy when making temporary changes to your website, like testing new website features and product promotions.
So, when you’re debating between various redirection messages, make sure the one you choose aligns with your long-term strategy.
Originally published May 27, 2021 7:00:00 AM, updated May 27 2021
How to Fix HTTP 302 Error: 5 Methods + Error Variations and SEO Impact Explained
Web browsers and web servers communicate using an application protocol called the Hypertext Transfer Protocol (HTTP). Every time visitors access a website, the web browser sends a request to the web server for resources, allowing them to view the content.
However, in the case of an error, web browsers will send back a blank page with an HTTP code instead of the website content. One of the HTTP status codes you might encounter during website development is the 302 found redirect, which generates a temporary redirection.
Typically, website owners use this redirect to drive traffic to a new URL whenever the website is under heavy maintenance. However, due to the complexity of HTTP status codes, the server and client may process the incorrect 302 response code.
With this in mind, we will go over the steps to diagnose and troubleshoot unexpected 302 errors on your website. We will also take a look at the impact they can have on your website’s SEO.
First, let’s start with a more detailed explanation of the HTTP 302 redirect.
Error code | 302 Found Error |
Error type | Redirect |
Error variations | HTTP 302 Error HTTP Error Code 302 302 Status Code HTTP 302 Redirect HTTP Response 302 |
Error cause | Incorrect request sent by the server |
What Is the HTTP 302 Error?
Status codes indicate whether the HTTP request was successful. To help you identify them correctly, take a look at the five HTTP status codes below:
Therefore, an HTTP status code that starts with “3” indicates that your web browser needs to take further actions to fulfill the request.
The HTTP 302 error occurs when the requested resource has been temporarily moved to a new location. Hence, the system automatically redirects visitors to a new URL that has the resource.
The HTTP redirect starts when the web server hosting the content returns a 3xx status code and a location header that holds the new URL. Once the web browser receives this response, it automatically loads the new URL instead of displaying the 404 error not found error.
Since the current redirection directive can change, the web server should keep the initial URL to process future requests. This prompts the user agent or web browser to deliver the original request to the URL attached in the location header.
One of the most common usages of the HTTP 302 status code is localization. For example, when you access https://www.google.com/, the browser will redirect you to the localized version of Google, depending on your country.
So, if you live in India, the response 302 found will take you to https://www.google.co.in/ for easier access to local content. Big companies like eBay and Amazon also use 302 redirects to drive traffic to a local server.
5 Methods to Fix the Status Code 302 Error
The 302 found server response specifies that the requested resource has been moved temporarily to a new location. That said, a server can misunderstand and send incorrect HTTP 302 errors instead of passing an informational or successful request.
For this reason, we have included the five methods to diagnose which component of your website is sending the improper 302 found response, along with the steps to fix it.
1. Restore the Site From a Backup
Creating a full backup of a website before making any changes to the system is crucial.
A reliable backup can save your website from data loss, security breaches, and malware infection. On that note, the first step you can take is to restore your site to its stable state.
Clicking on it will present various types of backups saved on the server. If you use WordPress or another Content Management System (CMS), you will need to restore both your website files and the MySQL database.
To start, click on the Files backups button and click on Show files. If you want to restore the whole website, choose the public_html folder and click Restore files.
The next step is to restore your database. Start by selecting the Database backups option, choose the database to restore, and click Show databases.
You will see a list of available backup dates – choose your desired date, and click Restore.
The system will start downloading the backups and notify you once it’s done.
After the restoration process is complete, all the changes made until the backup date will be reverted. Hence, the HTTP 302 Error should be gone.
2. Deactivate Outdated Software
Internet standards are documented by a Request for Comment (RFC). On this note, the RFC specification for HTTP 1.0 states that the response 302 found code’s function is to command the web browser to do a temporary redirection.
If the HTTP 302 status code is delivered through the post request, the web browser should not redirect content without the user’s confirmation. However, many modern browsers automatically process this HTTP error code 302 as a GET request.
Whenever this happens, the web server software processing the request can’t perform the correct redirection. As a result, the HTTP 1.1 RFC document includes the 303 See Other to handle post-to-get requests specifically.
For this reason, we recommend deactivating outdated software that is not compliant with the HTTP 1.1 RFC. Doing so will prevent visitors from seeing irrelevant content on your website.
3. Inspect Web Server Configuration
Another step you can take to fix the error 302 redirects is to inspect the web server configuration. The two most popular web server software are Nginx and Apache – hence, your web applications most likely run on one of them.
Below, we will go over the steps of inspecting configuration files in both server programs.
Apache
To identify which web server your website is using, you will need to look for a key file that regulates the website features. With Apache, you can start locating the .htaccess (hypertext access) file on your root directory.
Simply go to your hosting control panel and open the File Manager -> public_html.
Once you have located your .htaccess file, open it using a text editor.
From there, you will see a series of RewriteXXX directives that manage HTTP redirects and permalink structures. Pay particular attention to these two:
If the request has a matching URL, the RewriteRule following the RewriteCond directives will initiate a temporary redirection to the correct URL.
Below is an example of a proper 302 temporary redirect execution:
In the previous example, the combination of RewriteCond and RewriteRule matches the requests to website.com. Hence, the system generates a temporary redirection to the same URL on the temporary-website.com domain.
Note the extra flag following the RewriteRule directive – it indicates that the response code delivered has to be a 302 found. This prompts the user agents to do a temporary redirect.
If there are any odd rewrite directives in the .htaccess file, go ahead and comment on it. Do so by adding a # prefix in front of the line that you comment on. Once you’re done, try restarting the web server to see if the error 302 has been resolved.
Nginx
If your web server is running on Nginx, you need to locate a different key file. Instead of an .htaccess file, look for the nginx.conf file located in the following directories:
Once you have found the file, open it through the text editor, and look for rewrite directives that include a redirect flag.
To understand the way the Nginx system works, take a look at the example of ablock directive below:
Rewrite directives in Nginx work similarly to those in Apache. A set of directives in the example above regulates a virtual server by generating a temporary HTTP redirection from example.com to temporary-example.com.
To ensure everything works properly on your Nginx server, try to spot any unusual rewrite directives that contain a redirect flag. Comment on such lines, and restart the system to see if the problem has been resolved.
4. Clear Error Logs
Recent changes and updates on a website can also cause the 302 found error. Thus, after completing one, don’t forget to check your website’s error log.
Most web applications will have server logs connected to the actual hardware they’re running on. These logs record every activity performed on the servers, from providing a history of the requested pages to collecting user-specific information.
Typically, hosting providers will give access to activate server logs through users’ hosting control panel. However, you can also enable error logging on your WordPress site using the WP_DEBUG PHP constant, which generates the debugging process throughout the website.
To begin, copy and paste the following lines in your wp-config.php file:
Once you’re done, all of the recorded errors will appear in the wp-content/debug.log file, making it easier for you to pinpoint which component is causing the unexpected temporary redirects.
Pro Tip
You can manually locate applications on your server and go through all application logs. This helps you determine irregularities in the application code and shows you what causes the 302 response code to appear.
Additionally, if you want to check the error log on your virtual server software, access the following file accordingly:
5. Uninstall or Temporarily Disable New Plugins or Themes
The most common cause of website errors in WordPress is conflicting plugins or themes. In some cases, a plugin might try to set up redirects that conflict with default WordPress redirects. Thus, generating an incorrect HTTP response code.
One effective way to solve this problem is by temporarily disabling plugins on your website. To do so, go to the wp-content directory and rename the plugins folder – for example, plugins-disable.
If your website is back to normal without active plugins, the next thing to do is finding which plugin causes the HTTP 302 error. Begin with renaming the plugins directory back to the original and activate the plugins one by one.
When the 302 error appears, you have detected the faulty plugin – uninstalling it should remove the error. However, if the method above yields no results, try following the same steps with your WordPress themes.
When to Use the 302 Temporary Redirect?
Essentially, an HTTP 302 response is meant for redirection rather than it being an error. Unless the server is delivering an incorrect response, the cause of 302 temporary redirects is mostly intentional.
Below are some of the most common reasons to use the 302 found responses:
Pro Tip
To perform permanent redirection, you should redirect your website using the 301 Redirect. The most notable features of this redirection are keeping all SEO values from your old page and transferring them to the new URL.
The 302 Status Code and SEO
When implemented correctly, the 302 found redirect will not hurt your site’s SEO. In fact, it plays an important role in preserving the SEO value of a website page.
The HTTP 302 redirect tells Google and other search engines that the redirection is only temporary – preventing them from deindexing the original resource. Thus, allowing you to retain SEO value like ranking and domain authority the original page might have.
However, a problem occurs when you unintentionally use the 302 redirect to move a website resource permanently. Google search engine will continue indexing the old page and ignoring the new page. Moreover, since the search engine won’t transfer any SEO value, the new page won’t have the same value as the original page.
Pro Tip
Use HTTP 302 redirects only if you plan to bring the old page back. Additionally, avoid moving SEO-weight content to a new location as doing so might affect page ranking on the SERPs.
How to Diagnose If Your Site Has the 302 Error
To identify whether your website is experiencing error 302, start by entering the original URL into the address bar and observing the URL. If your original URL changes into your destination URL, it means that the HTTP redirection is working correctly.
On the other hand, if the address stays the same, you need to identify the cause. Start by cleaning your browser cache to see whether doing so triggers the URL to change. If nothing happens, try to implement the methods we have talked about in the previous section.
Further Reading
Conclusion
The HTTP error code 302 found indicates that a specific URL has been moved temporarily to a new location. Whenever visitors, Google robots, or other search engines access the original URL, 302 redirect delivers an automatic response indicating a new address.
The 302 redirects can benefit a website on several occasions. That said, if the web server hosting your website generates an unexpected response 302 found, it may hinder your site’s ability to satisfy visitors’ requests.
Let’s recap the steps of troubleshooting this issue:
Apart from the 302 error, you may encounter other status codes, such as the 403 forbidden error or the 504 gateway timeout. We recommend learning more about these errors so that you can fix them in a timely manner and ensure your website performance is back on track as soon as possible.
Полное руководство по кодам состояния HTTP 3xx
Если вы управляете веб-сайтами, понимание переадресации HTTP необходимо для надежной работы сайта. В этой статье мы подробно рассмотрим коды состояния HTTP 3xx, чтобы вы могли понять, как они работают, как лучше всего ими управлять и как они влияют на SEO.
Цель переадресации HTTP
При перенаправлении URL-адреса один адрес веб-страницы сопоставляется с другим. Существует ряд причин, по которым для вашего сайта требуется перенаправление.
Например, переход на новый домен является одной из основных причин использования перенаправления URL-адресов. Иногда ваше прежнее доменное имя слишком длинное и сложное для запоминания, или некоторые виды действий, нарушающих авторские права, вынуждают вас переходить с одного домена на другой.
Давайте подробнее рассмотрим другие причины перенаправления вашей страницы:
Помимо основных причин, перечисленных выше, есть и другие случаи, которые следует учитывать. Перенаправление пригодится, если вам нужно упростить и отслеживать медийную рекламу или справиться с чрезвычайными ситуациями. Редиректы помогают маркетологам отслеживать отклики на рекламу. В то же время веб-администраторы могут исправить любую неудачную операцию связывания (уведомления об ошибках, почтовые цепочки) с помощью перенаправления.
Подводя итог, Google определяет перенаправление для управления сканированием и индексированием (категория расширенной документации по SEO). Центр поиска Google объясняет переадресацию HTTP как практику выполнения плавного перехода, доступа к странице через несколько URL-адресов, исправления устаревших URL-адресов и отправки пользователей с удаленных страниц на новые, тем самым исключая 404 не найденные ошибки.
Основы веб-протокола
Основной протокол в Интернете, который используется для передачи данных и управления информацией на серверах хостинга, называется HTTP. Протокол передачи гипертекста позволяет поддерживать веб-сайты и обеспечивать связь между пользователями Интернета и серверами во всемирной паутине.
HTTP — это протокол, используемый для информационных систем с различными типами данных: распределенными, гипермедийными и совместными. Основная цель протокола передачи гипертекста — обеспечить беспрепятственное взаимодействие через Интернет. HTTP определяет модификации, а передача данных обеспечивает действия веб-сервера и браузера.
Этот протокол запрос-ответ работает через TCP-соединения, которые используются для связи с сервером. Протокол управления передачей позволяет интернет-поисковикам взаимодействовать с любыми доступными идентифицированными ресурсами, представленными во всемирной паутине. Связь пользователя с веб-серверами, серверами видео и сообщений осуществляется через HTTP. Таким образом клиенты могут получить доступ к веб-страницам.
Стоит отметить, что протокол передачи гипертекста использует прокси. Это специализированные фильтры для идентификации и анализа контента. Прокси-серверы HTTP не позволяют пользователям отправлять и отображать файлы низкого качества:
Есть режимы работы HTTP прокси. HTTP-клиент используется для защиты браузера пользователя. Он отправляет сообщения запроса на сервер. HTTP-сервер отвечает за HTTP-ответные соединения. Принцип работы HTTP-прокси можно представить следующим образом:
Основные преимущества протоколов HTTP:
Согласно Hitech Whiz, есть и другие преимущества протокола передачи гипертекста, которые следует учитывать:
HTTP также известен своими методами, зависящими от веб-протокола. Они меняются от одной задачи к другой. Существует девять методов запроса для выполнения различных веб-операций.
Запрос, зависящий от протокола | Описание |
PUT | Отвечает за доработку существующего веб-ресурса. Этот запрос также позволяет создать новый URL. |
HEAD | Создает запрос для ресурса специального назначения без необходимости в основном содержимом. |
POST | Отвечает за изменения существующих ресурсов при добавлении контента на новую веб-страницу. |
DELETE | Удаляет ресурс, указанный веб-мастером. |
GET | Запрашивает ресурс о его целостности. |
TRACE | Отображает любые обновления и изменения веб-ресурса, посещенного пользователем. |
OPTIONS | Демонстрирует список HTTP-методов, доступных для интересующего пользователя URL-адреса. |
CONNECT | Отвечает за преобразование соединения на основе запроса в туннель TCP / IP. |
PATCH | Позволяет проводить частичные модификации веб-ресурса. |
Что такое коды состояния ответа HTTP?
Коды состояния HTTP — это специальные элементы, которые определяют ответ сервера и представлены в виде трех жестких когерентных символов. Каждый код протокола передачи гипертекста используется для ошибок REST API. Для выявления проблем и их решения необходимо понимать каждый код статуса HTTP.
Необходимо учитывать пять классов кодов состояния. Есть информационный ответ, успешный ответ, перенаправление, ошибка клиента и категории ошибок обслуживания. Первый жесткий указывает на класс кода состояния HTTP. Давайте подробнее рассмотрим каждую категорию ответов:
Стоит отметить, что некоторые коды состояния и ошибки напрямую влияют на SEO. В то время как классы 1xx и 2xx не сильно влияют на поисковую оптимизацию (хотя лучше всего использовать ответ 200), классы 300, 400 и 500 могут негативно повлиять на сканирование и индексирование ваших веб-страниц. Вы всегда должны следить за кодами состояния и ошибками 4xx и 5xx, так как это может быть очень вредным для рейтинга вашего сайта в целом.
Коды HTTP 300, возможно, играют центральную роль для SEO. Этот класс кодов статуса отвечает за передачу всего SEO-значения от ваших старых URL-адресов к новым. Таким образом, необходимо вникнуть в значение каждого 300-уровневого кода (временные или постоянные перенаправления, прокси, множественный выбор и т. Д.).
Полный список кодов состояния HTTP 3xx
Коды состояния HTTP предназначены для перенаправления URL-адресов. Коды уровня 300 обозначают различные типы перенаправлений HTTP. Маркетологи обычно используют коды состояния 3xx для отслеживания и анализа пользовательского опыта, поведения пользователей веб-сайта и эффективности SEO. В DataTracker ресурсы определяют четыре типа переадресаций распределенных по кодам состояния HTTP 300 уровня:
Коды состояния 300 уровня появляются, когда необходимо указать ответ перенаправления от сервера. Другой пример действия класса кода состояния HTTP 3xx — это когда удаленная страница сохраняет свой рейтинг. Кроме того, редиректы пригодятся, когда необходимо исправить неработающий URL.
Например, перенаправление 301 было использовано через PHP для перемещения всего трафика на новую страницу https://eurovps.com:
Таким образом, он сохраняет рейтинг прежнего URL-адреса. Тот же алгоритм можно использовать для исправления неработающих URL-адресов с помощью постоянного редиректа.
Перенаправления не ожидают появления ошибок, связанных с другими кодами ответа. Например, перенаправления не решают проблемы с информационными ответами или ошибками сервера / клиента ( Не реализовано = 501; Плохой шлюз = 502; Непроцессированная сущность = 420).
Давайте подробнее рассмотрим каждый 300-уровневый код, чтобы понять их влияние на SEO и рейтинг веб-сайта. Вам необходимо просмотреть девять кодов состояния 3xx, а также их особенности, функции, преимущества и различия.
300 Multiple Choices
Эти коды состояния обычно используются в REST API. Браузеру предоставляется несколько вариантов выбора, который должен выбрать сторону ресурсов, отвечающих запросу. Например, если вам нужно указать несколько опций формата видео или разных расширений файлов, вам пригодится 300-уровневый код.
Еще одна причина для использования 300 редиректов — это соответствие требованиям агентских переговоров. Сервер информирует пользовательский агент о доступных типах представлений на выбор. Присмотритесь к примеру, чтобы увидеть 300-редирект в действии:
Вы можете увидеть /fooи /barв кодировке. Местоположение указывается, когда доступны для выбора оба варианта.
301 Moved Permanently
Еще один код состояния обычно используется в REST API. Основная идея — перенаправление постоянное. Если вам нужно использовать перенаправление на короткое время, редирект 301 не подходит для этой цели. И пользователи Интернета, и поисковые системы переходят на новый URL-адрес с помощью кода состояния 301 HTTP. Наилучший сценарий перенаправления этого типа — когда восстановление прежней страницы не планируется.
Давайте объясним концепцию постоянных перенаправлений HTTP на примере реального случая:
Вы можете увидеть /fooи /barв кодировке. Местоположение указывается, когда доступны для выбора оба варианта.
301 перемещен навсегда
Еще один код состояния обычно используется в REST API. Основная идея — перенаправление постоянное. Если вам нужно использовать перенаправление на короткое время, редирект 301 не подходит для этой цели. И пользователи Интернета, и поисковые системы переходят на новый URL-адрес с помощью кода состояния 301 HTTP. Наилучший сценарий перенаправления этого типа — когда восстановление прежней страницы не планируется.
Давайте объясним концепцию постоянных перенаправлений HTTP на примере реального случая:
Страница часто задаваемых вопросов размещена на субдомене ( https://faq.website.com).
Рассмотрим еще один пример постоянного перенаправления (301 редирект). Здесь мы видим код состояния 301 HTTP, используемый для перенаправления пользователей и поисковых систем в новое место. Выделенные изменения выделены жирным желтым цветом.
Программисты часто используют.htaccessфайл для реализации различных типов перенаправления, включая перенаправление 301. Следует учитывать два метода переадресации 301:
Здесь важно упомянуть, что для различных подходов к кодированию требуются разные реализации перенаправления. Например, реализация 301 редиректа с использованием PHP будет выглядеть так:
Обратите внимание, что JavaScript далеко не оптимален для SEO. Иногда Google неправильно интерпретирует 301 редирект в JavaScript. Если вас интересует постоянное перенаправление, оптимизированное для SEO, лучше выбрать один из перечисленных выше методов.
302 Found
В REST API есть еще один часто используемый код состояния. По сравнению с постоянными перенаправлениями 301, используются 302-уровневые, когда требуются некоторые временные перенаправления. Например, вы знаете об изменениях в этом URL-адресе, который вы скоро перенаправите, или прежняя страница будет восстановлена в какой-то момент. Еще один случай, когда вы должны удалить старую страницу, но вам нужно перенаправить весь трафик и сохранить оценки рейтинга на временном URL-адресе. Среди других причин использования кода состояния 302:
Стоит отметить, что реализация 302 редиректа может осуществляться так же, как и для 301-го уровня. Здесь также применима рекомендация избегать кодирования JavaScript в целях оптимизации SEO.
Например, на изображении выше мы можем увидеть, как код состояния 302 уровня используется для временного перемещения веб-сайта. Обратите внимание, что вы также можете использовать этот тип перенаправления для редизайна вашего веб-сайта / страницы, некоторого тестирования, проведения рекламных акций и других краткосрочных мероприятий и договоренностей.
303 See Other
Этот код состояния HTTP позволяет REST API отправлять клиентам предложения в форме ссылок. Примечательной особенностью переадресации 303 является их производительность без кеширования. Но стоит отметить, что второй сеанс перенаправления будет кеширован.
Код статуса 303 не имеет значения для SEO. Тем не менее, это может помочь повысить удобство использования и реализовать маркетинговые цели, когда можно предложить другой URL-адрес вместо уже посещенного.
303 See Other
Этот код обычно используется в REST API, как и другие перечисленные выше 3xx. Если повторная передача не требуется, можно использовать неизмененный код состояния. Если страница еще не была изменена, можно сделать переадресацию без кеша.
Давайте подробнее рассмотрим кодирование на примере перенаправления 304. Код состояния указывается в запрошенном методе и URL-адресе.
305 Use Proxy
Этот код состояния HTTP пока не рекомендуется. Некоторые браузеры не позволяют использовать этот тип перенаправления. Например, Mozilla Firefox и Internet Explorer запрещают пользователям выполнять переадресацию 305 по соображениям безопасности. Основное объяснение этой ситуации — единственный прокси-сервер, используемый для обработки запроса и предоставления доступа к веб-ресурсу. Этот подход опасен для некоторых браузеров.
306 Switch Proxy (Unused)
Программисты сейчас не используют этот статусный код. Его основная идея заключалась в возможности переключать прокси при выполнении какого-либо специального запроса. Пользователь вернется к указанному прокси по умолчанию, если этот тип перенаправления будет представлен в кодировке.
307 Temporary Redirect
Этот код состояния HTTP очень похож на код состояния 302. Вот почему метод реализации, необходимый для перенаправления, такой же, как для 301 и 302. Давайте углубимся в разницу между 207 и 302, поскольку оба они относятся к временным перенаправлениям HTTP. Специалисты до сих пор дискутируют на эту тему. Для наших целей есть два мнения о 307 редиректах:
Это означает, что любые изменения метода запроса GET в 302 редиректах приводят к непредсказуемым результатам в сети. Этого не происходит с 307 редиректами. На рисунке ниже показан пример использования временного перенаправления на уровне 307.
308 Permanent Redirect
Этот код состояния считается экспериментальным, но имеет ту же семантику, что и постоянное перенаправление 301. Единственная разница между перенаправлениями 308 и 301 — это доступность изменений метода HTTP. В то время как перенаправления 301 позволяют пользовательским агентам изменять используемые методы HTTP, код состояния 308 подразумевает неизменяемые методы HTTP-запроса для перенаправления.
Код состояния 308 HTTP довольно новый, так как он был введен только в 2015 году. Некоторые браузеры до сих пор не могут распознавать 308 редиректы и показывать пользователям пустые страницы вместо перенаправленных (например, Internet Explorer 11). Вот почему 301 постоянная переадресация будет предпочтительнее из-за лучшей поддержки и удобства для SEO. Код состояния HTTP уровня 308 по-прежнему плохо поддерживается, и поисковые роботы не всегда его распознают.
Значение кода состояния HTTP 3xx для SEO
300-уровневая переадресация важна для сохранения ценности SEO. Если вам нужно перейти с одной старой страницы на другую и вы не хотите терять ее рейтинг, рекомендуется временное или постоянное перенаправление. Чтобы сохранить ссылочный вес и не навредить SEO вашего сайта, когда дело доходит до редизайна или других изменений, вы можете использовать несколько кодов HTTP 300:
Перенаправления не вредят поисковой оптимизации, но помогают избежать потери авторитета. Необходимо правильно перенаправлять страницы, чтобы сохранить рейтинг Google и ссылочный вес.
Когда использовать 301 или 302 редирект для SEO
Когда дело доходит до временных и постоянных перенаправлений, коды состояния HTTP 301 и 302 всегда имеют приоритет. Но есть разница между этими кодами HTTP 300. Вот первый сценарий. Вы решили навсегда удалить свой старый сайт. Но этот URL-адрес часто посещался и был высоко оценен поисковыми системами. Есть рекомендация использовать постоянное перенаправление 301, чтобы поддерживать ссылочный вес и рейтинг Google.
Второй сценарий — это когда вы реструктурируете свой веб-сайт и сохраняете результаты поиска в течение некоторого краткосрочного периода. Сайт потеряет SEO-ценность. Поисковые системы сохранят ваш старый URL, но начнут индексировать вашу новую страницу после перенаправления. Если вы уверены, что все обновления и редизайны подойдут к концу и вы вернетесь к старому URL-адресу, лучше использовать 302 редиректа (временный).
Если вы неправильно используете коды HTTP 300, эти ошибки могут повлиять на вашу поисковую оптимизацию. Вот краткий список случаев, когда стратегии SEO терпят неудачу из-за неправильных перенаправлений:
Обратите внимание, что код состояния 301 подходит для тематических кластеров. Если вам действительно нужны постоянные перенаправления, не используйте 302. Предотвратите риск потери рейтинга и трафика. Перенаправления 302 заставляют поисковые системы продолжать индексировать ваши старые страницы и не позволяют им передавать ссылочный вес вашим новым. Убедитесь, что вы всегда проверяете точность кода состояния HTTP на своем веб-сайте с помощью специального программного обеспечения, такого как WTOOLS и Redirect Checker.
301 и 302
Параметры для сравнения | 301 | 302 |
Тип перенаправления | Постоянный | Временный |
Когда это используется? | Для перенаправления старых страниц, которые собираются удалить. | Для перенаправления старых страниц, которые будут восстановлены. |
SEO ценность | Сохраняет рейтинг старых страниц вместе с их ссылочным весом и передает их на целевой URL. | Позволяет пользователям сохранять рейтинг старых страниц вместе с их ссылочным весом и временно переносить их все на целевой URL. |
Сигнал канонизации | Более сильный сигнал канонизации для Google | Средний сигнал канонизации для поисковых систем |
Синтаксис перенаправлений | Изменено | Изменено |
Постоянные перенаправления
Параметры для сравнения | 301 | 308 |
Тип перенаправления | Постоянный | Постоянный |
Когда это используется? | Для перенаправления старых страниц, которые собираются удалить. | Для перенаправления старых страниц, которые будут удалены. |
Специальные | Предпочтительно для SEO; хорошо распознается краулерами; для постоянных редиректов; полное количество ссылок на перенаправленную страницу. | Экспериментальный; ограничена в поддержке; во избежание некорректных изменений метода GET. |
SEO ценность | Сохраняет рейтинг старых страниц вместе с их ссылочным весом и передает их на целевой URL. | Сохраняет рейтинг старых страниц вместе с их ссылочным весом и передает их на целевой URL. |
Сигнал канонизации | Более сильный сигнал канонизации для Google | Снижение сигнала канонизации для поисковых систем |
Синтаксис перенаправлений | Изменено | Не изменено |
301 имеет более сильную канонизацию для Google. В то же время представитель команды Google Джон Мюллер заявил, что коды состояния HTTP 308 и 301 обеспечивают одинаковые свойства перенаправления и SEO.
Временные перенаправления
Параметры для сравнения | 302 | 307 |
Тип перенаправления | Временный | Временный |
Когда это используется? | Для перенаправления старых страниц, которые планируется восстановить. | Для перенаправления старых страниц, которые будут восстановлены. |
Специальные | Для временных перенаправлений; хорошо распознается поисковыми роботами. | Предпочтительно для SEO; во избежание некорректных изменений метода GET; переносит запросы клиентов на другой хост. |
SEO ценность | Позволяет пользователям сохранять рейтинг старых страниц вместе с их ссылочным весом и временно переносить их на целевой URL. | Позволяет пользователям сохранять рейтинг старых страниц вместе с их ссылочным весом и временно переносить их на целевой URL. |
Сигнал канонизации | Сильный сигнал канонизации для Google | Сильный сигнал канонизации для поисковых систем |
Синтаксис перенаправлений | Изменено | Не изменено |
Код статуса 307 предпочтительнее для специалистов по SEO. Из-за изменения синтаксиса 302 перенаправлений это может вызвать любое неожиданное поведение. Кроме того, в этом руководстве Rest API указано, что 307 редиректов пригодятся при переносе клиентских запросов на другой хост.
MOZ предлагает 302 редиректа, если по существу невозможно определить, идентифицировали ли поисковые системы страницу как совместимую. Таким образом, любой контент, который временно перемещается на другую страницу, должен быть перенаправлен с помощью кода состояния 302 HTTP. Сканеры отметят изменения, и URL-адрес будет правильно проиндексирован.
Проверка кодов состояния HTTP в рейтинге SE
Чтобы отслеживать, как Google воспринимает коды состояния HTTP на вашем веб-сайте, вам необходимо провести аудит веб-сайта. Существует ряд специализированных инструментов для проведения аналитических исследований на местах. Рассмотрим подробнее особенности процесса аналитического исследования на примере программы SEO-аудита сайтов.
SE Ranking предлагает отчет об аудите сайта с описанием проблем и руководством по исправлению для глубокого анализа всех критических технических показателей веб-сайта, включая сканирование, безопасность, удобство использования, ошибки скорости и другие. Программа детально анализирует каждую страницу веб-сайта, включая ошибки перенаправления и протокола передачи гипертекста. Вот алгоритм, чтобы получить представление о кодах статуса HTTP вашего сайта:
Инфографика будет содержать доминирующий класс кода состояния HTTP (1xx, 2xx, 3xx, 4xx, 5xx). Дополнительно в отчете (под основной инфографикой) будет указано количество перенаправлений и отсоединенных страниц.
Во время полного аудита веб-сайта SE Ranking обнаруживает слабые места и ошибки, связанные с кодами состояния HTTP, предоставляет описания проблем и предлагает способы их устранения для повышения производительности вашего веб-сайта в Интернете.
Какие коды 3xx вам действительно нужно знать
Все коды HTTP 300 заслуживают внимания современных представителей бизнеса, которые заинтересованы в хорошей видимости в Интернете. Например, 300 (множественный выбор) будет полезен для выполнения некоторых маркетинговых стратегий, когда пользователь должен выбирать между несколькими объектами одновременно. Код состояния 303 (см. Прочее) пригодится, когда другой URL-адрес должен использоваться для перенаправления на интересующий ресурс.
Но основные коды HTTP 300 — это 301, 302 и 307, потому что они используются для временных и постоянных перенаправлений. Эти коды состояния рекомендуются для обеспечения миграции веб-сайтов с оптимизацией поисковых систем, изменения URL-адресов, реструктуризации и обновлений сайта, смены доменов или коротких повторных публикаций для страниц веб-сайтов.
Стоит отметить, что к процессу перенаправления предъявляются некоторые требования, чтобы соответствовать стандартам рейтинга Google и не терять ссылочный вес. Следует помнить пять основных советов:
What are HTTP status codes?
HTTP status codes are three-digit responses from the server to the browser-side request. Everyone has probably gotten the classic 404 page-not-found error. That is an HTTP client error status code and there are a lot more of them.
These status codes (also called response status codes) serve as a means of communication between the server and the internet browser and there are multiple code classes based on the type of information they are communicating. The differences in classes are indicated through the first digit of the error code, for example: just like a 404, any other 4xx will mean that in some way the page or website could not be reached, while a 2xx means that your request was successfully completed.
Table of content
How are HTTP status codes categorized?
HTTP status codes are split into 5 different categories. Each category will give you hints as to what the response was, even if you don’t know the specific response code.
Complete list of HTTP Status Codes
Status code | Meaning |
1xx Informational | |
100 | Continue |
101 | Switching protocols |
102 | Processing |
103 | Early Hints |
2xx Succesful | |
200 | OK |
201 | Created |
202 | Accepted |
203 | Non-Authoritative Information |
204 | No Content |
205 | Reset Content |
206 | Partial Content |
207 | Multi-Status |
208 | Already Reported |
226 | IM Used |
3xx Redirection | |
300 | Multiple Choices |
301 | Moved Permanently |
302 | Found (Previously «Moved Temporarily») |
303 | See Other |
304 | Not Modified |
305 | Use Proxy |
306 | Switch Proxy |
307 | Temporary Redirect |
308 | Permanent Redirect |
4xx 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 |
425 | Too Early |
426 | Upgrade Required |
428 | Precondition Required |
429 | Too Many Requests |
431 | Request Header Fields Too Large |
451 | Unavailable For Legal Reasons |
5xx Server Error | |
500 | Internal Server Error |
501 | Not Implemented |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Gateway Timeout |
505 | HTTP Version Not Supported |
506 | Variant Also Negotiates |
507 | Insufficient Storage |
508 | Loop Detected |
510 | Not Extended |
511 | Network Authentication Required |
HTTP Status Codes explained individually
In some cases a HTTP response code might be descriptive enough to understand its meaning. 200 OK probably means that everything went okay. But what about a 103 Early Hints, 205 Reset Content and 305 Use Proxy?
Below is an explanation for all 63 status codes, sorted in the 5 overall categories.
What does a 1xx Informational status code mean?
A 1xx Informational status code means that the server has received the request and is continuing the process. A 1xx status code is purely temporary and is given while the request processing continues. For most tasks you won’t encounter these much, as it’s not the final response to the request.
What does 100 Continue mean?
The 100 Continue status code means that the initial part of the request has been received by the server and that the client should proceed with the request or ignore the response if the request has already finished.
What does 101 Switching protocols mean?
The 101 Switching protocols status code means that the server understands the Upgrade header field request and indicates which protocol it is switching to.
What does 102 Processing mean?
The 102 Processing status code means that the server has accepted the full request but has not yet completed it and no response is available as of yet.
What does 103 Early Hints mean?
The 103 Early hints status code is intended to be used to allow the user agent to preload resources, while the server prepares a response. It is intended to be primarily used with the Link Header.
What does a 2xx Succesful status code mean?
A 2xx Succesful status code means that the request was successful and the browser has received the expected information. This is generally the one you want to see, as it means that the request was a success and has been received, understood and accepted it. As a website owner you should make sure that all pages and resources (images, videos, etc.) all return a 2xx status code. This means that browsers can reach it successfully and that your website visitors can see and use your website.
What does 200 OK mean?
The 200 OK status code means that the request was successful, but the meaning of success depends on the request method used:
When looking at things SEO-wise the 200 OK response code is the perfect status code for a functioning page, all the linked pages are working as they should. A 200 will mean that search engine crawlers can successfully crawl the page and it will be put into their search index.
What does 201 Created mean?
The 201 Created status code means that the request was successfully fulfilled and resulted in one or possibly multiple new resources being created.
What does 202 Accepted mean?
The 202 Accepted status code means that the request has been accepted for processing, but the processing has not been finished yet. The request may or may not be completed when the processing eventually takes place.
What does 203 Non-Authoritative Information mean?
The 203 Non-Authoritative Information status code means that the request was successful. However, the meta-information that has been received is different from the one on the origin server and has instead been collected from a 3rd party or local copy. When not used for backups or mirrors of another resource a 200 OK response is preferable.
What does 204 No Content mean?
The 204 No Content status code means that while the server has successfully fulfilled the request, there is no available content for this request. But the user agent might want to update its currently cached headers for this resource, for the new one.
What does 205 Reset Content mean?
The 205 Reset Content status code means that the user should reset the document that sent this request.
What does 206 Partial Content mean?
The 206 Partial Content response code is a response to a Range header sent from the client when requesting only a part of the resource.
What does 207 Multi-Status mean?
The 207 Multi-Status status code conveys information about multiple resources, in situation when multiple status codes are appropriate.
What does 208 Already Reported mean?
The 208 Already Reported status code is used inside the response element DAV: propstat, in order to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.
What does 226 IM Used mean?
The 226 IM response code means that the server has successfully fulfilled a GET request for the resource, and the response is a representation of the result of one or multiple instance-manipulations applied to the current instance.
What does a 3xx Redirection code mean?
A 3xx Redirection status code means that you have been redirected and the completion of the request requires further action. Redirects are a natural part of the internet and you shouldn’t be scared to have 3xx redirect status codes on your website. A redirect means that the request was received successfully, but that the resource was found elsewhere. If a webpage has changed path and you try to access it through the old path, your CMS will often redirect the user to the new path. Ultimately the request will end in a 2xx success, but first it must go through the 3xx redirection.
What does 300 Multiple Choices mean?
The 300 Multiple Choices status code means that the request has multiple possible responses and the user/user agent should choose one.
What does 301 Moved Permanently mean?
The 301 Moved Permanently response code means that the target resource has been assigned a new permanent URL and any references to this resources in the future should use one of the URLs included in the response.
When looking at things SEO-wise the 301 Permanent Redirect should be used every time a URL is moved permanently. This redirect passes your current link equity from your content to the new URL. Links that result in a status code 301 does give slightly less link equity than 200. So if you have a lot of links going through a 301 Permanent Redirect it is advised to fix these, if possible.
What does 302 Found (Previously “Moved temporarily”) mean?
The 302 Found status code, previously known as “Moved temporarily”, means that the URI of the request has been changed temporarily, and since changes can be made to the URI in the future, the effective request URI should be used for future requests.
When looking at things SEO-wise the 302 Found should only be used when making temporary changes as it does not pass the link equity the same way as a 301. If the page is not going to come back you should always use 301.
What does 303 See Other mean?
The 303 See Other response code is sent by the server in order to direct the client to get the requested resource at another URI with a GET request.
What does 304 Not Modified mean?
The 304 Not Modified response code informs the client that the response has not been modified. This means that the client can continue to use the already present, cached version of the response.
What does 305 Use Proxy mean?
The 305 Use Proxy status code instructs a client that it should connect to a proxy and then repeat the same request there. This response code is deprecated due to security concerns.
What does 306 Switch Proxy mean?
The 306 Switch proxy status code is no longer in use. It was used to inform the client that the subsequent requests should use the specified proxy.
What does 307 Temporary Redirect mean?
The 307 Temporary Redirect status code gets sent by the server in order to direct the client to the requested resource at another URI. The request method, however, must not be changed.
What does 308 Permanent Redirect mean?
The 308 Permanent Redirect status code means that the requested resource has been permanently assigned a new URI and future references to the resource should be made by using one of the enclosed URIs.
What does a 4xx Client Error mean?
A 4xx Client Error status code means that the website or the page could not be reached and either the page is unavailable or the request contains bad syntax. As a website owner you should do your best to avoid these, as it means your users will not find what they’re looking for. This can be either pages that are no longer found and are either temporarily or permanently gone. Besides giving a bad user experience, it can also hurt your SEO efforts.
What does 400 Bad Request mean?
The 400 Bad Request status code means that the server could not understand the request because of invalid syntax.
What does 401 Unauthorized mean?
The 401 Unauthorized status code means that the request has not been applied because the server requires user authentication.
What does 402 Payment Required mean?
The 402 Payment Required status code is a response reserved for future use. It was originally created to be implemented in digital payment systems, however, it is rarely used and a standard convention of using it does not exist.
What does 403 Forbidden mean?
The 403 Forbidden status code means that the client request has been rejected because the client does not have rights to access the content. Unlike a 401 error, the client’s identity is known to the server, but since they are not authorized to view the content, giving the proper response is rejected by the server.
What does error 404 mean?
The 404 Not Found status code means that the server either did not find a current representation for the requested resource or is trying to hide its existence from an unauthorized client.
When looking at things SEO-wise the 404 Not Found status code pages with a high volume of traffic should be redirected using a 301 to the most relevant page possible. For some pages, however, a 404 might be necessary, for example, if the product is out of stock for an extended period of time. If you have external links pointing to a page that returns 404, you will lose the link equity those links would otherwise give.
What does 405 Method Not Allowed mean?
The 405 Method Not Allowed status code means that while the server knows the request method, the method has been disabled and can not be used.
What does 406 Not Acceptable mean?
The 406 Not Acceptable status code is sent by the server when it does not find any content following the criteria given by the user agent.
What does 407 Proxy Authentication Required mean?
The 407 Proxy Authentication Required status code means that the client must first be authenticated by a proxy (similar to a 401).
What does 408 Request Timeout mean?
The 408 Request Timeout status code means that the server did not receive a complete request in the time that it prepared to wait.
What does 409 Conflict mean?
The 409 Conflict status code means that the request could not be fulfilled due to a conflict with the current state of the target resource and is used in situations where the user might be able to resubmit the request after resolving the conflict.
What does 410 Gone mean?
The 410 Gone status code means that the target resource has been deleted and the condition seems to be permanent.
When looking at things SEO-wise the 410 Gone status code is a more permanent version a 404. The page will no longer be available from the server and has no forwarding address available. If you want to completely remove a page from Googles search index, then using 410 on a page is the proper way of doing it (instead of simply 404).
What does 411 Length Required mean?
The 411 Length Required status code means that the server has rejected the request because it requires the Content-Length header field to be defined.
What does 412 Precondition Failed mean?
The 412 Precondition Failed status code means the server does not meet one or multiple preconditions that were indicated in the request header fields.
What does 413 Payload Too Large mean?
The 413 Payload Too Large status code means the server refuses to process the request because the request payload is larger than the server is able or willing to process. While the server may close the connection to prevent the client from continuing the request, it should generate a Retry-After header field and after how long can the client retry.
What does 414 URI Too Long mean?
The 414 URI Too Long status code means that the server is refusing to service the request because the request-target was longer than the server was willing to interpret.
What does 415 Unsupported Media Type mean?
The 415 Unsupported Media Type status code means that the server is rejecting the request because it does not support the media format of the requested data.
What does 416 Range Not Satisfiable mean?
The 416 Range Not Satisfiable status code means that the range specified in the Range header field of the request can’t be fulfilled. The reason might be that the given range is outside the size of the target URI’s data.
What does 417 Expectation Failed mean?
The 417 Expectation Failed status code means that the Expectation indicated by the Expect request-header field could not be met by the server.
What does 418 I’m a Teapot mean?
The 418 I’m a Teapot status code means that the server refuses to brew coffee because it is, in fact, a teapot. (It is a reference to a 1998 April Fools’ joke called »Hyper Text Coffee Pot Control Protocol»).
What does 421 Misdirected Request mean?
The 421 Misdirected Request status code means that the client request was directed at a server that is not configured to produce a response.
What does 422 Unprocessable Entity mean?
The 422 Unprocessable Entity status code means that while the request was well-formed, the server was unable to follow it, due to semantic errors.
What does 423 Locked mean?
The 423 Locked status code means that the resource that is being accessed is locked.
What does 424 Failed Dependency mean?
The 424 Failed Dependency status code means that the request failed due to the failure of a previous request.
What does 425 Too Early mean?
The 425 Too Early status code means that the server is not willing to risk processing a request that might be replayed.
What does 426 Upgrade Required mean?
The 426 Upgrade Required status code means that while the server refuses to perform the given request using the current protocol, it might be willing to do so after the client has been upgraded to a different protocol.
What does 428 Precondition Required mean?
The 428 Precondition Required status code means that the origin server requires the request to be conditional.
What does 429 Too Many Requests mean?
The 429 Too Many Requests response code means that in the given time, the user has sent too many requests.
What does 431 Request Header Fields Too Large mean?
The 431 Request Header Fields Too Large means that the server is not willing to process the request because its header fields are indeed too large, however, the request may be submitted again once the size of the request header fields is reduced.
What does 451 Unavailable For Legal Reasons mean?
The 451 Unavailable For Legal Reasons response code means that the user has requested an illegal resource (such as pages and sites blocked by the government).
What does a 5xx Server error mean?
A 5xx Server error status code means that while the request appears to be valid, the server could not complete the request. If you’re experiencing 5xx server errors for your website, you should immediately look at your server. If you’re hosting your own server you’ll need to start debugging to figure out why it is not responding properly. If you’re using an external hosting provider you’ll need to reach out to them, so they can look at it.
What does 500 Internal Server Error mean?
The 500 Internal Server Error status code means that the server has encountered a situation that it does not know how to handle.
When looking at things SEO-wise the 500 Internal Server Error indicates a problem with the server, not the actual availability of the content. Since bots and users will both be lost, the link equity will go down fast.
What does 501 Not Implemented mean?
The 501 Not Implemented response code means that the request can not be handled because it is not supported by the server.
What does 502 Bad Gateway mean?
The 502 Bad Gateway response code means that the server received an invalid response while working as a gateway to handle the response.
What does 503 Service Unavailable mean?
The 503 Service Unavailable response code means that the server is currently not ready to handle the request. This is a common occurrence when the server is down for maintenance or is overloaded.
When looking at things SEO-wise the 503 Service Unavailable status code means that the server is unavailable and the visitor, bot or human, is asked to return again at a later time. This could be because of either server maintenance or server overload and search engines know to come back and check the availability later.
What does 504 Gateway Timeout mean?
The 504 Gateway Timeout response code means that the server acting as a gateway could not get a response time.
What does 505 HTTP Version Not Supported mean?
The 505 HTTP Version Not Supported response code means that the version of HTTP used in the request is not supported by the server.
What does 506 Variant Also Negotiates mean?
The 506 Variant Also Negotiates response code means that the server has the following internal configuration error: The chosen variant resource is configured to engage in transparent negotiation itself, therefore it cannot be a proper endpoint in the negotiation process.
What does 507 Insufficient Storage mean?
The 507 Insufficient Storage status code means that the method could not be performed on the resource because the server is not able to store the representation that would be needed to complete the request successfully.
What does 508 Loop Detected mean?
The 508 Loop Detected response code means that the server has detected an infinite loop while processing the request.
What does 510 Not Extended mean?
The 510 Not Extended response code means that further extensions are required for the server to be able to fulfil the request.
What does 511 Network Authentication Required mean?
The 511 Network Authentication Required response code indicates that the client needs to authenticate to gain network access.
HTTP Status Codes & SEO: Here are the ones you need to know
If you want great results with your SEO it’s important to work with technical SEO. A big part of that is handling response codes on your website to ensure that the website is properly crawled by Googlebot and that your content returns the proper response code when it is requested.
Below are the 5 status codes that you need to know as an SEO.
200 OK & SEO
This is the goal for 99 % of your content (pages, media, etc.): a successful status code that means everything works like it should. This is critical to a well-functioning website and for a great user experience.
It also gives you the reassurance that all external pointing to your website will give you link value. If all of your content returns a 200 OK status code you can rest assured that your website is working and is properly accessible for crawlers and visitors alike.
301 Moved Permanently & SEO
In a perfect world all of your content will stay on the same URL and always respond with a 200 OK. But that’s rarely how it works in the real world when managing a website.
If a page has changed its URL you will need to set up a redirect to send users and bots from the old URL to the new URL. Otherwise they will be met by a 404 page (see explanation below). In some content management systems, automatic redirect is a built-in SEO feature, while in others you’ll have to manually set it up.
You should use 301 redirects if the page is permanently gone and will not come back. This is the case for pages that have changed their URL or content that has been deleted.
If something is gone, instead of simply moved, you can either let it become a 404 or choose to redirect it to something similar on your website. This could be a product that you’re no longer going to sell, where it can make sense to redirect that page to the category page instead.
302 Found & SEO
What if the page is only gone temporarily, but will come back again later? To give a good user experience you don’t want it to become a 404 page and you also don’t want to make a permanent 301 redirect.
The solution is to use 302 Found instead of a 301. To the user it will be the same, but to search engine crawlers and bots, it will tell them to check back later on, as this redirect is only temporary. That means the old URL will keep its value while it’s gone.
This is perfect for pages that will only be unavailable temporarily. An example could be a sold-out product which is removed from the website until it is back in stock. In that case you want to make use of a 302 Found temporary redirect. Once the product is back online, you remove the redirect and the page will have kept its value (and good rankings in search engines).
Note that if the 302 redirect is there for too long, Google will consider it a 301 permanent redirect instead.
404 Not Found & SEO
If a page is no longer found it will result in a 404 page (psst, here’s some tips on how to make a great 404 page). This means, that the server tells users, crawlers and bots that the page they were looking for is not found.
These are important to keep an eye on, as they can hurt your SEO a lot if not monitored and fixed.
Firstly, if a page returns a 404 it won’t be shown in Google’s search results. While it won’t get removed instantly, it will be after a short period of time, if not fixed. So if any of the pages that give you organic traffic end up returning a 404 error, you need to fix it quickly. See some tips on how to fix 404 errors here.
Secondly, if the page had any external links pointing to it, they will no longer give any value to your website. So even if the page does not receive any organic traffic, it can hurt your SEO performance.
The easiest way to fix this problem is to set up a 301 redirect. This will give a better user experience and will pass most of the link value from external links to the new page you’re redirecting to.
410 Gone & SEO
What if you actually want a page to completely disappear from Google’s search engine index? It might be intuitive to simply let it return a 404 error, but there’s one caveat with that:
404 does not tell crawlers and bots why the page was not found. For that reason, Google still might keep thinking that the page is there, even if it encounters a 404 error. In most cases this is fine, but there’s one case where you want to make it crystal clear that the content is gone. And that’s if you have been hacked and malicious content has been added to your website.
After doing cleanup it’s not enough to let the URLs return 404. Instead you should make sure that they return the 410 Gone status code. This clearly tells crawlers and bots that the page is gone for good and that they should remove it from their index.
5xx Server errors & SEO
The last one is not directly SEO-related, but more of a good tip for troubleshooting your website.
If you see any response code that start with 5xx, you should instantly know that it is a server error. This will help you greatly when it comes to troubleshooting and fixing it.
Instead of wasting time trying to fix the problem through your CMS backend or elsewhere, you can go straight to fixing the server. No matter if you do your own hosting or if you use a hosting provider, it is helpful to know that it’s related to the server, not your website.
How to check the HTTP status code of a page
Finding the server response code for a page can be done manually in your browser or by using various tools and website crawlers.
Depending on the browser you’re using it is slightly different. Below is how to do it in Chrome (most steps will be similar in other browsers).
Checking HTTP status code in Chrome
How to fix 404 errors
If you have seen the status code 404 Page Not found you might have been thinking «What does error 404 mean?»
HTTP status code 404 means «Page Not Found». This means that the request you sent was received by the server, but it could not find the page you were looking for.
So to fix the 404 error you first need to find the cause for it, which can be due to many things. But since you know that the server is reachable (otherwise it would have returned a 5xx error), you know that the error is client-side. Basically that means it’s your fault (not as harsh as it sounds).
Luckily it means that you can also fix the error on your end without having to debugging your server or reaching out to your hosting provider.
Run through this checklist to fix the 404 error:
If none of the above tricks worked, it’s likely that the piece of content was deleted or some other way moved. If the content was moved, which caused it to change URL, then you should make sure to set up a redirect that points from the old URL to the new one. That way you’re sure that anyone looking for the page can still find it.
If it was deleted, then a 404 error is the right response as the page truly was not found on your website and everything is working as it should.
If you see a lot of your visitors ending up on this page, then it’s most likely due to one of 3 things:
Find 404 pages in Google Analytics
Have you ever wondered if there’s a way to find 404 pages in Google Analytics?
Now this is not the only way to set it up, but there is a very good chance that you can find the pages this way.
How to fix 503 errors
The 503 response code means «Service Unavailable» and happens when a server is currently not ready to handle the request. This can be either due to the server being down for maintenance or if it is overloaded.
If this error occurs on your own website, you need to have a look at your server, as something is making it unable to process the requests made.
Unfortunately it’s not always easy and simple to fix. A 503 response code can be due to many things, but at least you know it’s server-related and not client-side like with a 404 error.
Here’s a list of steps you can go through to identify and fix a 503 error:
The above list is great for troubleshooting one-off 503 errors. But if it happens on a regular basis, then it might be a more permanent problem with your server that you should dive deeper into fixing. This can be inefficient processes using up all of your resources or your server simply not having enough allocated resources to handle the traffic your website is receiving.
What status code is returned by a website when the browser request is successful?
Http — что это, как проверить код ответа сервера 200, 301, 302, 404 и 500, редиректы 301 и 302 в htaccess
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Чуть ранее мы успели с вами поговорить о зеркалах, дублях страниц и их удалении.
Давайте сегодня продолжим тему и посмотрим каким образом поисковые роботы взаимодействую с нашими сайтами, чтобы понять, на какие вещи нужно обязательно обращать внимание и, в случае обнаружения ошибок, обязательно исправлять.
Казалось бы, что язык Http запросов и ответов сервера (сервер — это ПО на хостинге) настолько далек от SEO, что тратить время на понимание его принципов будет чудовищным расточительством. Однако, это не так.
Многие вещи, не заметные при беглом взгляде через браузер, могут оказывать колоссальное влияние на продвижение вашего сайта (вплоть до его полного выпадания из индекса). Увидеть все эти недочеты можно, только поняв, где и что именно нужно смотреть.
Что такое http и где посмотреть ответ сервера
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных, изначально — в виде гипертекстовых документов в формате HTML, в настоящее время используется для передачи произвольных данных.
Итак, при запросе браузером пользователя какой-либо страницы вашего сайта вместе с Html кодом этой вебстраницы, обозревателю будет передан и так называемый Http заголовок с ответом хоста, в котором помимо прочей информации будет указан код. Он представляет из себя трехзначное число (наиболее часто встречаются варианты 200, 301, 302, 404), которое обозначает ситуацию, сложившуюся на хосте при обработке запроса браузера.
Что такое HTTP? Это протокол, по которому осуществляется обмен данными между вебсервером, на котором расположен интересующий вас сайт, и вашим браузером. Расшифровывается аббревиатура как Hypertext Transfer Protocol. Браузер пользователя обращается к серверу с запросом какого-либо документа и получает соответствующий ответ.
Если ответ на http запрос приходит положительный (200 OK), то браузер начинает загрузку нужного ему файла. Если отрицательный, то информирует об этом пользователя. Имеется еще и шифрованный протокол SHTTP, но сути дела это не меняет.
Например, при успешной загрузке страницы, в браузер будет передан Http заголовок с кодом 200 OK (кроме цифр еще приводится и поясняющая надпись). В случае, если запрошенная страница на сервере найдена не будет, то браузер получит ответ 404 Not Found. Можете сами проверить ответ главной страницы своего сайта, например, на этом сервисе.
К примеру, введя туда заведомо несуществующий адрес страницы своего ресурса (для этого после доменного имени можно написать любую ахинею, например, https://ktonanovenkogo.ru/трали-вали), будет получен примерно такой Http заголовок:
И это хорошо, ибо поисковые системы правильно обработают данный ответ сервера и не будут добавлять в индекс вашу несуществующую вебстраницу (404 страница для Joomla, 404 Not Found для Вордпресса).
Причем стоит учитывать, что несуществующие документы могут появиться как по вашей вине, так и из-за ошибки какого-либо доброжелателя, разместившего где-нибудь обратную ссылку на ваш сайт с ошибкой. Посмотреть те несуществующие документы (фактически битые ссылки), которые имеются на вашем ресурсе, вы можете в Яндекс Вебмастере или панели Google, как это было описано в статье Проверка битых ссылок.
Гораздо хуже будет, если несуществующий документ не будет выдавать в ответ 404, ибо в этом случае на вашем сайте по разным адресам (URL) несуществующих страниц (а их может быть сколь угодно много) будет выдаваться одна и так же вебстраница ошибки 404. На лицо будет откровенное дублирование контента, которое может повлечь за собой санкции со стороны поисковиков. А оно вам надо — на ровном месте наступать на грабли.
В принципе, еще хуже ситуация может сложиться, если вместо того, чтобы создать отдельную вебстраницу 404 для своего ресурса, вы настроили переброс посетителей на главную, в случае отсутствия запрашиваемого документа на сервере. Поисковые системы, не получив кода 404, вынуждены будут проиндексировать все эти не найденные страницы, а фактически содержимое главной.
Получится совсем неприятная картина — главная будет доступна сразу по неограниченному множеству адресов, ибо при запросе или переходе по битой ссылке будет открываться все время она. Выпадение из индекса главной из-за дублирования контента может нанести очень существенный урон всему продвижению сайта, ибо она, как правило, имеет наибольший статический вес и именно на нее будет приходиться львиная доля всех обратных внешних ссылок.
Обязательно проверьте коды ответа хотя бы у некоторых вебстраниц вашего ресурса, и особенно проверьте правильность цифр, выдаваемых в ответ на запрос несуществующего документа (введите что-то типа http://vash-domen.ru/jhguytrhkfkfijd). Для этой цели можно воспользоваться приведенным выше онлайн сервисом или же рядом других, способных показать все это:
Чтобы быть абсолютно уверенным в том, что поисковики правильно интерпретируют коды ответа вашего хоста, можете воспользоваться инструментом Яндекса Проверка ответа сервера, который, правда, будет вам доступен только после регистрации в Вебмастере, но добавиться туда, так же как и в панель Гугла, нужно будет в любом случае.
Все возможные варианты кодов ответа сервера
Обращу ваше внимание еще и на ответ сервера 301, который появляется в случае использования редиректа (перенаправление навсегда). Дело в том, что поисковые системы рекомендуют использовать 301 редирект в случае изменения адреса (URL) страницы сайта (он будет перебрасывать посетителя со старого Урла на новый) или, например, при склейке зеркал сайта с WWW или без WWW, как это было описано тут.
Если вы использовали 301 редирект, то можете проверить правильность Http ответа при обращении к склеенным Урлам. Например, при запросе www.ktonanovenkogo.ru сервер дает правильный ответ 301 Moved Permanently:
Вспомнил, что по поводу 404 ошибки я слышал довольно интересную историю. Вебмастер или оптимизатор, ведущий раскрутку определенного проекта, получил отставку и был этим сильно раздосадован. Причем, настолько сильно, что решился на то, чтобы подложить бывшему работодателю большую и жирную свинью.
Но сделал он все очень грамотно, ибо поначалу новые оптимизаторы, занимающиеся продвижением этого проекта, никак не могли понять, отчего позиции сайта резко просели. Как это реализовать на практике я не знаю, но тот вебмастер сделал так, что все страницы успешно открывались и отлично работали, но при этом в Http заголовке для всех них сервер давал ответ 404 Not Found.
Пустяк, вроде бы, абсолютно не влияющий на корректную работу ресурса, но напрочь убивающий все усилия по продвижению этого проекта. На этом примере, наверное, еще более наглядно можно увидеть важность проверки кодов ответа.
Правда в случае обнаружения неправильно формируемых кодов вам, скорее всего, придется обращаться за помощью к владельцу хостинга, в случае виртуального хоста, или же придется решать проблему самим, в случае выделенного сервера. Но главное, это вовремя диагностировать и локализовать проблему, воспользовавшись для этого соответствующими сервисами, некоторые из которых я упомянул чуть выше.
Вообще, все коды ответа сервера можно разделить на пять групп:
300-399 означают переадресацию и необходимость выполнить дополнительные действия (например,301 — грубо говоря, документ изменил адрес навсегда; 302 — документ изменил адрес временно)
Код | Ошибка | Описание |
---|---|---|
300 | Множественный выбор | |
407 | Требуется идентификация прокси, файервола/Proxy Authentication Required |