robots.txt لزواحف الذكاء الاصطناعي: ما الذي تسمح به وما الذي تحظره
امنح كل زاحف ذكاء اصطناعي يهمك مجموعة User-agent خاصة به. اسمح لزواحف البحث مثل OAI-SearchBot وClaude-SearchBot وPerplexityBot إذا أردت أن يُستشهد بك، وقرّر بشكل منفصل بشأن رموز التدريب مثل GPTBot وClaudeBot وGoogle-Extended وApplebot-Extended. المجموعة المسمّاة تحلّ محل مجموعة * لذلك الزاحف.
robots.txt ملف نصي بسيط يعود إلى عام 1994 وأصبح معياراً رسمياً، RFC 9309، في عام 2022. تقول معظم جهات الذكاء الاصطناعي إن زواحفها تلتزم به، وبعضها ينشر رموزاً منفصلة للبحث وللتدريب. وهذا يجعل robots.txt أبسط مكان لإعلان سياستك تجاه الذكاء الاصطناعي، بشرط أن تعني القواعد ما تظنه.
في هذه الصفحة
ما رموز robots.txt التي تستخدمها زواحف الذكاء الاصطناعي؟
هذه هي الرموز التي توثّقها الجهات المطوِّرة. المطابقة لا تفرّق بين الأحرف الكبيرة والصغيرة بحسب RFC 9309.
- OpenAI:
OAI-SearchBot(بحث ChatGPT)، وGPTBot(التدريب)، وChatGPT-User(زيارات يطلبها المستخدم؛ وتقول OpenAI إن robots.txt قد لا ينطبق). - Anthropic:
Claude-SearchBot(البحث)، وClaudeBot(التدريب)، وClaude-User(زيارات يطلبها المستخدم). - Perplexity:
PerplexityBot(البحث)، وPerplexity-User(زيارات يطلبها المستخدم؛ وتقول Perplexity إنه يتجاهل robots.txt عموماً). - Google:
Googlebot(البحث، بما في ذلك ميزات الذكاء الاصطناعي فيه) وGoogle-Extended، وهو رمز لا زاحف له ويتحكم في الاستخدام في تدريب Gemini والإسناد (grounding). - Apple:
Applebot(Spotlight وSiri وبحث Safari) وApplebot-Extended، وهو لا يزحف لكنه يتحكم في الاستخدام لتدريب النماذج الأساسية لدى Apple. - Meta:
meta-externalagent(التدريب وفهرسة المنتجات) وmeta-webindexer(بحث Meta AI). - Common Crawl:
CCBot، الذي يبني أرشيف Common Crawl العام المجاني لبيانات الويب.
كيف يبدو robots.txt جيد للذكاء الاصطناعي؟
يسمح هذا المثال ببحث الذكاء الاصطناعي وبجلب المستخدم، ويستبعد رموز التدريب الرئيسية، ويُبقي منطقة خاصة واحدة مغلقة للجميع:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
عدة أسطر User-agent متتالية تشكّل مجموعة واحدة، فتنطبق القواعد التي تحتها على كل هذه الزواحف. وإذا كنت تريد فعلاً أن يُستخدم محتواك في التدريب، فاحذف المجموعة الثانية ببساطة. حظر Google-Extended لا يؤثر في بحث Google: تقول Google إنه لا يؤثر في الإدراج في البحث وليس إشارة ترتيب. وبالمثل تقول Apple إن الصفحات التي تمنع Applebot-Extended يمكن أن تظهر في نتائج بحثها.
كيف تختار الزواحف القواعد التي تنطبق عليها؟
يحدد RFC 9309 ذلك بدقة، وتفاصيله تفسر معظم المفاجآت:
- يبحث الزاحف عن المجموعة التي يطابق
User-agentفيها رمز منتجه، دون اعتبار لحالة الأحرف. وإذا طابقت عدة مجموعات، تُدمج قواعدها في مجموعة واحدة. - فقط إذا لم تطابق أي مجموعة، يتبع الزاحف مجموعة
User-agent: *. والمجموعة المسمّاة لا ترث شيئاً من*. - داخل المجموعة، تفوز القاعدة ذات المسار المطابق الأطول. فالقاعدة
Allow: /blog/تتغلب علىDisallow: /للعنوان/blog/post. - إذا تطابقت قاعدتا
AllowوDisallowبالطول نفسه، تُستخدمAllow. - الرمز
*في المسار يطابق أي أحرف، والرمز$يثبّت نهاية المسار، فالقاعدةDisallow: /*.pdf$تشمل كل ملفات PDF.
ما أشهر أخطاء robots.txt؟
- توقع أن ترث المجموعة المسمّاة من
*. مجموعة لـOAI-SearchBotفيهاAllow: /فقط تفتح كل المسارات، بما فيها ما منعته تحت*. - عنوان robots.txt يعيد صفحة HTML، وغالباً صفحة 404 تُعرض بالحالة 200. لا تجد الزواحف فيها قواعد صالحة.
- ملف robots.txt يعيد خطأ من الخادم. ينص RFC 9309 على أن على الزاحف حينها أن يفترض أن الموقع كله ممنوع. أما 404 فمختلف: يعني عدم وجود قيود.
- حظر رمز بحث وأنت تقصد حظر التدريب، مثل منع
PerplexityBotأوClaude-SearchBotلتفادي تدريب النماذج. - الاعتماد على robots.txt لإيقاف الجلب الذي يطلبه المستخدم. تقول OpenAI وPerplexity إن وكلاء المستخدم لديهما قد لا يلتزمان به.
- نسيان النطاقات الفرعية. لكل مضيف robots.txt خاص به؛ وتذكّر وثائق Anthropic أصحاب المواقع بإضافة القواعد لكل نطاق فرعي.
هل أستطيع إعلان سياسة استخدام للذكاء الاصطناعي تتجاوز السماح والمنع؟
اقترحت Cloudflare سطر Content-Signal لملف robots.txt بثلاث إشارات: search (بناء فهرس بحث وعرض الروابط ومقتطفات قصيرة)، وai-input (استخدام المحتوى لحظياً في إجابات الذكاء الاصطناعي)، وai-train (تدريب النماذج أو ضبطها). ويمكن لـ robots.txt المُدار من Cloudflare أن يضيفه لك.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
مثل كل شيء في robots.txt، هذه تفضيلات وليست ضوابط تقنية. وتشير Cloudflare نفسها إلى أن الالتزام بـ robots.txt طوعي. السطر اختياري ولا ضرر منه، لكنه لا يغني عن المجموعات الخاصة بكل زاحف أعلاه.
كم تستغرق التغييرات، وكيف أتحقق منها؟
ينص RFC 9309 على ألا تستخدم الزواحف نسخة مخزنة من robots.txt لأكثر من 24 ساعة، وتقول OpenAI وPerplexity إن التغييرات قد تستغرق نحو يوم لتُطبَّق. وتذكّر أيضاً أن robots.txt ليس ضبطاً للوصول: فجدار الحماية قد يحظر زاحفاً تسمح له قواعدك.
يحلّل AISeeWhy ملف robots.txt وفق RFC 9309 لكل زاحف يختبره، وينبّه إلى الملفات التي يتعذر الوصول إليها أو التي تُعرض كـ HTML، ويبيّن أين تختلف قواعدك عن سلوك خادمك، ويقدّم فرقاً (diff) جاهزاً للتغيير.
الأسئلة الشائعة
هل يضر حظر GPTBot أو ClaudeBot بظهوري في إجابات الذكاء الاصطناعي؟
ليس مباشرةً. تستخدم الجهتان زاحفي بحث منفصلين، هما OAI-SearchBot وClaude-SearchBot. وحظر زاحف التدريب خيار في السياسة.
هل يوقف Google-Extended ميزة AI Overviews؟
لا. تقول Google إن ميزات الذكاء الاصطناعي في البحث تستخدم Googlebot وضوابط البحث المعتادة مثل nosnippet وnoindex. أما Google-Extended فيغطي تدريب Gemini والإسناد في منتجات Google الأخرى ولا يؤثر في البحث.
هل تدعم زواحف الذكاء الاصطناعي Crawl-delay؟
ليس جزءاً من RFC 9309. تقول Anthropic إنها تدعم Crawl-delay كامتداد غير قياسي؛ وبالنسبة للجهات الأخرى راجع وثائقها.
أين يجب أن يوضع robots.txt؟
في جذر كل مضيف، مثلاً https://example.com/robots.txt. الملف الموجود في مجلد فرعي يُتجاهل، ولكل نطاق فرعي ملفه الخاص.
المصادر
- RFC 9309: بروتوكول استثناء الروبوتات
- OpenAI: نظرة عامة على زواحف OpenAI
- Google: الزواحف الشائعة، ومنها Google-Extended
- Apple: عن Applebot
- Cloudflare: robots.txt المُدار وإشارات المحتوى (Content Signals)