ربات شناختهشده درخواستی است که 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.json | Google |
| گوگل، خزندههای خاص | special-crawlers.json | Google |
| گوگل، دریافت به درخواست کاربر | user-triggered-fetchers.json | Google |
| گوگل، عامل به درخواست کاربر | user-triggered-agents.json | Google |
| گوگل، محدوده کلی IP | goog.json | Google |
| بینگ | bingbot.json | Bing |
| OpenAI، SearchBot | searchbot.json | OpenAI-SearchBot |
| OpenAI، کاربر ChatGPT | chatgpt-user.json | OpenAI-User |
| OpenAI، GPTBot | gptbot.json | OpenAI-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 روی آپاستریم است.
