كيف تقيس زيارات زواحف الذكاء الاصطناعي من سجلات الخادم

مجسات رقمية تتجه نحو سجل خادم وتُفرز في قنوات، تعبيرًا عن قياس زيارات زواحف الذكاء الاصطناعي

افتح Google Analytics دلوقتي، هتلاقي إن مفيش أي أثر لـ ChatGPT أو Claude وهما بيقروا موقعك. ده مش معناه إنهم مش بيزوروك، معناه إنك بتدوّر في المكان الغلط. الأرقام الحقيقية مستخبية في سجلات الخادم، وهنطلّعها النهارده بسكربت صغير.

لماذا لا تراها أدوات التحليل؟

أدوات مثل Google Analytics تعتمد على كود جافاسكربت يعمل في متصفح الزائر. زواحف الويب (Web Crawlers) لا تشغّل جافاسكربت، لذلك لا تُسجَّل أبدًا.

المكان الوحيد الذي يسجل كل طلب هو سجل الوصول (Access Log) على الخادم. تجده عادة في cPanel تحت Metrics > Raw Access، أو في /var/log/nginx/access.log أو /var/log/apache2/access.log على خادم VPS.

وبحسب بيانات نشرها المصدر من 924 موقع ووردبريس لشركات صغيرة بين 6 سبتمبر و5 أكتوبر 2026، استقبل الموقع النموذجي 3.1 طلب من زواحف الذكاء الاصطناعي مقابل كل طلب من Googlebot.

كيف تميّز زواحف الذكاء الاصطناعي؟

من معرّف المتصفح (User Agent). كل شركة ذكاء اصطناعي تنشر الاسم الذي يرسله زاحفها، والأهم أنها توضح الغرض منه:

المعرّفالشركةالغرض
GPTBotOpenAIتدريب
———
OAI-SearchBotOpenAIفهرسة للبحث
ChatGPT-UserOpenAIطلب من مستخدم
ClaudeBotAnthropicتدريب
Claude-SearchBotAnthropicفهرسة للبحث
Claude-UserAnthropicطلب من مستخدم
Meta-ExternalAgentMetaتدريب
PerplexityBotPerplexityفهرسة للبحث

السكربت التالي بلغة Python يقرأ سجلًا بصيغة combined log format، ويصنّف كل طلب، ويحسب نسبة زواحف الذكاء الاصطناعي إلى Googlebot:

import re
from collections import Counter
from statistics import median

# User-agent token -> (company, purpose). Purpose follows each operator's docs.
AI_CRAWLERS = {
    "Meta-ExternalAgent": ("Meta", "training"),
    "Meta-WebIndexer":    ("Meta", "search"),
    "ClaudeBot":          ("Anthropic", "training"),
    "Claude-SearchBot":   ("Anthropic", "search"),
    "Claude-User":        ("Anthropic", "user"),
    "GPTBot":             ("OpenAI", "training"),
    "OAI-SearchBot":      ("OpenAI", "search"),
    "ChatGPT-User":       ("OpenAI", "user"),
    "PerplexityBot":      ("Perplexity", "search"),
    "Perplexity-User":    ("Perplexity", "user"),
    "Amazonbot":          ("Amazon", "training"),
    "Bytespider":         ("ByteDance", "training"),
    "CCBot":              ("Common Crawl", "training"),
}

UA = re.compile(r'"[^"]*" d{3} S+ "[^"]*" "([^"]*)"$')  # combined log format

def classify(user_agent):
    ua = user_agent.lower()
    if "googlebot" in ua:
        return "Googlebot"
    for token in AI_CRAWLERS:
        if token.lower() in ua:
            return token
    return None

def count_site(lines):
    counts = Counter()
    for line in lines:
        m = UA.search(line.rstrip())
        if m and (bot := classify(m.group(1))):
            counts[bot] += 1
    return counts

def ai_per_googlebot(counts):
    ai = sum(n for bot, n in counts.items() if bot in AI_CRAWLERS)
    return ai / counts["Googlebot"] if counts["Googlebot"] else None

معرّفات لا تحسبها

  • Google-Extended وApplebot-Extended: مجرد مفاتيح في ملف robots.txt لا يقف خلفها زاحف، فلن تظهر في السجلات.
  • anthropic-ai وClaude-Web: معرّفات متقاعدة.

فرّق بين التدريب والبحث وطلبات المستخدمين

عمود الغرض أهم من عدد الطلبات. في بيانات المصدر، كان 69.9% من طلبات زواحف الذكاء الاصطناعي للتدريب، و18.8% لفهارس البحث، و11.3% طلبات أطلقها شخص سأل مساعدًا ذكيًا.

لو بتكتب تقرير لعميل، افصل الأنواع الثلاثة. «Meta زحفت على موقعك 200 مرة» خبر مختلف تمامًا عن «ChatGPT فتح صفحة الأسعار لأن شخصًا يقارن بين الموردين».

