Инерция скролла: почему ваш бот листает страницу как робот-пылесос

Равномерный скролл ровными шагами — классический признак бота. Разбираем инерцию, откаты и остановки, из которых складывается живая прокрутка.

Инерция скролла: почему ваш бот листает страницу как робот-пылесос

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

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

Что снимается при прокрутке

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

  • Скорость и её изменение. Не только текущая скорость, но и ускорение: как быстро скролл разгоняется и как затухает. Форма кривой затухания — самая характерная часть подписи.
  • Дискретность шага. Колесо мыши даёт дискретные щелчки с фиксированной величиной шага. Тачпад и сенсорный экран — непрерывный поток мелких смещений. Это принципиально разные картины.
  • Направление и смена направления. Откаты вверх, их частота, амплитуда и то, в каких местах страницы они случаются.
  • Паузы. Их длительность и привязка к содержимому: остановился на заголовке, на картинке, на таблице, на блоке с ценой.
  • Поведение на границах. Что происходит при достижении низа страницы: упор, попытка продолжить, отскок на мобильных.
  • Связь с курсором. Двигалась ли мышь во время прокрутки, где она находилась, менялось ли её положение между сериями скролла.

Инерция как отдельный признак

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

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

Три типа устройств — три разных профиля

Колесо мыши

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

Откаты вверх у мыши обычно небольшие и точные — один-два щелчка обратно. Долистать до самого низа и упереться легко, поэтому упоры в границу встречаются часто.

Тачпад

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

Сенсорный экран телефона

Самый выразительный профиль. Свайп даёт сильный импульс, страница летит, затем плавно тормозит. На границе страницы срабатывает отскок — характерное явление, которого нет ни у мыши, ни у тачпада. Скорость свайпов сильно варьируется: человек в транспорте листает рывками, дома спокойнее. Дополнительно на телефоне часто встречается остановка страницы пальцем на лету — резкое прекращение инерции касанием, ещё один признак, который не воспроизводится шаговой моделью.

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

Таблица: профиль скролла по типам устройств

ПризнакКолесо мышиТачпад и сенсорный экран
Характер потока событий дискретные щелчки непрерывный поток смещений
Величина шага фиксированная, кратная переменная, мелкая
Инерция после жеста отсутствует или слабая выраженная, с затуханием
Поведение на границе упор без отдачи отскок на сенсорных экранах
Структура длинной прокрутки серии щелчков с паузами цепочка жестов с инерцией
Остановка движения прекращение вращения касанием на лету

Как бот выдаёт себя

Есть четыре типовые картины, и каждая опознаётся по своей причине.

Равномерные шаги. Страница смещается на одинаковую величину через одинаковые промежутки. Нет ни разгона, ни затухания, ни пауз, привязанных к содержимому. График — прямая линия, которой в живом трафике не бывает.

Прыжки по координатам. Позиция меняется скачком: было ноль, стало две тысячи пикселей. Промежуточных событий нет вообще. Формально страница «просмотрена до конца», фактически такой переход невозможен физически.

Случайные шаги без физики. Более аккуратный вариант: величина шага и пауза берутся из случайного диапазона. График становится неровным, но остаётся бесструктурным — нет фаз разгона и торможения, нет связи соседних значений, откаты появляются в случайных местах, паузы не привязаны к блокам.

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

Таблица: ошибки модели прокрутки и их исправление

ОшибкаКак выглядитИсправление
Мгновенный переход по координате нет промежуточных событий прокрутка потоком событий с физикой
Фиксированный шаг и интервал идеально прямой график фазы разгона и затухания
Случайный шаг без структуры неровно, но бессвязно связь соседних значений, импульс с затуханием
Ноль откатов вверх движение только в одну сторону возвраты к интересным блокам
Паузы не привязаны к содержимому остановка посреди пустого места остановки на заголовках, картинках, таблицах
Мобильный профиль со щелчками колеса противоречие с типом устройства свайпы с инерцией и отскоком на границе

Четвёртая строка заслуживает пояснения. Движение строго в одну сторону — очень сильный признак. Живое чтение почти всегда содержит возвраты: человек проскочил нужное место, вернулся, перечитал абзац, снова пошёл вниз. Доля таких возвратов у реальной аудитории заметная, и полный их ноль на всём объёме трафика выглядит так же неестественно, как ноль опечаток при наборе текста.

Как строить правдоподобный профиль прокрутки

Начинать с физической модели, а не со случайных чисел

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

Привязка остановок к содержимому

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

Возвраты и перечитывание

Заложите откаты вверх: небольшие, на треть-половину экрана, в местах после содержательных блоков. Иногда — крупный возврат к началу статьи или к меню. Частота возвратов должна различаться по профилям: кто-то читает линейно, кто-то постоянно скачет.

Профиль скролла под тип устройства

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

Скорость как черта характера

Темп прокрутки связан с темпом остального поведения. Быстрый профиль быстро листает, быстро печатает, быстро принимает решение по странице. Медленный — везде медленный. Разнобой внутри одной сессии, когда запрос вбивается за долю секунды, а страница листается вдумчиво минуту, выглядит как две разные личности в одном визите.

Неполный просмотр как норма

Не каждую страницу надо дочитывать до конца. Часть визитов естественно обрывается на середине: человек нашёл ответ и ушёл, или понял, что не туда попал. Стопроцентная глубина прокрутки на всём трафике — такая же аномалия, как нулевая. При этом обрыв на первом экране с быстрым возвратом в выдачу имеет собственные последствия, о которых подробно в материале про возвраты в выдачу.

