Почему сайты на WooCommerce чаще других страдают от бот-трафика

За последний год бот-трафик перестал быть тем, что владельцы сайтов могли игнорировать, и стал напрямую влиять на функционирование инфраструктуры. Изменения касаются не только объёма трафика, но и того, как автоматизированный трафик взаимодействует с современными веб-сайтами, особенно с магазинами на платформе WooCommerce.

Казалось бы, запрос – он и в Африке запрос. Но только на первый взгляд. Не все запросы одинаковы, и WooCommerce делает это различие ещё более наглядным.

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

Почему WooCommerce превращает трафик в рабочую нагрузку

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

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

  • Выполнение PHP-кода для обработки логики запроса
  • Запрос к БД для получения данных о товарах, ценах или сессиях
  • Динамическое формирование ответа перед его отправкой.

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

В то же время происходит запрос к БД для получения информации о данных и сессиях. Обработка сессий также происходит в фоновом режиме.

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

Где боты наносят наибольший ущерб сайтам WooCommerce

Влияние бот-трафика на сайты WooCommerce, как правило, сосредоточено на небольшом наборе конечных точек, предназначенных для взаимодействия с реальными пользователями.

Это те части сайта, где запросы являются наиболее затратными и наименее кэшируемыми:

  • Конечные точки корзины и оформления заказа (/cart, /checkout, ?add-to-cart=)
  • Поисковые запросы
  • Фильтрованные и параметризованные страницы товаров
  • Взаимодействия, управляемые AJAX, а также динамические компоненты

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

Наиболее очевидными примерами являются конечные точки корзины и оформления заказа. Запрос к /cart или любой другой запрос, содержащий ?add-to-cart=, запускает логику приложения для валидации сессии, обновления состояния корзины, запроса данных о товаре и подготовки конкретного ответа. Когда это происходит многократно в больших масштабах, это быстро иссушает ресурсы сервера.

В недавно опубликованном отчете «The AI & bot traffic reality check» наша команда инженеров обнаружила, что за 24 часа более семи миллионов запросов от ботов поступило на URL-адреса добавления товаров в корзину в инфраструктуре Kinsta.

Чтобы представить цифры в перспективе, 3,75 миллиона запросов от ClaudeBot за 24 часа — это примерно один запрос каждые 23 миллисекунды (круглосуточно), причём каждый из них обрабатывается как новый запрос.

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

В нашем отчете мы обнаружили, что внешний агент (краулер Facebook/Meta AI) застревал на страницах сравнения WooCommerce и в течение нескольких дней циклически перебирал бессмысленные вариации страниц календаря.

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

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

Почему бот-трафик не выглядит как атака (но приводит к подобным результатам)

Одна из причин, почему эту проблему легко упустить из виду, заключается в том, что она не похожа на вредоносную атаку.

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

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

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

Вот почему различие между «хорошими» и «плохими» ботами становится менее полезным на практике.

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

Что это значит для производительности WooCommerce?

Когда такой трафик растёт, последствия проявляются таким образом, что их легко неправильно истолковать.

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

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

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

В больших масштабах это становится проблемой как с точки зрения производительности, так и с точки зрения принятия решений.

Почему тотальная блокировка ботов не является эффективным решением

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

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

Блокировка всего устраняет проблему с трафиком, но также сводит на нет и преимущества. Разрешение всего позволяет избежать разрывов, но оставляет систему уязвимой для ненужной нагрузки.

Проблема в том, что сайтам WooCommerce не подходит единое правило для всего трафика. Им необходимо различное поведение в зависимости от того, куда направляется запрос и каков источник трафика.

Более практичный способ осмысления бот-трафика

Вместо того чтобы думать над тем, следует ли разрешать или блокировать ботов, более полезным будет вопрос: каким типам трафика нужно разрешить доступ к тем или иным разделам сайта?

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

Именно такое разделение делает трафик ботов управляемым.

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

Источник: https://kinsta.com

Дмитрий/ автор статьи
CCO, Senior SEM/PPC Specialist, WordPress-энтузиаст, переводчик с английского и немецкого. Серый кардинал русскоязычного WP-комьюнити.
Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.