В этом разделе материалы размещаются пользователями сайта и публикуются после одобрения модератором. Редакция не несет ответственности за орфографические и другие ошибки, хотя и старается исправлять их по мере возможности.
Добавить свою заметку вы можете на этой странице.
08 января 2016, 17:13
1

Еще один способ снизить нагрузку на сайт

Источников нагрузок на сайт может быть очень много. В этом кейсе рассмотрим один из них - нагрузка со стороны роботов поисковых систем.
Еще один способ снизить нагрузку на сайт

Случилось страшное.

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

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

В первую очередь важно понять, что нагрузка может создаваться за счет двух основных факторов:

  • Внутренние факторы. Следует проверить сайт на вирусы, наличие посторонних скриптов и кодов, убедиться не создается ли нагрузка из-за используемых вами плагинов и модулей для CMS и так далее;
  • Внешние факторы. На самом деле этих факторов может быть много, однако, в этом кейсе мы рассмотрим только один из них – нагрузку, создаваемую поисковыми роботами.

Нагрузка и логи

Исходные данные:

  • Блог на WordPress;
  • Обычный виртуальный хостинг, который может позволить себе, практически, каждый.

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

Как правило, логи бывают двух видов:

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

Очевидно, что при нагрузках от поисковых роботов нам потребуется только Access_log. Именно в этом файле мы сможем увидеть User-Agent, который обращался к нашему сайту. По сути, User-Agent – это десктопные и мобильные браузеры пользователей, роботы, в том числе и «пауки» поисковых систем.

User-Agent основного робота Яндекса в логах отображается как:

Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

User-Agent других роботов Яндекса вы можете посмотреть по ссылке:

https://yandex.ru/support/webmaster/robot-workings/check-yandex-robots.xml

User-Agent основного робота Гугла в логах отображается как:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

User-Agent других роботов Гугла вы можете посмотреть по ссылке:

https://support.google.com/webmasters/answer/1061943?hl=ru

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

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

«Обращаться к этому сайту не реже 10 секунд».

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

Таймаут для Yandexbot

Для поискового робота Яндекса таймаут устанавливается в файле robots.txt. Нам нужно прописать всего одну директиву:

Crawl-delay: 10

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

Кроме того, робот Яндекса «понимает» и дробные значения, например, мы можем задать период 0,5 секунды, который будет означать обращение Яндексбота к сайту не чаще одного раза в полсекунды.

Таймаут для Googlebot

Для Googlebot таймаут задается прямо в интерфейсе для вебмастеров – Google Search Console (бывш. Инструменты для вебмастеров). Разумеется, ваш сайт уже должен быть добавлен в этот инструмент.

Зайдя в свой кабинет и выбрав необходимый сайт, нужно нажать на пиктограмму шестеренки, а затем пункт меню «Настройки сайта».

В разделе «Частота сканирования» нужно выбрать пункт «Ограничить максимальную скорость сканирования Google», а затем переместить ползунок на более низкий таймаут, скажем, на 111.

Если для робота Яндекса после снижения количества запросов нам нужно удалить директиву Crawl-delay, то для Гугла этого делать необязательно. Таймаут автоматически вернется в исходное положение через 90 дней.

Также следует учесть, что изменения, внесенные в Google Search Consol вступают в силу примерно через 2-3 дня. Поэтому не стоит удивляться если вы не увидите сразу резкого снижения.



📰 Чем живёт digital.
Главное — в рассылке: