Robots txt page returns an http error with code 503 ahrefs

Troubleshooting common issues with Site Audit access When you create a new project in Ahrefs, you might get an error message saying that one or both of our bots (AhrefsBot and AhrefsSiteAudit bot) could not crawl your target website. This means that we aren’t able to access your website due to issues out of […]

Содержание

  1. Troubleshooting common issues with Site Audit access
  2. 1. Robots.txt rules disallow crawl
  3. 2. IP Blocked/Fetching robots.txt took too long/Failed to connect to server
  4. 3. The HTTP server returned error 403: «Forbidden»
  5. 4. Error 406 Not Acceptable: Firewall
  6. Как краулеры поисковиков обрабатывают 503 ошибку на вашем сайте
  7. Проведение исследования
  8. Результаты
  9. Мои заключения
  10. Что означает ошибка сервера 503 и как ее исправить
  11. Мощный хостинг в подарок при заказе лицензии 1С-Битрикс
  12. Устранение ошибки 503 пользователем
  13. Решение проблем с ошибкой 503 администратором веб-ресурса
  14. Наиболее частые причины возникновения ошибки 503 на стороне сервера
  15. Как избежать появления ошибок 503
  16. Оптимизация работы скриптов
  17. Заключение

Troubleshooting common issues with Site Audit access

When you create a new project in Ahrefs, you might get an error message saying that one or both of our bots (AhrefsBot and AhrefsSiteAudit bot) could not crawl your target website.

This means that we aren’t able to access your website due to issues out of our control. As the owner of the website, there are some ways for you to troubleshoot this and allow us access.

These are some common issues:

1. Robots.txt rules disallow crawl

If you see this error message below or one that says «Robots.txt rules disallow crawl», your robots.txt might be blocking us from crawling.

To check for this, type your website into our robots checker: https://ahrefs.com/robot/site-audit

Please make sure that you don’t have a disallow rule on your robots.txt file for AhrefsSiteAudit or for AhrefsBot

You can also add the following lines into the robots.txt file on your server:

2. IP Blocked/Fetching robots.txt took too long/Failed to connect to server

If you see the above messages (or variants of them), please add our IPs to the server’s whitelist.

Another possible issue is that your hosting provider is blocking us. In this case, please check in with them to resolve the issue.

You should also check if you’re using any plugins that could be blocking us and causing this error. For e.g, the Incapsula plugin blocks us.

3. The HTTP server returned error 403: «Forbidden»

This error message usually means that we are being blocked by your site’s firewall or plugin; and our IPs and user-agent (AhrefsSiteAudit and/or AhrefsBot) need to be whitelisted there.

4. Error 406 Not Acceptable: Firewall

If you see this error message, it could be due to reasons like: the configuration of your webserver, the firewall managed by your hosting provider, the protection of your CDN, etc.

The error message might provide hints as to what the cause might be. Some known examples include: ModSecurity, Sucuri, Cloudflare.

There is nothing we can do to resolve this problem on our end. You’ll need to take action to get this fixed on yours.

If you don’t know how to fix the issue, please contact your webmaster, hosting company or CDN to have our bot unblocked. If their support chat is using a ticketing system, use «Tech Support» or the closest related category.

Please feel free to use the following template:

I run the domain and I’d like to request for Ahrefsbot to be unblocked. I want it to crawl my site and this functionality is currently disallowed by . Ahrefsbot does not have any traits of a “bad” bot – please see: https://ahrefs.com/robot

Thank you very much.

If you don’t see your issue described above, or just need some extra guidance, please contact our support team for help.

Источник

Как краулеры поисковиков обрабатывают 503 ошибку на вашем сайте

Рано или поздно на сайте необходимо проводить технические работы, это может быть обновление движка, переделка структуры или просто модернизация ПО. Здесь возникает вопрос, как это сделать максимально безболезненно для SEO ? Правильно в этом случае будет использовать 503 код статуса в http-заголовках отдаваемых страниц, который как раз и говорит, что “сервис временно недоступен, попробуйте позже”. Но как именно в этом случае ведут себя поисковые системы?

В идеале, роботы должны работать по интернет-стандартам, в которых описано:

503 код статуса говорит о том, что сервис не может обработать запрос из-за временной перегрузки или внутренних работ. Если известна длительность работ, её можно указать в заголовке Retry-After. Если этого заголовка не будет, клиент может распознать ответ как 500 (внутренняя ошибка сервера).

