خزندههای هوش مصنوعی (AI crawlers) در حال متورم کردن آمار ترافیک شما هستند، و میانبر معمول — یعنی بررسی هدر User-Agent — نمیتواند آنها را شناسایی کند.
یک بررسی لاگهای هشتروزه اخیر، ۴۶۸ دریافت واقعی مقاله را در مقابل ۹۹۱ درخواست نشان داد که وانمود میکردند رباتهای هوش مصنوعی هستند، اما در واقع در حال جستجو برای فایلهایی مانند .env یا .git بودند. مقصر چیست؟ هر کسی میتواند یک رشته User-Agent خوداظهاری مانند GPTBot یا ChatGPT-User را در یک درخواست HTTP وارد کند.
چرا این معیار اهمیت دارد
وبسایتها افزایش ناگهانی «ترافیک هوش مصنوعی» را نشانهای از مرتبط بودن خود میدانند. آنها از این اعداد برای توجیه نرخ تبلیغات، تخصیص منابع سرور و خودنمایی نزد سرمایهگذاران استفاده میکنند. وقتی نیمی از بازدیدهای گزارششده از سوی هوش مصنوعی صرفاً نویز (noise) باشند، بودجهها هدر میروند و داشبوردها گمراهکننده میشوند.
دو فیلتری که ادعا را از واقعیت جدا میکنند
۱. verifiedBotCategory کلودفلر – کلودفلر این فیلد را تنها زمانی پر میکند که آیپی درخواست را از طریق DNS معکوس به یک دامنه ربات شناختهشده متصل کند. اگر هدر بگوید «GPTBot» اما آیپی در جستجوی دامنه شکست بخورد، درخواست در دسته «تأیید نشده» قرار میگیرد.
۲. بررسی متقاطع با نقشه سایت (Sitemap) – یک ربات تنها زمانی واقعاً محتوای شما را میخواند که URL درخواستی در نقشه سایت XML شما ظاهر شده باشد. درخواستها برای مسیرهایی که در نقشه سایت نیستند، احتمالاً به جای ایندکس کردن مقالات، در حال جستجو برای آسیبپذیریها هستند.
اعمال هر دو فیلتر روی همان نمونه هشتروزه، اعداد تکاندهندهای را نشان داد:
- ChatGPT-User – ۳۹٪ از درخواستها تأیید شدند.
- GPTBot – ۱۳٪ تأیید شدند.
- PerplexityBot – ۰٪ تأیید شدند.
- Google-Extended – ۰٪ تأیید شدند؛ این رشته با هیچ خزندهی رسمی گوگل مطابقت ندارد.
حتی در میان فراخوانیهای تأیید شده، بسیاری از رباتها فقط robots.txt یا خودِ نقشه سایت را دریافت کردند، نه صفحات مقالهای را که برای شما اهمیت دارد.
آنچه توسعهدهندگان امروز میتوانند انجام دهند
- فعالسازی تأیید ربات کلودفلر در خط لوله (pipeline) تحلیل دادههای خود. فیلد
verifiedBotCategoryدر هدرهای درخواست ظاهر میشود و میتواند در کنار لاگهای خود ذخیره شود. - نگهداری یک نقشه سایت (sitemap) بهروز و خودکارسازی بررسی اینکه مسیر هر درخواست ورودی در آن وجود داشته باشد، پیش از آنکه آن را به عنوان یک بازدید محتوا محاسبه کنید.
- فیلتر کردن متدهای غیر GET و درخواستهایی که فایلهای معمول توسعه را هدف قرار میدهند (
.env،.git،.bak). اینها تقریباً همیشه اسکنهای مخرب هستند.
دیدگاه مخالف
برخی استدلال میکنند که بررسیهای DNS معکوس قابل جعل هستند و هدف مشروع یک ربات ممکن است کشف URLهای جدیدی باشد که هنوز در نقشه سایت لیست نشدهاند. این نگرانیها وارد هستند: یک مهاجم مصمم میتواند یک رکورد DNS را مختل کند، و محتوای جدید طبیعتاً تا چرخه تولید بعدی در نقشه سایت فعلی وجود نخواهد داشت.
پاسخ عملگرایانه این است که با تأییدیه (verification) به عنوان یک «امتیاز اطمینان» برخورد کنید، نه یک دروازه مطلق. تأیید DNS، حضور در نقشه سایت و بررسی متد درخواست را با هم ترکیب کنید تا استاندارد آنچه را که «ترافیک واقعی هوش مصنوعی» مینامید، بالا ببرید. اگر درخواستی از دو مورد از سه بررسی عبور کرد، به جای حذف مستقیم، آن را برای بررسی دستی علامتگذاری کنید.
آنچه باید در آینده زیر نظر داشت
- تغییرات در API تأیید کلودفلر – هرگونه تغییر در منطق
verifiedBotCategoryمیتواند نرخهای تأیید را تغییر دهد. - ظهور رباتهای جدید خوداظهاری – رشتههای User-Agent که در لاگهای خود ظاهر میشوند را زیر نظر داشته باشید؛ یک جهش ناگهانی ممکن است نشاندهنده یک اسکنر جدید باشد که خود را به عنوان یک خزندهی هوش مصنوعی جا زده است.
- فرکانس تولید نقشه سایت – فواصل زمانی طولانیتر احتمال طبقهبندی اشتباه خزندههای قانونی را افزایش میدهد.
نتیجهگیری ساده است: از برخورد با یک رشته User-Agent به عنوان مدرک خودداری کنید. با لایهبندی تأیید DNS و اعتبارسنجی نقشه سایت، تصویر روشنتری از اینکه چه کسی واقعاً محتوای شما را میخواند، خواهید دید.
Source: https://dev.to/aulvem/ai-crawler-user-agents-are-self-reported-468-real-fetches-991-fake-ones-bgo
