Как коды статуса HTTP, а также ошибки сети и DNS влияют на результаты поиска Google

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

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

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

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

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

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

2xx (success)

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

200 (success)

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

201 (created)
202 (accepted)

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

204 (no content)

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

3xx (redirection)

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

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

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

301 (moved permanently)

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

302 (found)

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

303 (see other)
304 (not modified)

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

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

4xx (client errors)

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

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

400 (bad request)

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

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

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

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

5xx (server errors)

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

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

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

500 (internal server error)

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

502 (bad gateway)
503 (service unavailable)

Ошибки soft 404

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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