وهذا التقسيم يساعدك أيضًا في قرار robots.txt: قد تحجب زواحف التدريب وتسمح بزواحف البحث وطلبات المستخدمين، حتى يظل موقعك يظهر في إجابات أدوات الذكاء الاصطناعي.

لماذا يضللك المتوسط؟

زحف الذكاء الاصطناعي مركّز جدًا في عدد قليل من المواقع. في بيانات المصدر، استقبل أكثر 1% من المواقع ازدحامًا ما بين 75% و87% من طلبات كل زاحف تدريب كبير، بينما الرقم نفسه لـ Googlebot كان 42%.

فلو جمعت كل الطلبات من كل مواقعك وقسمتها مرة واحدة، يحدد موقعان مزدحمان النتيجة. هذا مثال بثلاثة مواقع، اثنان عاديان وواحد يزحف عليه بوت واحد بكثافة:

sites = [count_site(lines) for lines in (site_a, site_b, site_c)]
ratios = [r for r in map(ai_per_googlebot, sites) if r is not None]
ai_total = sum(n for s in sites for bot, n in s.items() if bot in AI_CRAWLERS)
google_total = sum(s["Googlebot"] for s in sites)

print(median(ratios))           # 3.0   what a typical site sees
print(ai_total / google_total)  # 58.6  what the "total" says

القاعدة: احسب النسبة لكل موقع أولًا، ثم خذ الوسيط (median) بين المواقع. لو بتدير مواقع عملاء كثيرة، هذا الفرق يمنعك من تخويف عميل بأرقام لا تخص موقعه.

ما الذي لا تراه السجلات؟

  • الطلبات المخزنة مؤقتًا: إذا ردّ كاش الصفحات أو شبكة CDN مثل Cloudflare على الطلب، فلن يصل إلى الخادم أصلًا. كل رقم من السجلات حد أدنى.
  • المعرّفات المزيفة: أي شخص يستطيع إرسال GPTBot في الطلب. للتأكد، طابق عنوان IP مع النطاقات التي تنشرها OpenAI وAnthropic وغيرهما.
  • الزوار القادمون من ChatGPT: الشخص الذي يضغط رابطًا من ChatGPT يصل بمتصفح عادي، غالبًا مع utm_source=chatgpt.com. احسبه إحالة في أدوات التحليل، لا زحفًا.

كيف تبدو الأرقام على موقع نموذجي؟

من البيانات نفسها، على الموقع الوسيط:

  • قرابة 1,050 طلبًا من زواحف الذكاء الاصطناعي في الشهر، أي نحو 35 يوميًا، من 11 زاحفًا مختلفًا، مقابل 345 طلبًا من Googlebot.
  • تفوقت زواحف الذكاء الاصطناعي على Googlebot في 79% من المواقع.
  • كان Meta-ExternalAgent أنشط زاحف منفرد بنسبة 21.6%.
  • أرسلت زواحف OpenAI نحو 33.7 طلب مقابل كل زائر حوّله ChatGPT.

هذه الأرقام من مواقع تستخدم إضافة الشركة الناشرة للمقال، فاعتبرها مؤشرًا لا قاعدة. الأهم أن تقيس موقعك أنت.

الأسئلة الشائعة

س: هل تظهر زيارات ChatGPT في Google Analytics؟
ج: زواحف ChatGPT لا تظهر لأنها لا تشغّل جافاسكربت. أما الزوار البشريون القادمون من روابط ChatGPT فيظهرون كإحالات من chatgpt.com.

س: أين أجد سجلات الخادم على استضافة cPanel؟
ج: من Metrics > Raw Access يمكنك تحميل السجل مضغوطًا، ثم تمريره للسكربت.

س: هل أحجب GPTBot من موقعي؟
ج: قرار يعتمد على سياستك. حجب زواحف التدريب لا يمنع ظهورك في البحث، لكن حجب زواحف البحث مثل OAI-SearchBot يقلل فرص ظهورك في إجابات ChatGPT.

س: هل تبطئ زواحف الذكاء الاصطناعي موقعي؟
ج: على الاستضافة المشتركة قد تستهلك موارد ملحوظة. الكاش وشبكة CDN يخففان الحمل لأن أغلب الطلبات لن تصل إلى PHP.

الخلاصة

بوتات الذكاء الاصطناعي بقت أكتر زوار موقعك نشاطًا غالبًا، وانت مش شايفها. نزّل سجل الوصول، شغّل السكربت، وافصل التدريب عن البحث قبل ما تاخد أي قرار في robots.txt.

مرجع المقال (بالإنجليزية): How to measure AI crawler traffic in your server logs (and why the average lies)
المقال ده مش ترجمة حرفية: متكيّف للقارئ العربي ومضاف عليه سياق ووردبريس وElementor وJetEngine.

اترك تعليقاً