Чек-лист проверки модели скролла

  1. Запишите поток событий прокрутки, который генерирует ваш инструмент, с координатами и метками времени.
  2. Постройте график позиции от времени. Прямая линия или ступеньки одинаковой высоты означают отсутствие физики.
  3. Постройте график скорости. У живого жеста виден резкий подъём и плавное затухание.
  4. Проверьте наличие откатов вверх и их долю. Ноль возвратов — красный флаг.
  5. Сопоставьте места остановок с разметкой страницы: попадают ли они на содержательные блоки.
  6. Убедитесь, что тип прокрутки соответствует типу устройства в профиле.
  7. Проверьте поведение на нижней границе: упор для мыши, отскок для сенсорного экрана.
  8. Сравните профили прокрутки двух разных пользователей — они не должны совпадать по темпу и манере.
  9. Посмотрите распределение глубины просмотра по трафику: оно должно быть размазанным, а не сосредоточенным в одной точке.

Разбор кейса: одинаковая кардиограмма на всю ферму

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

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

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

Частые ошибки

  • Менять позицию скачком. Мгновенный переход к нужной координате не имеет промежуточных событий и не бывает у людей.
  • Двигаться равномерно. Прямой график скорости — самая узнаваемая машинная подпись прокрутки.
  • Заменять физику случайностью. Случайный шаг делает график неровным, но не даёт ни разгона, ни затухания, ни связи соседних значений.
  • Никогда не возвращаться вверх. Живое чтение содержит откаты; их полное отсутствие видно сразу.
  • Использовать одну модель для всех устройств. Мобильный профиль, листающий как настольный, противоречит сам себе на каждом визите.

Частые вопросы

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

Достаточно ли добавить случайность к шагу? Нет. Случайность меняет внешний вид графика, но не создаёт физику. Отличить движение с импульсом и затуханием от набора случайных шагов можно по форме кривой скорости, и это простая проверка.

Обязательно ли знать разметку страницы? Для качественной модели — да. Паузы, привязанные к содержательным блокам, дают принципиально более осмысленную картину, чем остановки в случайных точках. Это отличает «читал» от «прокручивал».

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

Вывод

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

Больше о поведенческом продвижении и других услугах — на главной странице ProfSEO24.

Закажите накрутку ПФ в ProfSEO24

Выводим сайты в ТОП-1 Яндекса за счёт поведенческих факторов на базе ИИ — без риска фильтров. Более 300 сайтов в ТОП-1, первые сдвиги по позициям за 3 дня. Рассчитаем стоимость под вашу нишу и регион.

Заказать накрутку ПФ Написать в Telegram

Комментарии

Аркадий Вешняков

Построил график позиции по своим сессиям — получилась почти идеальная прямая с еле заметной рябью. Считал, что случайного разброса шага достаточно. График всё объяснил без слов.

Admin

График позиции полезен, но показательнее график скорости — на нём сразу видно, есть ли разгон и затухание. Переходите к импульсной модели: задаёте начальную скорость жеста, дальше она затухает, позицию получаете интегрированием. Случайность при этом остаётся, но переезжает на уровень параметров жеста, а не отдельных шагов. Форма кривой после такой замены меняется кардинально.

Снежана Грибова

Про ноль откатов вверх — попадание в десятку. У нас движение только вниз во всех сессиях. А я сама при чтении постоянно возвращаюсь перечитать абзац.

scroll_physics

Дискретность колеса против непрерывного потока тачпада — принципиальная вещь. Это разные типы событий, и подменить одно другим нельзя, картина сразу разваливается.

Данила Опарин

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

Admin

Именно так, причём это довольно дешёвый признак для проверяющей стороны: поведение на границе отслеживается теми же событиями, что и обычная прокрутка. Добавьте отскок с небольшой амплитудой и быстрым возвратом — он случается не всегда, а когда жест был сильным и страница долетела до конца с запасом импульса. Если свайп слабый и страница мягко подошла к границе, отскока не будет.

Роза Мингалеева

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

Трофим Заикин

«Отсутствие грубых ошибок ещё не означает правдоподобия» — про нас. Ушли от прыжков по координатам, обрадовались и остановились. А физики как не было, так и нет.

Яна Островерхова

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

Admin

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

Марат Юнусов

Остановка страницы пальцем на лету — тонкий момент, я про такое не думал. Инерция идёт, человек касается экрана и движение обрывается мгновенно. Генератором такое не получится случайно.

Эмма Гольцева

Мысль про темп как черту характера хорошо связывает всё вместе. Быстрый профиль должен быть быстрым везде, а не молотить запрос за долю секунды и потом вдумчиво листать минуту.

wheel_vs_touch

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

Admin

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

Валентин Зубарев

Уточните по частоте возвратов вверх: какую долю закладывать и чем руководствоваться?

Admin

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

Ираида Плотник

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

Клим Овсянников

Забрал чек-лист. Пункт про соответствие типа прокрутки типу устройства проверяется первым — если мобильные профили щёлкают колесом, остальное можно даже не смотреть.

Аделина Шестакова

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

🚀

Получите бесплатный расчёт

Напишите нам в Telegram — ответим за 15 минут, рассчитаем стоимость под ваши запросы и регион.

Написать в Telegram

✓ Бесплатно  ·  ✓ Без обязательств  ·  ✓ Ответ за 15 минут

Вопрос — ответ

Ответили на популярные вопросы о нашей работе и продвижении.