Но здесь множество нюансов и вопросов. Например, страницы, которая отдает сейчас 503 код, могло раньше не быть в индексе, должен ли краулер обрабатывать их также, как и страницы, которые уже были в индексе? Через какое время недоступности можно выкидывать страницу из индекса? Должно ли оно измеряться часами-днями или же количеством дополнительных обращений? А что, если robots.txt будет отдавать 503 код статуса, стоит ли в этом случае индексировать сайт?

Вопросов много, ответов пока мало. Яндекс по 503 кодам статусов ничего не описывает, Google в 2011 дал пару рекомендаций из которых ясно лишь, что:

— Retry-After используется не как четкое правило, а как дополнительный сигнал для определения подходящего момента переиндексации URL .

— Продолжительная выдача 503 может расцениваться 410. Насколько продолжительная не комментируется.

В этой статье представлены результаты анализа логов экспериментального сайта для понимания процесса краулинга. Чуть позже также планируется опубликовать серию статей с детальным анализом каждого вопроса по 503 ошибкам.

Проведение исследования

Для понимания логики работы краулеров поисковиков было проведено небольшое исследование.

— Создана страничка на сайте, который часто посещают поисковые роботы
— Страничка отдает 503 код статуса, а также заголовок Retry-After с указанием роботам попробовать зайти на страницу через час.

HTTP /1.1 503 Service Temporarily Unavailable
Retry-After: 3600

— На страничку в меню поставлена сквозная ссылка, чтобы роботы её быстрей заметили.
— Также была взята вторая, уже существующая в индексе страница, для которой проделаны аналогичные действия.
— 30 часов поисковики пытались получить доступ к этим страницам, вся информация записывалась в логи.

Результаты

Что же показали нам логи?

1. Яндекс пытается проиндексировать новую страницу каждые 30 минут.

Несмотря на то, что мы попросили в Retry-After обратиться к сайту через час, Яндекс стучался к ней каждые пол часа (без исключений) и продолжает стучать до сих пор. Причем, первые 4 обращения с точностью до секунды, далее (на 9-ю попытку) время чуть сместилось, и Яндекс поместил URL в очередь краулинга на круглое время — стучался в 00 и 30 минут каждого часа.

2. Google экономит краулинговые бюджеты

В отличие от Яндекса, гугл обратился к новой странице за сутки всего 8 раз (Яндекс – 56). Время обращения гуглбота не имеет общих свойств, минимальный период обращения к экспериментируемой странице — 10 минут (правда с разных их серверов, возможно разные краулеры), среднее задержка между обращениями — 4-5 часов.

3. К старой странице Яндекс обращается намного реже

К существующей в базе Яндекса странице, для которой был настроен 503 код статуса, Яндекс обращался намного реже, всего 5 раз за сутки. Первое обращение через 5 минут, второе через 11 часов (с точностью до минуты), третье обращение через 8 часов, последующие примерно через 6 часов.

4. Google к старым страницам обращается чаще, игнорируя Retry-After

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

Мои заключения

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

  • Поисковики обрабатывают 503 ошибку для существующих и несуществующих в своей базе страниц по-разному. Вероятно, здесь используются разные очереди (или краулеры) для индексации и переиндексации. Это же подтверждается разным IP серверов Яндекса, к новым страницам он стучался в основном с 141.8.142.86, к старым с 93.158.* и 178.154.*, у Google айпишники также не пересекаются для разных типов страниц.
  • Google учитывает время в Retry-After для новых страниц, но не учитывает для старых. Для страниц в индексе, должно быть, уже задан параметр, как часто они обновляются и когда нужно пересканировать в следующий раз. Это время переопределяет параметр в Retry-After.
  • Яндекс оперирует очередью на краулинг, где каждому URL в ней соответствует точное время, когда страница должна быть запрошена. Правда неясно, какой минимальный промежуток времени между двумя запросами, если они идут с одного сервера. Предварительно это 1 секунда, но все зависит от технической реализации очереди.
  • Для проведения тех. работ в Яндексе нет смысла Retry-After ставить менее 4-5 часов.
  • Объяснение того, что Google обращается к старым страницам очень часто, игнорируя Retry-After, возможно в том, что он это делает разными краулерами, каждый со своим автономным расписанием. То есть, инструкции вы даете не вообще гуглу, а конкретному его серверу (или кластеру серверов), которых сотни под разные страны.

Источник

Что означает ошибка сервера 503 и как ее исправить

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

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

