Как снизить нагрузку на сайт и сократить число платных вызовов к OTAPI

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

 

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

 

Большая часть таких роботов не приносят сайту никакого вреда и никакой пользы. Но когда на сайте используется API для получения какой-либо информации, за которое владелец платит, как в случае с Ключом OT API, то такие роботы могут наносить существенный финансовый вред владельцу сайта.

 

Есть несколько способов ограничить действие подобных роботов, по-другому их можно назвать ботами. Рассмотрим два таких способа, основанных на User-Agent, который передает бот.

 

  1. Запрет доступа к сайту через robots.txt.

Этот метод основан на том, что бот, который сканирует сайт, скачивает файл robots.txt и по инструкциям в нем, разрешен ему доступ или нет, продолжает дальнейшую работу или прекращает ее. Метод имеет два подхода:

  • запретить доступ всем, кроме;
  • запретить доступ определенным ботам.

 

Первый подход самый простой запретить доступ всем, кроме Google и Yandex:

  • Эта инструкция запрещает доступ всем.

User-agent: *

Disallow: /

  • Эта инструкция разрешает доступ для бота поисковой системы Google.

User-agent: Googlebot

Allow: / 

  • Эта инструкция разрешает доступ для бота поисковой системыYandex.

User-agent: Yandex

Allow: /

  • Если мы хотим закрыть доступ всем, кроме Google и Yandex, то наш файл robots.txt будет выглядеть так:

User-agent: Googlebot

Allow: /

User-agent: Yandex

Allow: /

User-agent: *

Disallow: /

 

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

 

Также полезным может быть использование директивы:

Crawl-Delay: 10 

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

 

Например:

User-agent: Yandex

Crawl-Delay: 10

Allow: /

Это будет означать, что вы разрешаете для бота Yandex сканирование сайта, но не чаще 1 запроса в 10 секунд.

 

Второй подход в robots.txt заключается в том, что вы, наоборот, всем разрешаете доступ, кроме определенных ботов.

 

Например:

User-agent: SemrushBot

Disallow: /

User-agent: *

Crawl-Delay: 10

Allow: / 

 

В данном случае, сканировать сайт разрешается всем, кроме SemrushBot, не чаще 1 запроса в 6 секунд.

 

  1. Запрет через файл .htaccess

По своей сути, метод аналогичен предыдущему, но решение о допуске на сайте принимает не сам бот, а ваш веб-сервер.

 

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} (SemrushBot|SolomonoBot|MJ12bot|Ezooms|AhrefsBot|DataForSeoBot|DotBot|Purebot|PetalBot|LinkpadBot|WebDataStats|Jooblebot|Baiduspider|BackupLand|NetcraftSurveyAgent|netEstate|rogerbot|exabot|gigabot|sitebot|Slurp) [NC]

RewriteRule .* – [F,L]

 

Такая конструкция закроет доступ всем ботам с перечисленными User-Agent. Вы можете составить свой список.

 

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

 

Каждый выбирает сам, какой вариант подходит для работы сайта.

 

Использование robots.txt более универсальное и простое. Однако оно основано на добросовестном поведении поискового бота, который может игнорировать данные инструкции.

 

Как определить, кто именно дает большую нагрузку на сайт?

 

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

 

Есть разные программы для анализа логов. Например WebLog Expert. У нее есть пробный тридцатидневный период.

 

Например:

 

Как снизить нагрузку на сайт и сократить число платных вызовов к OTAPI

 

Это логи одного из наших клиентов за 7 дней. Как видно, бот PetalBot произвел более 400 000 запросов к сайту. Потенциально это все платные вызовы.

 

На втором месте Semrushbot со 150 000 запросов.

 

Реально полезные Google и Yandex идут на 3-4 местах с более скромными результатами.

Подобный анализ следует проводить не только по User-Agent но и по IP-адресу, с которого произошел вход на сайт. Если с какого-то IP аномально большое количество запросов на протяжении долго периода времени, и вы не знаете кому он принадлежит, то стоит заблокировать доступ к сайту с этого IP-адреса. Однако будьте осторожны в этом, лучше доверить эту операцию специалисту. Так подозрительный для вас IP может принадлежать Google, тогда вы закроете доступ для этой поисковой системы к своему сайту, что скажется на ваших позициях в поиске Google.

 

Следующих ботов можно без последствий для сайта внести в свой черный список: SemrushBot, SolomonoBot, MJ12bot, Ezooms, AhrefsBot, DataForSeoBot, DotBot, Purebot, PetalBot, LinkpadBot, WebDataStats, Jooblebot, Baiduspider, BackupLand, NetcraftSurveyAgent, netEstate, rogerbot, exabot, gigabot, sitebot, Slurp.

 

Baiduspider – это бот поисковой системы Baidu. Slurp – так идентифицирует себя Yahoo.

×
Войти или
зарегистрироваться
E-mail
Пароль
Повторить пароль
Войти через
социальные сети
×

    Имя

    Выбор продукта

    E-mail

    Телефон

    Telegram

    Я принимаю условия использования сервиса и соглашаюсь с политикой конфиденциальности