ربات شناخته‌شده درخواستی است که IP بازدیدکننده در فهرست رسمی گوگل، بینگ یا OpenAI باشد. لبه این تطبیق را از روی آدرس IP انجام می‌دهد. رشته User-Agent در این تشخیص نقشی ندارد.

در فایروال، شرط بات‌ها (موتورهای جست‌وجو) همین نتیجه را می‌پرسد. دو حالت دارد:

  • جزو ربات‌های شناخته شده باشد
  • جزو هیچ‌یک از ربات‌های شناخته‌شده نباشد

شرط به‌تنهایی درخواست را رد یا قبول نمی‌کند. عملیات همان قانون فایروال رفتار را تعیین می‌کند. میانبر چالش js این شرط را در حالت «نباشد» می‌گذارد و چالش را برای بقیه درخواست‌ها نشان می‌دهد؛ IPهای همین فهرست از آن چالش رد می‌شوند.

اگر IP در فهرست باشد، لبه روی درخواست به مبدا هدر X-Stn-Known-Bot را با نام همان منبع پر می‌کند. اگر نباشد، هدر خالی است. معنی هدر در هدرهای HTTP اختصاصی ستون است. فیلد known_bots در لاگ هم همین تطبیق را به‌صورت بله یا خیر نگه می‌دارد.

flowchart LR
  ip(["IP بازدیدکننده"])
  list(["فهرست ربات شناخته‌شده"])
  rule(["قانون فایروال"])
  action(["عملیات قانون"])
  ip --> list --> rule --> action

منابع فهرست

فهرست را ستون از نشانی‌های رسمی همین سازمان‌ها به‌روز می‌کند. در پنل نمی‌توان پیشوند اضافه یا حذف کرد. پیشوندهای استفاده‌شده IPv4 هستند.

همه فایل‌های گوگل با نام Google شناخته می‌شوند. لبه از روی این فهرست، Googlebot را از بقیه IPهای گوگل جدا نمی‌کند. goog.json محدوده کلی IP گوگل است و فقط خزنده نیست.

منبعنشانینام در X-Stn-Known-Bot
گوگل، خزنده‌های رایجcommon-crawlers.jsonGoogle
گوگل، خزنده‌های خاصspecial-crawlers.jsonGoogle
گوگل، دریافت به درخواست کاربرuser-triggered-fetchers.jsonGoogle
گوگل، عامل به درخواست کاربرuser-triggered-agents.jsonGoogle
گوگل، محدوده کلی IPgoog.jsonGoogle
بینگbingbot.jsonBing
OpenAI، SearchBotsearchbot.jsonOpenAI-SearchBot
OpenAI، کاربر ChatGPTchatgpt-user.jsonOpenAI-User
OpenAI، GPTBotgptbot.jsonOpenAI-GPTBot

User-Agent کافی نیست

نوشتن Googlebot در User-Agent درخواست را ربات شناخته‌شده نمی‌کند. تطبیق فقط با IP است. IP داخل این فهرست هم ربات شناخته‌شده است، حتی اگر User-Agent نام خزنده را نداشته باشد.

برای محدود کردن قانون به خود Googlebot، شرط User-Agent جدا لازم است. شرط بات‌ها همه منابع جدول را یک‌جا می‌بیند و گوگل، بینگ و OpenAI را از هم جدا نمی‌کند.


مرز با ابزارهای دیگر

ابزارچه چیزی را می‌سنجد
ربات شناخته‌شدهIP بازدیدکننده در فهرست رسمی بالا باشد یا نباشد
شرط User-Agentمتنی که کلاینت خودش می‌فرستد
IP Setفهرست CIDR که خود ما در فضای کاری می‌سازیم
شرط کشورکشور GeoIP بازدیدکننده
robots.txtمجوزی که مبدا به خزنده می‌دهد؛ لبه این فایل را نمی‌سازد

بهبود SEO روی آپ‌استریم هم از همین فهرست استفاده می‌کند: مسیر سریع‌تر خزنده‌ها وقتی فعال است که IP درخواست در این فهرست باشد. مفهوم دو کلید در مسیریابی هوشمند چیست؟ است. روشن کردن کلید در روشن کردن بهبود SEO روی آپ‌استریم است.


ادامه مسیر