Мощный хостинг в подарок при заказе лицензии 1С-Битрикс

Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой. А мы подарим вам год мощного хостинга – специально для сайтов на 1С-Битрикс.

Устранение ошибки 503 пользователем

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

  1. Обновите вкладку браузера. Это покажется странным, но зачастую такое простое действие приводит к положительному результату. Нажмите клавишу F5 или воспользуйтесь специальной кнопкой в меню браузера.
  2. Закройте и откройте браузер. Таким образом вы произведете сброс текущей сессии соединения и обновите его. При новом подключении скрипт браузера может не обнаружить ошибку 503, если она была воспринята им ошибочно.
  3. Стоит убедиться, что сбой не связан именно с вашим компьютером. Это особенно актуально, если ошибки соединения с веб-ресурсами повторяются регулярно и возникают с разными кодировками на других сайтах. Для этого необходимо посетить проблемную страницу с другого устройства и желательно через новое интернет-соединение.
  4. Зайдите на страницу, выдавшую ошибку 503, используя другой браузер. Вполне вероятно, что дефект возникает из-за некорректных настроек текущего. Если это подтвердится, стоит в них покопаться и найти источник возникновения проблемы. Самое простое, это восстановить настройки по умолчанию.
  5. Перезагрузка компьютера. Как и любой программный сбой на уровне операционной системы или другого программного обеспечения, он может быть исправлен автоматически при новой загрузке системы.
  6. Очистка кэша и удаление файлов cookies. В зависимости от настроек конкретного браузера в них может сохраняться много «лишней» информации при обмене web-данными. Операция довольно несложная, но стоит предварительно посмотреть help по данному вопросу, т.к. в каждом браузере она проводится по-разному.
  7. Перезагрузка сетевого оборудования. Часто сложности при соединении с интернет-ресурсами возникают из-за некорректного поведения ПО на внешних устройствах, через которые вы получаете трафик. Это может быть роутер, раздающий интернет как по кабелю, так и через Wi-Fi. Необходимо отключить соответствующую железку по питанию, т.е. полностью обесточить ее примерно на одну минуту. Если провайдер выдает вам динамический ip-адрес, то произойдет его смена, что тоже может привести к устранению появления ошибки 503.
  8. Смена DNS-адреса на сервере. Это решение является наиболее сложным для обычного пользователя. В большинстве интернет-соединений используется общедоступный DNS-адрес Google. Изменить его можно через «Панель управления компьютера» в «Центре управления сетями и общим доступом». Данные манипуляции довольно критичны для устойчивой работы интернета на вашем компьютере. Поэтому производить их стоит только тогда, когда вы абсолютно уверены в своей IT-подготовке.

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

Ошибка 503 может отображаться в разных форматах с дополнительными информативными сообщениями. Появление страницы «503 Service Temporary Unavailable – Сервис временно недоступен» говорит о том, что проблема носит временный характер. В этом случае пользователю рекомендуется не предпринимать никаких действий и просто дождаться, когда доступ восстановится автоматически.

Решение проблем с ошибкой 503 администратором веб-ресурса

При возникновении ошибки 503 Service Unavailable в любом ее проявлении администратор web-ресурса в первую очередь должен разобраться в причине ее появления. Игнорирование данной процедуры по принципу «само пройдет» может привести к тому, что сайт понесет глобальные потери в объеме пользовательского трафика и, как следствие, конверсии. Посетители, регулярно сталкивающиеся с проблемами доступа к определенному ресурсу, очень быстро занесут его в «игнор».

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

Наиболее частые причины возникновения ошибки 503 на стороне сервера

  1. При получении запроса от пользователя конкретная страница сайта не может установить соединение с базой данных MySQL.
  2. Некорректная работа плагинов и расширений из-за внутренних ошибок или конфликта между собой.
  3. Использование недорого хостинга и маломощного сервера приводит к тому, что оборудование не справляется с обработкой входящего трафика.
  4. Ресурсоемкие скрипты создают дополнительную нагрузку на сервер.
  5. Задействован почтовый сервис, выполняющий автоматическую рассылку сообщений в большом объеме.
  6. Соединение с удаленным сервером может привести к замедлению обработки запросов.
  7. Передача файлов большого объема при помощи PHP-скрипта.
  8. Значительное количество нерабочих модулей конкретной CMS.

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

Как избежать появления ошибок 503

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

