81,8% трафика моего «ИИ-помощника» было фейковым. Число Googlebot было хуже

81,8% трафика моего «ИИ-помощника» было фейковым. Число Googlebot было хуже

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

Недавно я запустил CitationIQ.com. В моих журналах за последние две недели было указано, что меня посетило 33 ИИ-помощника, чуть больше двух в день. Эта цифра — ложь. Настоящее число? Шесть.

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

<п>Я управляю этой совершенно новой платформой и на данный момент потратил ноль долларов на ее продвижение, поэтому трафик остается скромным. Я начал искать тихие и точные данные о том, кто (роботы и сканеры, поскольку Google Analytics 4 обрабатывает все остальное) посещал, ожидая небольших цифр, и я их получил. Чего я не ожидал, так это того, что большая часть даже этих скромных цифр оказалась ложью. Вот что произошло, как я проверял, как я преследовал упрямые случаи для доказательства и почему самое полезное, что вы можете сделать на этой неделе, — это запустить ту же проверку в своих собственных журналах.

<сильный>То, что никто не проверяет

Когда бот получает вашу страницу, он объявляет имя. Пользователь ChatGPT. Пользователь Клод. Googlebot. CCBot, или кто бы они ни были. Ваш сервер записывает это имя в журнал, ваша аналитика его считает, и вы делаете на его основе выводы.

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

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

