• Главная / Блог / Наше все (разработка OT Commerce) / Функционал ОТ / Как снизить нагрузку на сайт и сократить число платных вызовов к OTAPI
  • Как снизить нагрузку на сайт и сократить число платных вызовов к 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. У нее есть пробный тридцатидневный период.

     

    Например:

     

     

    Это логи одного из наших клиентов за 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

      Телефон

      Skype

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