Уменьшение нагрузки на базу данных можно добиться следующими способами:

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

Оптимизация работы скриптов

  • Отключите все лишние плагины и дополнения, кроме тех, которые реально необходимы для бесперебойной работы сайта (кэширование, оптимизация базы данных, создание бэкапов, сжатие изображений).
  • Осуществляйте передачу файлов большого объема через FTP, т.к. использование других способов передачи данных приводит к созданию отдельного процесса.
  • Осуществляйте массовую почтовую рассылку в моменты отсутствия пиковой нагрузки на сайт, например, ночью или ранним утром.
  • При использовании удаленного сервера минимизируйте время ответа и оптимизируйте канал соединения.
  • Проверьте наличие проблемных запросов к базе MySQL в файле mysql-slow.log.

Дополнительную нагрузку на сервер, приводящую к появлению ошибки 503, могут создать DDoS-атаки. Защита от них с помощью фильтрации относится к отдельной теме обсуждения.

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

Заключение

Ошибка 503 Service Unavailable может возникнуть на любом сайте, управляемом одной из наиболее популярных CMS – WordPress (Вордпресс), Joomla (Джумла), DLE (ДЛЕ) и любой другой, использующей базы данных MySQL. Способов ее решения много, начиная от самых простых на уровне пользователя и заканчивая довольно сложными процедурами, которые должен выполнить администратор сайта.

Буду благодарен, если вы нашли нестандартный подход к устранению сбоя с кодировкой 503 и готовы поделиться своим опытом в комментариях!

Источник

Тема: Вопрос по robots.txt  (Прочитано 6788 раз)

Приветствую.

Есть вопрос-при добавлении сайта на https://ahrefs.com и первичном краулинге выдает такую ошибку, подскажите как исправить, может что прописать надо?

robots.txt page returns an HTTP error with code 503

Данные robots.txt

