کدوم هوش مصنوعی واقعاً سایتت رو میخونه؟
خلاصهٔ کاملتر
تیم Evil Martians چند ماه پیش راهنمایی دربارهٔ اینکه چطور سایتت رو برای مدلهای زبانی خوانا کنی منتشر کرده بود و آخرش صادقانه گفته بود تا اندازه نگیری، نمیفهمی کدومش جواب میده. این مقاله همون اندازهگیریه: دو ماه رصد لاگ سرور سایت خودشون، با نتایجی که به گفتهٔ خودشون بعضیهاش کمی شرمآوره.
اولین نکتهٔ فنی اینه که ایجنتها جاوااسکریپت اجرا نمیکنن، پس آنالیتیکس سمت کلاینت اصلاً نمیبیندشون. ردیابی باید تو میانافزار سمت سرور بشینه، هدرهای خام User-Agent و Accept رو بخونه و کلاینت رو دستهبندی کنه. تصمیم طراحی جالبشون این بود که بهجای فهرست سفید از هوش مصنوعیهای شناختهشده — که هر هفته موارد جدید ازش جا میمونه — چیزهای قطعاً غیرهوشمند رو کنار بذارن و بقیه رو ایجنت محتمل حساب کنن:
const kind = classify(userAgent); // 'ai' | 'browser' | 'crawler' | 'scanner' | 'library'
const isNoise = kind === 'browser' || kind === 'crawler' || kind === 'scanner';
if (kind === 'ai' || (servedMarkdown && !isNoise)) {
track({ agent: kind, format: servedMarkdown ? 'markdown' : 'html' });
}عدد اول تکوندهندهست: حدود ۲۶۸ هزار درخواست ایجنت در برابر حدود ۱۰۷ هزار بازدید انسانی؛ یعنی روی این سایت نرمافزار بیشتر از آدم میخونه، با نسبتی بیش از دو به یک. خودشون تأکید میکنن این دو عدد متقارن نیستن (یکی سمت سروره و همهچیز رو میگیره، اون یکی سمت کلاینته و کاربرهای مسدودکنندهٔ اسکریپت رو از دست میده) پس باید حد بالا در نظر گرفته بشه، ولی حتی اگه نصفش کنی و باز نصف کنی، نتیجه سر جاشه.
مهمترین یافته اینه که «ترافیک هوش مصنوعی» یه مخاطب واحد نیست، بلکه دو کلاینت با رفتار تقریباً متضاده. ChatGPT-User حدود ۷۳ درصد کل ترافیک ایجنت بوده و تقریباً فقط HTML رندرشده میخونه — از حدود ۱۹۷ هزار درخواست، فقط ۲۷۲ تاش Markdown بوده. در مقابل، ترافیکی که برچسب Claude خورده تقریباً همهاش ایجنت کدنویس Claude Code بوده که در ۷۶ درصد موارد Markdown میخواد، چون هدر Accept: text/markdown میفرسته و مذاکرهٔ محتوا نسخهٔ تمیز رو تحویلش میده. روی هم حدود ۱۵ درصد از خوندنهای ایجنتها Markdown بوده.
بخش ناخوشایند گزارش دربارهٔ llms.txt ـه. این فایل تو دو ماه حدود ۶۶۰ بار و llms-full.txt حدود ۱۱۰ بار مستقیم درخواست شده، ولی وقتی به تفکیک کلاینت نگاه کردن فقط ۳۷ درخواست از دستیارهای نامآشنا مثل Perplexity و ChatGPT و GPTBot اومده بود؛ بقیه خزندههای جستجو، رباتهای سئو و اسکریپتهای خام بودن. ترافیکی هم که اولش شبیه دنبال کردن لینکهای داخل فایل به نظر میرسید، بعد از تفکیک معلوم شد ۱۰۶ تا از ۱۱۷ موردش از یه کلاینت با رشتهٔ منجمد Chrome/111.0 بوده — یعنی امضای یه ربات. نتیجهگیری خودشون اینه که فایل ضرری نداره و پنج دقیقه بیشتر وقت نمیبره، ولی نمیشه استفادهٔ معناداری ازش نشون داد.
ترفند دیگهای که خودشون قبلاً توصیه کرده بودن هم رد شد: یه div پنهان که به هوش مصنوعی میگفت نسخهٔ Markdown کجاست، با یه پارامتر مخصوص برای اندازهگیری. تو دو ماه و ۲۶۸ هزار درخواست، تعداد بازدیدهایی که اون پارامتر رو داشتن صفر بود. جمعبندی عملی مقاله اینه: HTML رندرشدهات رو تمیز نگه دار چون بزرگترین خوانندهٔ هوشمندت فقط همون رو میخونه؛ مذاکرهٔ محتوا رو تکنیک اصلی بدون چون واقعاً کار میکنه و استاندارد HTTP ـه؛ و بالاتر از همه، تا لاگ خودت رو نخونی نمیتونی دربارهٔ هیچکدوم از اینها تصمیم بگیری.
نکات کلیدی:
- حدود ۲۶۸ هزار درخواست ایجنت در برابر ۱۰۷ هزار بازدید انسانی در دو ماه
- ChatGPT-User با ۷۳ درصد ترافیک، تقریباً فقط HTML میخونه
- Claude Code در ۷۶ درصد موارد Markdown میخواد، از طریق هدر Accept
- از حدود ۷۷۰ درخواست مستقیم llms.txt، فقط ۳۷ تاش از دستیارهای واقعی بود
- div پنهان راهنما در دو ماه صفر بازدید قابلانتساب داشت
- ردیابی باید سمت سرور باشه، چون ایجنتها جاوااسکریپت اجرا نمیکنن




