Добавить свою заметку вы можете на этой странице.
Еще один способ снизить нагрузку на сайт
![Еще один способ снизить нагрузку на сайт](/upload/iblock/53a/big_2161452880886_1452262396.jpg)
Случилось страшное.
Очередной раз, проверяя нагрузку, создаваемую вашим сайтом на процессор сервера, вы обнаруживаете зашкаливающие графики и значения от допустимого лимита выбранного тарифного плана. В это же самое время вы получаете письмо от хостинг-провайдера с требованием срочно принять меры по снижению нагрузки или выбрать более дорогой тарифный план обслуживания.
Казалось бы, ваш сайт или блог еще не имеет огромной посещаемости, из-за которой может создаваться такая высокая нагрузка. И, разумеется, у большинства вебмастеров возникает чувство паники и переживания за собственный проект. Ведь в письме хостинг-провайдер явно указал на то, что если вы не примете соответствующих мер, то обслуживание сайта будет приостановлено.
В первую очередь важно понять, что нагрузка может создаваться за счет двух основных факторов:
- Внутренние факторы. Следует проверить сайт на вирусы, наличие посторонних скриптов и кодов, убедиться не создается ли нагрузка из-за используемых вами плагинов и модулей для 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 (бывш. Инструменты для вебмастеров). Разумеется, ваш сайт уже должен быть добавлен в этот инструмент.
Зайдя в свой кабинет и выбрав необходимый сайт, нужно нажать на пиктограмму шестеренки, а затем пункт меню «Настройки сайта».
![](/upload/tmp/images/1cf568d928129907f7f929c581dcf3b0.jpg)
В разделе «Частота сканирования» нужно выбрать пункт «Ограничить максимальную скорость сканирования Google», а затем переместить ползунок на более низкий таймаут, скажем, на 111.
![](/upload/tmp/images/32a2ebf3de1321645ceb41211f4e9b84.jpg)
Если для робота Яндекса после снижения количества запросов нам нужно удалить директиву Crawl-delay, то для Гугла этого делать необязательно. Таймаут автоматически вернется в исходное положение через 90 дней.
Также следует учесть, что изменения, внесенные в Google Search Consol вступают в силу примерно через 2-3 дня. Поэтому не стоит удивляться если вы не увидите сразу резкого снижения.
Источник: http://computerlikbez.ru/