User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-json/
Disallow: /xmlrpc.php
Disallow: /readme.html
Disallow: /*?
Disallow: /?s=
Allow: /*.css
Allow: /*.js
Sitemap: https://schneejager.ru/wp-sitemap.xml
Заранее благодарен.


Записан



А какую ошибку-то выдает?


Записан



А какую ошибку-то выдает?

А вот эту robots.txt page returns an HTTP error with code 503


Записан


« Последнее редактирование: 13-06-2021, 11:41:35 от vold57 »


Записан


Файл роботса пустой — https://prnt.sc/158qo3r, https://prnt.sc/158qxwx.
Тут тоже видно, что роботс пустой — https://prnt.sc/158ri7o.

Карты сайта по указанному адресу нет — https://prnt.sc/158r8gm.

Посоветовали сделать пустой роботс-сделал, не помогло.
В данный момент присутствуют строки:
User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-json/
Disallow: /xmlrpc.php
Disallow: /readme.html
Disallow: /*?
Disallow: /?s=
Allow: /*.css
Allow: /*.js
Sitemap: https://schneejager.ru/wp-sitemap.xml


Записан



Теперь роботс есть. Но карты сайта по указанному в роботсе адресу нет.


Записан


Если дословно, то ошибка «Файл роботс.тхт вернул 503 ответ сервера». Сам файл здесь ни при чем. Чаще всего такая ошибка вылетает при большой нагрузке на сервер


Записан


Ответ саппорта:

Таким образом, ошибки 503 — это временные проблемы. Обычно они вызваны перегрузкой сервера или техническим обслуживанием. Эти ошибки могут указывать на то, что вам нужен более мощный веб-сервер, способный обрабатывать большее количество запросов. Другими возможными причинами ошибок 5xx являются: Неисправные плагины в вашей CMS (например, WordPress). Проблемы с правами доступа к файлам и папкам Если вы обнаружили, что ползание произошло во время обслуживания сервера, запустите новое ползание, чтобы проверить, сохраняются ли ошибки 5xx.

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


Записан



  • Печать

Страниц: [1]   Вверх

When you create a new project in Ahrefs, you might get an error message saying that one or both of our bots (AhrefsBot and AhrefsSiteAudit bot) could not crawl your target website.

This means that we aren’t able to access your website due to issues out of our control. As the owner of the website, there are some ways for you to troubleshoot this and allow us access. 

These are some common issues:

——

1. Robots.txt rules disallow crawl

If you see this error message below or one that says «Robots.txt rules disallow crawl», your robots.txt might be blocking us from crawling. 

To check for this, type your website into our robots checker: https://ahrefs.com/robot/site-audit

Please make sure that you don’t have a disallow rule on your robots.txt file for AhrefsSiteAudit or for AhrefsBot

You can also add the following lines into the robots.txt file on your server:

User-agent: AhrefsSiteAudit
Allow: /

User-agent: AhrefsBot
Allow: /

——

2. IP Blocked/Fetching robots.txt took too long/Failed to connect to server

If you see the above messages (or variants of them), please add our IPs to the server’s whitelist. 

Our IPs:
https://help.ahrefs.com/about-ahrefs/what-is-the-list-of-your-current-ip-ranges

Another possible issue is that your hosting provider is blocking us. In this case, please check in with them to resolve the issue.

You should also check if you’re using any plugins that could be blocking us and causing this error. For e.g, the Incapsula plugin blocks us.

———

3. The HTTP server returned error 403: «Forbidden»

This error message usually means that we are being blocked by your site’s firewall or plugin; and our IPs and user-agent (AhrefsSiteAudit and/or AhrefsBot) need to be whitelisted there.

——

4. Error 406 Not Acceptable: Firewall

If you see this error message, it could be due to reasons like: the configuration of your webserver, the firewall managed by your hosting provider, the protection of your CDN, etc. 

The error message might provide hints as to what the cause might be. Some known examples include: ModSecurity, Sucuri, Cloudflare.

There is nothing we can do to resolve this problem on our end. You’ll need to take action to get this fixed on yours.

If you don’t know how to fix the issue, please contact your webmaster, hosting company or CDN to have our bot unblocked. If their support chat is using a ticketing system, use «Tech Support» or the closest related category.

Please feel free to use the following template:

—————

Hi,

I run the domain <insert url here> and I’d like to request for Ahrefsbot to be unblocked. I want it to crawl my site and this functionality is currently disallowed by <insert firewall name here>. Ahrefsbot does not have any traits of a “bad” bot – please see: https://ahrefs.com/robot

Thank you very much.

—————-

If you don’t see your issue described above, or just need some extra guidance, please contact our support team for help.

  • How do I finish crawling my website faster in Site Audit?

  • How do I whitelist Ahrefs user agents for Incapsula?

  • How to avoid crawling specific pages in Site Audit

2783
просмотров

Рано или поздно на сайте необходимо проводить технические работы, это может быть обновление движка, переделка структуры или просто модернизация ПО. Здесь возникает вопрос, как это сделать максимально безболезненно для SEO? Правильно в этом случае будет использовать 503 код статуса в http-заголовках отдаваемых страниц, который как раз и говорит, что “сервис временно недоступен, попробуйте позже”. Но как именно в этом случае ведут себя поисковые системы?

В идеале, роботы должны работать по интернет-стандартам, в которых описано:

503 код статуса говорит о том, что сервис не может обработать запрос из-за временной перегрузки или внутренних работ. Если известна длительность работ, её можно указать в заголовке Retry-After. Если этого заголовка не будет, клиент может распознать ответ как 500 (внутренняя ошибка сервера).

Но здесь множество нюансов и вопросов. Например, страницы, которая отдает сейчас 503 код, могло раньше не быть в индексе, должен ли краулер обрабатывать их также, как и страницы, которые уже были в индексе? Через какое время недоступности можно выкидывать страницу из индекса? Должно ли оно измеряться часами-днями или же количеством дополнительных обращений? А что, если robots.txt будет отдавать 503 код статуса, стоит ли в этом случае индексировать сайт?

Вопросов много, ответов пока мало. Яндекс по 503 кодам статусов ничего не описывает, Google в 2011 дал пару рекомендаций из которых ясно лишь, что:

— Retry-After используется не как четкое правило, а как дополнительный сигнал для определения подходящего момента переиндексации URL.

— Продолжительная выдача 503 может расцениваться 410. Насколько продолжительная не комментируется.

В этой статье представлены результаты анализа логов экспериментального сайта для понимания процесса краулинга. Чуть позже также планируется опубликовать серию статей с детальным анализом каждого вопроса по 503 ошибкам.

Проведение исследования

Для понимания логики работы краулеров поисковиков было проведено небольшое исследование.

— Создана страничка на сайте, который часто посещают поисковые роботы
— Страничка отдает 503 код статуса, а также заголовок Retry-After с указанием роботам попробовать зайти на страницу через час.

HTTP/1.1 503 Service Temporarily Unavailable
Retry-After: 3600

— На страничку в меню поставлена сквозная ссылка, чтобы роботы её быстрей заметили.
— Также была взята вторая, уже существующая в индексе страница, для которой проделаны аналогичные действия.
— 30 часов поисковики пытались получить доступ к этим страницам, вся информация записывалась в логи.

Результаты

Что же показали нам логи?

1. Яндекс пытается проиндексировать новую страницу каждые 30 минут.

Серверные логи - посещение новой 503 страницы Яндексом

Несмотря на то, что мы попросили в Retry-After обратиться к сайту через час, Яндекс стучался к ней каждые пол часа (без исключений) и продолжает стучать до сих пор. Причем, первые 4 обращения с точностью до секунды, далее (на 9-ю попытку) время чуть сместилось, и Яндекс поместил URL в очередь краулинга на круглое время — стучался в 00 и 30 минут каждого часа.

2. Google экономит краулинговые бюджеты

В отличие от Яндекса, гугл обратился к новой странице за сутки всего 8 раз (Яндекс – 56). Время обращения гуглбота не имеет общих свойств, минимальный период обращения к экспериментируемой странице — 10 минут (правда с разных их серверов, возможно разные краулеры), среднее задержка между обращениями — 4-5 часов.

3. К старой странице Яндекс обращается намного реже

К существующей в базе Яндекса странице, для которой был настроен 503 код статуса, Яндекс обращался намного реже, всего 5 раз за сутки. Первое обращение через 5 минут, второе через 11 часов (с точностью до минуты), третье обращение через 8 часов, последующие примерно через 6 часов.

4. Google к старым страницам обращается чаще, игнорируя Retry-After

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

Мои заключения

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

  • Поисковики обрабатывают 503 ошибку для существующих и несуществующих в своей базе страниц по-разному. Вероятно, здесь используются разные очереди (или краулеры) для индексации и переиндексации. Это же подтверждается разным IP серверов Яндекса, к новым страницам он стучался в основном с 141.8.142.86, к старым с 93.158.* и 178.154.*, у Google айпишники также не пересекаются для разных типов страниц.
  • Google учитывает время в Retry-After для новых страниц, но не учитывает для старых. Для страниц в индексе, должно быть, уже задан параметр, как часто они обновляются и когда нужно пересканировать в следующий раз. Это время переопределяет параметр в Retry-After.
  • Яндекс оперирует очередью на краулинг, где каждому URL в ней соответствует точное время, когда страница должна быть запрошена. Правда неясно, какой минимальный промежуток времени между двумя запросами, если они идут с одного сервера. Предварительно это 1 секунда, но все зависит от технической реализации очереди.
  • Для проведения тех. работ в Яндексе нет смысла Retry-After ставить менее 4-5 часов.
  • Объяснение того, что Google обращается к старым страницам очень часто, игнорируя Retry-After, возможно в том, что он это делает разными краулерами, каждый со своим автономным расписанием. То есть, инструкции вы даете не вообще гуглу, а конкретному его серверу (или кластеру серверов), которых сотни под разные страны.

В следующей статье я опишу, что происходит, когда роботы видят 503 ошибку на файле robots.txt. Это очень интересно, не переключайтесь!

Sometimes, your site will need some downtime, so you can fix things or update plugins. Most of the time, this tends to be a relatively short period in which Google will most likely not attempt to crawl your website. However, in the case that you need more time to get things fixed, chances are much higher that GoogleBot might come for a visit and be confronted with a website that’s down. So how do we prevent Google from deranking your website?

HTTP status codes and you

For those not familiar with HTTP status codes, here’s a brief summary of the ones that apply to you when dealing with site maintenance:

  • 200 OK. This status code dictates that the server was successful in returning a response.
  • 301 Moved permanently. This tells the browser that this page is no longer valid and will redirect to the correct page.
  • 302 / 307 Moved temporarily. There’s some history behind these two HTTP status codes, but what this dictates to the browser is that you’ll temporarily be redirecting the browser to a different page and that the current URL will eventually be back to its former state.
  • 404 Not Found. This status code means that the page you were trying to navigate to, couldn’t be found.
  • 410 Content Deleted. Use this if you deleted your content on purpose and there will be no replacement. Find out more about how to delete pages properly.
  • 503 Service unavailable. This is the one you want to be returning to Google when you’re dealing with site maintenance. It tells Google that you are in fact working on this page or that something else went wrong. Google knows that when this status code is returned, to check the page again later on. This is what we’ll be discussing a bit more.

Please note that Google will consider pages returning the 200 HTTP status code, despite there being an error (or very little content) on the page, as a “soft 404” in Google Search Console.

Read more: HTTP status codes »

Telling Google you’re busy

If Google runs into a 404 while crawling your site, it’ll usually toss out that page from the search results until it comes back the next time to verify the page is back. However, if Google repeatedly runs into a 404 on that specific page, it’ll eventually postpone re-crawling which means that more time will pass before the page returns in the search results.

To overcome this potential longer loss of rankings, you need to return a 503 status code whenever working on a particular page. The original definition of the 503 status code, according to this RFC, is:

The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

What this means is that returning a 503 in combination with a Retry-After header, which will tell Google how many minutes to wait before coming back. This does not mean Google will crawl again in exactly X minutes, but it’ll ensure Google doesn’t come back around to take a look anytime before then.

Adding the header

If you want to implement the header, there are a few options you can choose from.

Using the WordPress defaults

By default, WordPress already returns a 503 when updating plugins or WordPress core. WordPress allows you to override the default maintenance page by adding a maintenance.php to your wp-content/ directory. Please note that you’ll then be responsible for properly returning the 503 header. Plan on doing database maintenance? You’ll have to take care of that as well. Add a db-error.php file to your wp-content/ and make sure that you also properly return a 503 header here as well.

If you’re looking to add something fancier to your WordPress website, check out WP Maintenance Mode. This plugin also adds a lot of extra features, besides what we mentioned in the previous section.

If you’re just writing your own code and want a solution that’s easy to implement, you can add the following snippet to your codebase and call it in the code that determines if you’re in maintenance mode:

function set_503_header() {
    $protocol = 'HTTP/1.0';

    if ( $_SERVER['SERVER_PROTOCOL'] === 'HTTP/1.1' ) {
        $protocol = 'HTTP/1.1';
    }

    header( $protocol . ' 503 Service Unavailable', true, 503 );
    header( 'Retry-After: 3600' );
}

Note that the 3600 in the code snippet dictates the delay time in seconds. That means that the above sample will tell GoogleBot to return after an hour. It’s also possible to add a specific date and time in Retry-After, but you need to be careful with what you add here, as adding a faulty date might result in unexpected results.

Pro-tips

Caching

There are a few things you need to take into consideration when working with maintenance pages and returning 503 status codes. If you actively use caching, you might run into a situation where the cache isn’t properly passing on the 503 status, so please make sure you test this properly, before actively using this on the live version of your website.

Robots.txt

Did you know it’s also possible to return a 503 status code for your robots.txt? Google states in its robots.txt documentation that you can temporarily suspend crawling by throwing a 503 for your robots.xt file. The biggest advantage to this is less server load during maintenance periods.

Handle your maintenance well!

As we have seen, you can avoid losing rankings by adding a 503 when you’re doing site maintenance, to let Google know it can come back to crawl your site later. There are several ways to do this. Pick what works best for you, and you’ll have a well-maintained site with no danger of losing rankings. Good luck!

Keep reading: Which redirect should I use? »

Joost de Valk is an internet entrepreneur and the founder of Yoast. After selling Yoast he had stopped being active full time and acting as an advisor to the company, but came back to be its interim CTO. He is also the Head of WordPress Strategy for Yoast’s parent company Newfold Digital.

Joost, together with his wife Marieke, actively invests in and advises several startups through their company Emilia Capital.

Avatar of Joost de Valk

Coming up next!

  • 
					WordCamp Cebu 2023

    Event

    WordCamp Cebu 2023


    February 11, 2023


    Team Yoast is Attending, Organizing, Speaking, Sponsoring, Volunteering, Yoast Booth WordCamp Cebu 2023, click through to see if we’ll be there, who will be there and more!

    See where you can find us next »

  • Yoast SEO news webinar – February 28, 2023

    SEO webinar

    Yoast SEO news webinar — February 28, 2023


    28 February 2023


    Our head of SEO, Jono Alderson, will keep you up-to-date about everything that happens in the world of SEO and WordPress.

    All Yoast SEO webinars »


Понравилась статья? Поделить с друзьями:
  • Roborock s552 02 ошибка 1
  • Roborock s502 02 ошибка 1
  • Roborock s5 ошибка зарядки
  • Roborock s5 max ошибка 106
  • Roborock dyad ошибка e5