<ул>

  • Пользователь ChatGPT https://openai.com/chatgpt-user.json
  • <ли>Клод (все боты) https://claude.com/crawling/bots.json

  • Пользователь Perplexity https://www.perplexity.com/perplexity-user.json
  • Googlebot https://developers.google.com/static/crawling/ipranges/common-crawlers.json
  • CCBot https://index.commoncrawl.org/ccbot.json
  • Я построил свой чек с тремя исходами, а не с двумя. Проверено означает, что IP-адрес находится в опубликованном диапазоне. Spoofed означает, что диапазоны загружены, а IP в них нет. Непроверяемый означает, что я не смог его определить, поскольку не удалось загрузить список или отсутствовала запись. Я никогда не называю что-то фальшивкой только потому, что мне не удалось это подтвердить, и позже именно эта сдержанность позволила одному расследованию оставаться честным достаточно долго, чтобы достичь истины.

    Проверка занимает около 15 строк Python с использованием только стандартной библиотеки, поскольку определение того, находится ли адрес внутри сетевого диапазона, является решаемой проблемой.

    <п>импортировать ipaddress, json, urllib.request # Опубликованный поставщиком список IP-адресов, которые действительно использует его бот. url = “https://openai.com/chatgpt-user.json” данные = json.loads(urllib.request.urlopen(url).read()) # Извлечь каждый диапазон адресов из файла. сети = [] защита сбора (узел): если isinstance(узел, dict): для v в node.values(): собирать(в) elif isinstance(узел, список): для v в узле: собирать(в) elif isinstance(узел, строка): попробуйте: nets.append(ipaddress.ip_network(узел, строгий = False)) кроме ValueError: пройти собирать (данные) # Запрос, утверждающий, что он является пользователем ChatGPT, реален только в том случае, если он # IP-адрес источника находится внутри одного из этих диапазонов. защита is_real(ip): адрес = ipaddress.ip_адрес(ip) вернуть любой (адрес в сети для сети в сетях) <п>Этот фрагмент — суть проверки, а не все. Это стандартная библиотека, доступная только для чтения, но это не законченный верификатор. Как написано, он загружает список одного поставщика, поэтому сам по себе он будет ошибочно помечать каждый реальный запрос Claude, Perplexity и Google как поддельный. Рабочая версия включает в себя это ядро четырьмя вещами, которые не учитываются в примере: он считывает ваши фактические строки журнала вместо одного жестко запрограммированного адреса, сопоставляет каждое имя бота с собственным опубликованным списком, добавляет непроверяемое состояние для случаев, когда список не может быть урегулирован, и возвращается к обратному DNS для такого оператора, как Common Crawl, который опирается на него.

    <сильный>Разрыв спроса

    <п>Начните с сигнала спроса, запросов, которые приходят не от запланированного сканирования, а от помощника, получающего мою страницу в реальном времени во время сеанса реального пользователя. Именно это отмечают имена этих агентов: выборка, инициируемая в реальном времени кем-то, использующим помощника, а не рутинное фоновое сканирование, которое здесь делает все остальное. Чего журнал не может сказать мне, так это того, что преследовал этот человек: спрашивали ли они обо мне по имени или о чем-то более широком, когда моя страница была задействована, чтобы обосновать ответ, поэтому я тоже не буду утверждать. Что я могу сказать, так это то, что 33 запроса содержали одно из этих имен живой выборки. Шесть поступило с IP-адреса, опубликованного поставщиком. Двадцать семь этого не сделали. Это 81,8% случаев подделки среди запросов, которые я смог проверить.

    <стр>Подделки выдавали себя по тому, куда они шли. Настоящий помощник попадает на реальную страницу. Подделанные, все еще носившие имя ассистента, отправились на поиски .env.production, secrets.yaml и config.json. Никто не просил помощника читать мои переменные среды. Это были сканеры учетных данных, заимствовавшие доверенное имя, чтобы проскользнуть мимо фильтров, и проверка IP поймала каждое из них.

    <п>Держите эти цифры свободно. Шесть проверенных — это всего лишь шесть, один небольшой новый сайт за 14 дней, и вы не сможете построить теорию на такой тонкой выборке. Относитесь к этому как к моей исходной точке, а не как к открытию о мире. Ваши цифры будут иметь гораздо большее значение, чем мои.

    Большое число, что не новость

    Из 799 запросов, содержащих имя робота Googlebot, только 107 поступили с подтвержденного адреса Google. Остальные 692, примерно 87%, не были Google.

    <п>Это не открытие. Робот Googlebot был самым популярным именем в сети на протяжении большей части двух десятилетий, и именно поэтому Google публикует свои диапазоны и советует вам проверять IP-адрес, а не доверять строке. Данные подтверждают закономерность и показывают ее масштаб на совершенно новом сайте без какого-либо трафика. Имя сканера, которому доверяют больше всего, привлекает наибольшее количество олицетворений, и оно привлекает его немедленно. Некоторые фейки даже использовали строки Googlebot, привязанные к продуктам, которые Google удалила много лет назад: сканер копировал старый пользовательский агент из списка и никогда не оглядывался назад.

    Так что память держится, какой бы старой она ни была. Строка Googlebot в ваших журналах не является номером Google. Это “претендует на звание Google” число, и разрыв может быть огромным.

    Две разные игры

    <п>Во-первых, уточнение, потому что цифры скоро станут больше. Все, что до сих пор учитывало спрос: Live извлекает помощника во время реального разговора, агентов, имена которых заканчиваются на -User. Далее следует отдельная популяция, запланированные сканеры, которые индексируют и обучаются в фоновом режиме, и это разные боты. ChatGPT-User не является GPTBot, а Claude-User не является ClaudeBot. Таким образом, эти счетчики превышают шесть и не пересекаются с ними. Удалите подделки, и проверенное сканирование расскажет более интересную историю, чем сбор запросов, потому что сами сканеры играют в две разные игры, которые люди смешивают.

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

    Вот мои проверенные данные сканирования (две недели, один новый сайт, снимок и ничего больше). Самым активным проверенным сканером в моем домене был не Google. Это был ClaudeBot от Anthropic с 166 подтвержденными сканированиями, опередивший проверенного робота Googlebot с 107, с GPTBot OpenAI с 46 и его поисковым сканером с 40 отстающими. Это тенденция? Нет, это 14 дней на сайте, о котором никто не слышал. Но на эту структуру стоит посмотреть, потому что то, кто тратит краулинговый бюджет на совершенно новый, непродвигаемый домен, является своего рода сигналом, который стратегически меняет, как только объем становится реальным.

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

    Тот, кого мне пришлось преследовать: CCBot

    <стр>Это подводит меня к, пожалуй, самому значимому обучающему поисковику из всех и лучшей иллюстрации того, почему существует эта непроверяемая колонка. Common Crawl, полученный CCBot, создает открытый набор данных, который лежит в основе значительной части моделей, обученных в последние годы. Поэтому, когда в моем отчете было указано, что у CCBot ноль проверенных, четыре поддельных и шестнадцать непроверяемых, меня обеспокоили 16. Непроверенный качается в обе стороны. Это не значит фальшь, и это не значит настоящее. Это значит пойти узнать. Я так и сделал, и этот путь можно скопировать.

    Во-первых, опубликованный список. Common Crawl публикует диапазоны IP-адресов своего сканера, и ни один из 20 запросов, помеченных CCBot, не попал в них.

    Во-вторых, обратный DNS. Настоящий CCBot преобразуется в имя хоста commoncrawl.org. Четверо из моих решили что-то, кроме Common Crawl, а у остальных шестнадцати вообще не было обратной записи, именно поэтому сценарий за них не ручался.

    <п>В-третьих, сам корпус. Common Crawl запускает общедоступный индекс, где вы можете узнать, был ли захвачен домен. Я проверил три последних ежемесячных сканирования моего домена с подстановочными знаками, поэтому я не просто сопоставил домашнюю страницу. Ничего.

    В-четвёртых, собственность. Я извлек необработанные IP-адреса из своих журналов и выполнил поиск WHOIS по каждому из них. Каждый из них связан с обычным хостингом в нескольких странах (большинство в Европе), работают дешевые арендованные инфраструктурные сканеры.

    Четыре независимых угла, один ответ. Все 20 были самозванцами. Учебный момент — это та часть, которую оценит SEO-специалист. Автоматизированная проверка правильно отказалась назвать эти 16 фейками, поскольку отсутствие записи не является доказательством мошенничества, и чтобы замкнуть петлю, потребовались ручные раскопки. Поэтому, когда ваш собственный отчет показывает непроверяемые строки, это не тупик. Это приглашение: извлеките IP-адреса, проверьте владельца, проверьте корпус, и изображение разрешится.

    <сильный>Тот, кого я не смог измерить: Близнецы

    <п>Есть один крупный игрок, которого я вообще не могу оценить, и причина в этом. Близнецы.

    OpenAI, Anthropic и Perplexity предоставляют отдельные, поддающиеся проверке сигналы. Вы можете отделить их обучающий сканер от их поискового сканера от их оперативной выборки, управляемой пользователем, и подтвердить каждый по IP. Google так не работает. Есть одно сканирование роботом Googlebot. То, будет ли собранный им контент использоваться для обучения Gemini, определяется токеном robots.txt под названием Google-Extended, который не является сканером. Это никогда ничего не приносит. Это флаг разрешения на уже произошедшее сканирование. В ваших журналах нет сборщика Gemini, поэтому нет возможности измерить спрос Gemini по имени, как это можно сделать для ChatGPT или Claude.

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

    <п>Если вы выполняли эту работу так же долго, как и я, это вам знакомо. В 2011 году Google зашифровал поисковые ссылки, и данные ключевых слов, от которых мы зависели, свернулись в “(не предоставлено).” Детализация ушла, и вместо измерения нам вручили флажок. Эпоха ИИ подражает. В то время как его конкуренты представляют обучение, извлечение и спрос как отдельные, поддающиеся проверке события, Google объединяет их в одно сканирование и невидимый токен. Вы можете подтвердить Googlebot, и ничего дальше этого, а остальное, опять же, не предусмотрено.

    <сильный>2 Честные звездочки

    Недоумение сложнее, чем чистый проход или провал. Его сканер не смог выполнить мою проверку IP в 24 из 36 запросов, но было задокументировано, что Perplexity извлекает данные с адресов за пределами своих собственных опубликованных диапазонов, поэтому некоторые сбои могут быть имитаторами, а некоторые могут быть связаны с работой Perplexity вне списка. В этом случае подделка неоднозначна в обоих направлениях. И опять же, все это данные за две недели на одном маленьком сайте.

    <сильный>Создайте свою собственную базовую линию

    Не берите мои номера; воспользуйтесь методом.

    У меня мало данных, потому что мой сайт новый, а ваш, вероятно, нет. Если у вас есть реальный трафик, вы прямо сейчас находитесь в гораздо лучшем наборе данных, чем мой, в ваших собственных журналах доступа, и вы можете запустить эту проверку сегодня днем. Выберите диапазон дат, сопоставьте имена, сверьте IP-адреса с опубликованными списками и найдите свою реальную долю. Тогда посмотрите на свою строку Googlebot и приготовьтесь.

    Когда вы попадаете в непроверяемые строки, делайте то, что я сделал с CCBot. Получите IP-адреса, проверьте владельца, запросите корпус и преследуйте его, пока картина не разрешится. Нет ничего большего, чем поиск доказательств, и это отличное место для этого.

    Что вы измеряете, а что нет

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

    Этот разрыв между получением и использованием — это вопрос, над которым я провожу дни, и это причина, по которой я создал CitationIQ.

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

    Этот пост был первоначально опубликован на сайте Duane Forrester Decodes.

    Back To Top