Добавить свою заметку вы можете на этой странице.
Еще один способ снизить нагрузку на сайт
Случилось страшное.
Очередной раз, проверяя нагрузку, создаваемую вашим сайтом на процессор сервера, вы обнаруживаете зашкаливающие графики и значения от допустимого лимита выбранного тарифного плана. В это же самое время вы получаете письмо от хостинг-провайдера с требованием срочно принять меры по снижению нагрузки или выбрать более дорогой тарифный план обслуживания.
Казалось бы, ваш сайт или блог еще не имеет огромной посещаемости, из-за которой может создаваться такая высокая нагрузка. И, разумеется, у большинства вебмастеров возникает чувство паники и переживания за собственный проект. Ведь в письме хостинг-провайдер явно указал на то, что если вы не примете соответствующих мер, то обслуживание сайта будет приостановлено.
В первую очередь важно понять, что нагрузка может создаваться за счет двух основных факторов:
- Внутренние факторы. Следует проверить сайт на вирусы, наличие посторонних скриптов и кодов, убедиться не создается ли нагрузка из-за используемых вами плагинов и модулей для 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 дня. Поэтому не стоит удивляться если вы не увидите сразу резкого снижения.
Источник: http://computerlikbez.ru/