Robots.txt

ما الذي يفعله robots.txt فعلياً — فهو يتحكم في الزحف لا الفهرسة — مع الصياغة الدقيقة، وكيف يتعامل معه Google داخلياً، والأخطاء التي قد تعطل المواقع.

نُشر أول مرة: 23 يونيو 2026 · آخر تحديث: 22 أغسطس 2026 · Advanced
اللغات
دليل واحد في هذه الصفحة

Robots.txt ملف نصي عادي في جذر كل مضيف يخبر برامج الزحف بعناوين URL التي يجوز لها طلبها والتي لا يجوز. وهو يتحكم في الزحف لا الفهرسة؛ فقد يُفهرس عنوان محظور من دون مقتطف إذا أشارت إليه روابط. لإخراج صفحة من الفهرس استخدم noindex، ويجب ألا تكون الصفحة محظورة وإلا فلن يراه Google. يدعم Google فقط user-agent وallow وdisallow وsitemap. يوجد الملف في /robots.txt، وينطبق على مضيف وبروتوكول ومنفذ واحد، وحده الأقصى 500 KiB، ويُخزن مؤقتاً نحو 24 ساعة. تعني استجابة 4xx عدم وجود قيود، بينما قد يعطل 5xx الزحف إلى الموقع كله. لا تحظر ملفات CSS وJavaScript الضرورية للعرض، ولا تعتمد على الملف لإخفاء شيء لأنه علني.

الخلاصة — ‏robots.txt ملف نصي عادي في جذر كل مضيف (/robots.txt بأحرف صغيرة) يطبق بروتوكول استبعاد الروبوتات (RFC 9309). وهو يتحكم في الزحف لا الفهرسة؛ فقد يُفهرس عنوان URL محظور بلا مقتطف إذا أشارت إليه صفحات أخرى. ولإزالته من الفهرس استخدم noindex في صفحة غير محظورة. لا تدعم Google إلا user-agent وallow وdisallow وsitemap، وقد أوقفت دعم noindex وnofollow وcrawl-delay في 1 سبتمبر 2019. يقتصر النطاق على مضيف وبروتوكول ومنفذ واحد. وتفوز في المطابقة القاعدة الأكثر تحديداً، أي ذات المسار الأطول، بينما تفوز القاعدة الأقل تقييداً عند التعادل؛ و* و$ هما حرفا البدل. مسارات URL حساسة لحالة الأحرف. تحد Google الملف عند 500 KiB، وتخزنه مؤقتاً نحو 24 ساعة، وتعامل استجابات 4xx، عدا 429، كأن لا قيود موجودة. وعند 5xx توقف الزحف نحو 12 ساعة ثم تعود إلى آخر نسخة سليمة مدة تقارب 30 يوماً. لا تحظر ملفات CSS وJavaScript اللازمة للعرض، ولا تعامل الملف بوصفه وسيلة للتحكم في الوصول؛ فهو علني.

ماهيته وموضعه

يطبق robots.txt بروتوكول استبعاد الروبوتات، الذي أنشأه Martijn Koster عام 1994 ثم أصبح معياراً في 2022 باسم RFC 9309، وشارك في تأليفه Gary Illyes وHenner Zeller وLizzi Sassman من Google إلى جانب Koster. ويقول المعيار نفسه: “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (ترجمة) «تحدد هذه الوثيقة طريقة بروتوكول استبعاد الروبوتات التي وضعها Martijn Koster أصلاً عام 1994 وتوسعها، كي يتحكم مقدمو الخدمات في كيفية وصول العملاء الآليين المعروفين ببرامج الزحف إلى المحتوى الذي تقدمه خدماتهم، إن سُمح لهم بالوصول إليه أصلاً».

حقائق قليلة يكثر أن تفاجئ الناس:

  • يجب أن يكون في الجذر وبأحرف صغيرة. ينص RFC 9309 صراحةً: “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (ترجمة) «يجب أن تكون القواعد متاحة في ملف اسمه /robots.txt، كله بأحرف صغيرة، في المسار الأعلى للخدمة». وتضيف Google أن عنوان URL نفسه حساس لحالة الأحرف مثل أي عنوان آخر.
  • النطاق مضيف واحد + بروتوكول واحد + منفذ واحد. تقول Google: “The rules listed in the robots.txt file apply only to the host, protocol, and port number where the robots.txt file is hosted.” (ترجمة) «لا تسري القواعد المدرجة في ملف robots.txt إلا على المضيف والبروتوكول ورقم المنفذ التي يستضاف فيها الملف». لذلك يحتاج كل من https://example.com وhttps://www.example.com وhttps://blog.example.com وhttp://example.com إلى ملفه الخاص؛ فلا تتشارك النطاقات الفرعية والبروتوكولات ملفاً واحداً.
  • البروتوكولات التي تدعمها Google هي HTTP وHTTPS وFTP.

أكثر المفاهيم التباساً هنا: الزحف مقابل الفهرسة

إذا خرجت بفكرة واحدة من هذه الصفحة، فلتكن: يتحكم robots.txt في الزحف لا الفهرسة. حظر عنوان URL لا يساوي إزالته من Google. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt

تقول وثيقة Google التمهيدية بوضوح إن robots.txt “is not a mechanism for keeping a web page out of Google. To keep a web page out of Google, block indexing with noindex or password-protect the page.” (ترجمة) «ليس robots.txt وسيلة لإبقاء صفحة ويب خارج Google؛ ولمنع ظهورها استخدم noindex أو احمها بكلمة مرور». وعن مصير عنوان URL المحظور تقول: “While Google won’t crawl or index the content blocked by a robots.txt file, we might still find and index a disallowed URL if it is linked from other places on the web.” (ترجمة) «مع أن Google لن تزحف إلى المحتوى المحظور بملف robots.txt ولن تفهرسه، فقد تعثر على عنوان URL المحظور وتفهرسه إذا أشارت إليه مواضع أخرى على الويب». والنتيجة هي ظهور بلا مقتطف: “its URL can still appear in search results, but the search result won’t have a description.” (ترجمة) «قد يظل عنوان URL ظاهراً في نتائج البحث، لكن النتيجة لن تحمل وصفاً».

Evidence for this claim Robots.txt controls crawler access, not index eligibility; Google may still index a disallowed URL discovered through links, typically without a content snippet. Scope: web crawling Confidence: high · Verified: Robots.txt Introduction and Guide

وتعيد مواصفة disallow شرح الفارق نفسه: “Google can’t index the content of pages which are disallowed for crawling, but it may still index the URL and show it in search results without a snippet.” (ترجمة) «لا تستطيع Google فهرسة محتوى الصفحات المحظور زحفها، لكنها قد تفهرس عنوان URL وتعرضه في نتائج البحث بلا مقتطف».

لماذا يجب ألا تحظر صفحة تريد تطبيق noindex عليها؟

هذا الخطأ يعطل محاولات الإزالة من الفهرس بصمت. لا يعمل noindex إلا إذا استطاعت Google الزحف إلى الصفحة وقراءته. وتوضح وثيقة منع الفهرسة هذا الاعتماد: “For the noindex rule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler. If the page is blocked by a robots.txt file or the crawler can’t access the page, the crawler will never see the noindex rule, and the page can still appear in search results, for example if other pages link to it.” (ترجمة) «كي تكون قاعدة noindex فعالة، يجب ألا يحظر ملف robots.txt الصفحة أو المورد، وأن يكون الوصول إليه ممكناً لبرنامج الزحف. فإذا حُظرت الصفحة أو تعذر الوصول إليها، فلن يرى برنامج الزحف قاعدة noindex أبداً، وقد تظل الصفحة ظاهرة في نتائج البحث، مثلاً إذا أشارت إليها صفحات أخرى». Evidence for this claim Google must be able to crawl a URL to see a noindex rule; blocking the URL in robots.txt can prevent the rule from being observed. Scope: Google Search indexing controls for HTML meta robots and X-Robots-Tag rules. Confidence: high · Verified: Google: Block indexing with noindex

لذلك، إذا كان هدفك إخراج صفحة من الفهرس، فأبسط طريقة لتذكر إرشاد John Mueller هي: عند الرغبة في إلغاء فهرسة صفحات، لا تحظر Google في robots.txt، بل استخدم noindex.

الدليل العملي: حظرت صفحتين من صفحاتنا عالية الترتيب

لا حاجة إلى الاكتفاء بالنظرية. في تجربتي التي حظرت فيها صفحتين مرتفعتي الترتيب من Ahrefs، حظرتهما عمداً في robots.txt وتابعت ما حدث. بقيت الصفحتان في الفهرس وحافظتا على ترتيبهما؛ فلم تختفيا. وما فقدناه هو الحداثة التي تمنحها إعادة الزحف، إذ “We lost a position here or there and all of the featured snippets for the pages.” (ترجمة) «خسرنا موضعاً هنا أو هناك، وخسرنا كل المقتطفات المميزة للصفحتين». وانخفضت الزيارات، لكن أقل مما توقعت: “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (ترجمة) «فقدت الصفحتان بعض الزيارات، لكن ذلك لم يغير تقديرنا للزيارات بقدر ما كنت أتوقع».

وكان استنتاجي من البيانات: “Accidentally blocking pages (that Google already ranks) from being crawled using robots.txt probably isn’t going to have much impact on your rankings, and they will likely still show in the search results.” (ترجمة) «ربما لا يؤثر كثيراً في الترتيب أن تمنع عن طريق الخطأ زحف robots.txt إلى صفحات ترتبها Google بالفعل، ومن المرجح أن تظل ظاهرة في النتائج». وبعبارة مباشرة: “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (ترجمة) «لا تحظر صفحات تريد فهرستها؛ فهذا يضرها، وإن كان الضرر أقل مما قد تتصور».

أما الوجه الآخر فهو مطمئن: عندما يعرض Search Console الحالة “Indexed, though blocked by robots.txt” (ترجمة) «مفهرس، رغم الحظر بواسطة robots.txt» لعنوان URL خدمي، مثل سلة أو مرشح أو معاملات غير نافعة، فغالباً لا توجد مشكلة. أوضح Mueller بشأن عناوين الإضافة إلى السلة أن حظرها مقبول، وحتى إن «فُهرست» فمن المستبعد أن تظهر في البحث إلا لاستعلام بالغ التحديد عن تلك العناوين، وهو ما لا يفعله المستخدمون الحقيقيون. لا تدع صياغة التحذير المقلقة تخفي الفرق: لا يهم إلا عندما يكون العنوان المحظور صفحة أردت فعلاً الزحف إليها وفهرستها.

الصياغة المرجعية

يتكون ملف robots.txt من مجموعات. تبدأ كل مجموعة بسطر User-agent واحد أو أكثر يحدد برامج الزحف التي تنطبق عليها، ثم تأتي القواعد الخاصة بها.

User-agent: *
Disallow: /cart/
Disallow: /search
Allow: /search/help

User-agent: Googlebot
Disallow: /no-google/

Sitemap: https://example.com/sitemap.xml

User-agent والمجموعات. يلتزم برنامج الزحف بمجموعة واحدة فقط، هي المجموعة ذات وكيل المستخدم الأكثر تحديداً الذي يطابقه، ويتجاهل بقية المجموعات. تقول Google: “Google’s crawlers determine the correct group of rules by finding in the robots.txt file the group with the most specific user agent that matches the crawler’s user agent. Other groups are ignored.” (ترجمة) «تحدد برامج زحف Google مجموعة القواعد الصحيحة بالعثور في ملف robots.txt على المجموعة التي تضم وكيل المستخدم الأكثر تحديداً المطابق لوكيل برنامج الزحف؛ وتُتجاهل المجموعات الأخرى». وتضيف: “Only one group is valid for a particular crawler.” (ترجمة) «لا تكون صالحة لبرنامج زحف بعينه إلا مجموعة واحدة». ويتصرف Bing بالطريقة نفسها، كما سيأتي.

يعني ذلك أيضاً أن المجموعة المحددة لا ترث قواعد مجموعة حرف البدل؛ فهي تُستخدم وحدها ولا تُدمج مع User-agent: *. وتنص مواصفة Google على أن “user agent specific groups and global groups (*) are not combined.” (ترجمة) «لا تُدمج مجموعات وكلاء المستخدم المحددة مع المجموعات العامة (*)». فإذا أنشأت مجموعة User-agent: googlebot-news فيجب أن تكون مكتفية بذاتها: كرر داخلها كل قاعدة من مجموعة * ما زلت تريد من Googlebot-News اتباعها، وإلا فلن يراها.

Evidence for this claim For Google's crawlers, the most specific matching user-agent group applies; rules from that specific group are not combined with the global asterisk group, although multiple matching specific groups are merged internally. Scope: robots.txt parsing and fetching Confidence: high · Verified: How Google Interprets the robots.txt Specification

Disallow وAllow. يسرد Disallow المسارات التي يجب ألا يطلبها برنامج الزحف، بينما ينشئ Allow استثناءات مسموحاً بها داخلها. وتوضح المواصفة أن قاعدة disallow “specifies paths that must not be accessed by the crawlers identified by the user-agent line the disallow rule is grouped with.” (ترجمة) «تحدد المسارات التي يجب ألا تصل إليها برامج الزحف المعينة في سطر user-agent الذي جُمعت معه قاعدة disallow». أما قاعدة allow فـ*“specifies paths that may be accessed by the designated crawlers. When no path is specified, the rule is ignored.”* (ترجمة) «تحدد المسارات التي يجوز لبرامج الزحف المعينة الوصول إليها، وتُتجاهل القاعدة إذا لم يُحدد مسار».

قاعدة المطابقة التي تخطئ فيها أدلة كثيرة. عند تعارض قاعدتين، تفوز القاعدة الأكثر تحديداً، والمقصود بذلك المسار الأطول. تقول Google: “When matching robots.txt rules to URLs, crawlers use the most specific rule based on the length of the rule path. In case of conflicting rules, including those with wildcards, Google uses the least restrictive rule.” (ترجمة) «عند مطابقة قواعد robots.txt مع عناوين URL، تستخدم برامج الزحف القاعدة الأكثر تحديداً وفق طول مسارها. وعند تعارض القواعد، بما فيها القواعد ذات أحرف البدل، تستخدم Google القاعدة الأقل تقييداً». لذلك، عند التعادل الحقيقي تفوز القاعدة الأقل تقييداً، أي يتغلب Allow على Disallow. ويسمي RFC 9309 ذلك «المطابقة الأطول»: “The following example shows that in the case of two rules, the longest one is used for matching.” (ترجمة) «يوضح المثال التالي أنه عند وجود قاعدتين تُستخدم الأطول للمطابقة». Evidence for this claim Google resolves matching robots.txt rules by path specificity and uses the least restrictive rule when equally specific rules conflict. Scope: Google crawler interpretation of robots.txt rules; other crawlers may implement different extensions. Confidence: high · Verified: Google: Robots.txt interpretation

مثال عملي:

User-agent: *
Allow: /folder/page
Disallow: /folder/

يطابق عنوان URL ‏/folder/page القاعدتين. لكن Allow: /folder/page، وطوله 12 حرفاً، أطول من Disallow: /folder/، وطوله 8 أحرف؛ لذلك تفوز قاعدة Allow الأطول والأكثر تحديداً، وتظل الصفحة قابلة للزحف.

حرفا البدل * و$. تقول Google: * designates 0 or more instances of any valid character. $ designates the end of the URL.” (ترجمة) «يمثل * صفراً أو أكثر من أي حرف صالح، ويمثل $ نهاية عنوان URL». لذلك يحظر Disallow: /*.pdf$ كل عنوان ينتهي بـ.pdf، ويحظر Disallow: /*? كل عنوان يحتوي سلسلة استعلام. وتعتمد المطابقة على البادئة: تطابق Disallow: /fish كلاً من /fish و/fish.html و/fish/salmon.html، لكنها لا تطابق /Fish بسبب اختلاف حالة الأحرف، ولا /catfish لأن المطابقة للبادئة لا لسلسلة داخلية.

حساسية حالة الأحرف. أسماء الحقول ووكلاء المستخدم غير حساسة لحالة الأحرف، لكن قيم المسارات حساسة لها. تقول Google: “Both the user-agent field name and its value are case-insensitive,” (ترجمة) «اسم حقل user-agent وقيمته كلاهما غير حساسين لحالة الأحرف»، بينما “The field name (disallow) is case-insensitive, but its value is case-sensitive,” (ترجمة) «اسم الحقل (disallow) غير حساس لحالة الأحرف، لكن قيمته حساسة لها»، كما أن “The path value must start with / to designate the root and the value is case-sensitive.” (ترجمة) «يجب أن تبدأ قيمة المسار بـ/ للدلالة على الجذر، وهي حساسة لحالة الأحرف». لذلك لا يحظر Disallow: /Folder/ المسار /folder/.

Sitemap. يتطلب توجيه Sitemap: عنوان URL مطلقاً كاملاً، وهو مستقل عن المجموعات ويمكن وضعه في أي موضع من الملف.

التعليقات. يُتجاهل كل ما يأتي بعد #: “To include comments, precede your comment with the # character.” (ترجمة) «لإضافة تعليق، ضع الحرف # قبله».

‏noindex وnofollow وcrawl-delay ليست توجيهات robots.txt

هذه خرافة مستمرة. منذ 1 سبتمبر 2019 أوقفت Google دعم القواعد غير المدعومة وغير الموثقة، ومنها noindex وnofollow وcrawl-delay. ركز إعلان Google على القواعد التي لا يدعمها مسودة بروتوكول الإنترنت، مثل crawl-delay وnofollow وnoindex، وأشار إلى أنها لم تكن موثقة لدى Google، ثم أعلن إيقاف كل الشيفرة التي تتعامل مع القواعد غير المدعومة وغير المنشورة، مثل noindex، في ذلك التاريخ. قائمة الحقول المدعومة قصيرة، والمواصفة تستبعد غيرها صراحةً: تدعم Google ‏user-agent وallow وdisallow وsitemap، أما “other fields such as crawl-delay aren’t supported.” (ترجمة) «فالحقول الأخرى، مثل crawl-delay، غير مدعومة».

إذا كنت تعتمد على noindex داخل robots.txt، فالبدائل هي وسم meta بقيمة noindex أو ترويسة X-Robots-Tag، أو رمزا الحالة 404 و410، أو الحماية بكلمة مرور، أو Disallow، أو أداة الإزالة في Search Console، بحسب الغرض.

كيف تتعامل Google مع robots.txt خلف الكواليس؟

  • حد الحجم: 500 KiB. تقول Google: “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (ترجمة) «تفرض Google حداً لحجم ملف robots.txt قدره 500 كيبيبايت (KiB)، وتتجاهل المحتوى الواقع بعد الحد الأقصى». ويتوافق RFC 9309 مع ذلك: “The parsing limit MUST be at least 500 kibibytes [KiB].” (ترجمة) «يجب ألا يقل حد التحليل عن 500 كيبيبايت [KiB]».
  • التخزين المؤقت: نحو 24 ساعة. تقول Google: “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (ترجمة) «تخزن Google محتوى robots.txt مؤقتاً مدة تصل عادةً إلى 24 ساعة، وقد تطيلها عندما يتعذر تحديث النسخة المخزنة». لذلك قد لا يظهر التغيير فوراً. Evidence for this claim Google generally caches robots.txt for up to 24 hours and changes crawling behavior according to the HTTP status returned for the file. Scope: Google crawler handling of robots.txt fetches, including documented 4xx, 5xx, and redirect behavior. Confidence: high · Verified: Google: Robots.txt file handling
  • تؤثر رموز الحالة في الموقع كله. وهذه نقطة تغفلها أدلة كثيرة:
    • 4xx، عدا 429 ← لا قيود. “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (ترجمة) «تعامل برامج زحف Google كل أخطاء 4xx، عدا 429، كما لو لم يوجد ملف robots.txt صالح، أي تفترض عدم وجود قيود على الزحف». لذلك تعني استجابة 404 على /robots.txt السماح بزحف كل شيء. ولا تستخدم 401 أو 403 لإبطاء الزحف.
    • 5xx أو تعذر الوصول ← خطر. “For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file. If Google can’t fetch a new version, for the next 30 days Google will use the last good version, while still trying to fetch a new version.” (ترجمة) «توقف Google الزحف إلى الموقع خلال أول 12 ساعة مع مواصلة محاولة جلب robots.txt. وإذا تعذر جلب نسخة جديدة، تستخدم آخر نسخة سليمة خلال الأيام الثلاثين التالية مع استمرار المحاولة». قد يؤدي خطأ الخادم في /robots.txt بذلك إلى منع زحف الموقع كله نحو 12 ساعة، ثم العمل وفق آخر نسخة مخزنة نحو 30 يوماً. ويظل تعطل الملف خطراً شاملاً على الزحف. وبعد 30 يوماً: “If the errors are still not fixed after 30 days: If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).” (ترجمة) «إذا بقيت الأخطاء بعد 30 يوماً وكان الموقع متاحاً عموماً لـGoogle، فستتصرف كما لو لم يوجد ملف robots.txt، مع مواصلة التحقق من نسخة جديدة». أي إن الملف الذي لا يتعافى لا يبقي الحظر إلى الأبد؛ بل تعود Google في النهاية إلى الزحف بلا قيود، مثل استجابة 404.
    • 3xx ← تتبع Google خمس قفزات إعادة توجيه على الأقل، ثم تعامل النتيجة كأنها 404.

‏robots.txt في Bing وYandex وغيرهما

تتشابه صياغة المجموعات والقواعد في الأساس، لكن هناك فروقاً مهمة:

  • crawl-delay. تتجاهله Google، بينما لا يزال Bing يلتزم به، وقد أوقف Yandex دعمه في 2018. تقول وثائق Yandex: “From February 22, 2018, Yandex doesn’t take into account the Crawl-delay directive,” (ترجمة) «منذ 22 فبراير 2018 لم يعد Yandex يأخذ توجيه Crawl-delay في الحسبان»، وتحيل بدلاً منه إلى إعداد معدل الزحف في Yandex Webmaster. ويقول Bing صراحةً إن “The robots.txt file is the only valid place to set a crawl-delay directive for MSNBot,” (ترجمة) «ملف robots.txt هو الموضع الصالح الوحيد لتعيين توجيه crawl-delay لـMSNBot»، وإن التوجيه “accepts only positive, whole numbers as values… the higher the value, the more throttled down the crawl rate will be.” (ترجمة) «لا يقبل إلا أعداداً صحيحة موجبة؛ وكلما ارتفعت القيمة زاد خفض معدل الزحف». ويعامل Bing القيمة بوصفها درجة نسبية للإبطاء، لا عدداً حرفياً من الثواني.
  • فخ مجموعة bingbot. كما في قاعدة Google “only one group per crawler” (ترجمة) «مجموعة واحدة فقط لكل برنامج زحف»، إذا أنشأت قسماً باسم User-agent: bingbot فسيطبق Bing ذلك القسم وحده ويتجاهل الإعدادات العامة في User-agent: *، باستثناء crawl-delay. لذلك يجب أن تكرر مجموعة bingbot كل توجيه تريد استمرار تطبيقه.
  • التخزين المؤقت وسلوك الفشل لدى Amazon. تقول Amazon إن برامج زحفها قد تستخدم نسخة robots.txt مخزنة خلال الأيام الثلاثين السابقة. وإذا تعذر جلب الملف، تتصرف كما لو لم يكن موجوداً. يمكن لأداة فحص إظهار النسخة التي جلبتها، لكنها لا تستطيع إثبات النسخة المخزنة التي استخدمتها Amazon، ولا أن Amazon واجهت إخفاق الجلب نفسه. Evidence for this claim Amazon says its crawlers may use a robots.txt copy cached within the previous 30 days and behave as though the file does not exist when they cannot fetch it. Scope: Amazon crawler behavior only; a checker result cannot establish which cached copy Amazon used or whether Amazon observed the same fetch failure. Confidence: high · Verified: Amazon: Amazonbot

إدارة برامج زحف الذكاء الاصطناعي بواسطة robots.txt

يُعد robots.txt حالياً الأداة الرئيسية لإدارة برامج زحف الذكاء الاصطناعي، وهي تتبع صياغة المجموعات ووكلاء المستخدم نفسها. لكن هذه رموز مستقلة؛ فلا يؤدي حظر أحدها إلى حظر البقية.

  • تشغّل OpenAI عدة برامج آلية منفصلة، ولكل منها تحكم مستقل؛ فلا يعني السماح لأحدها السماح للبقية، ولا يعني حظره حظرها. يزحف GPTBot إلى المحتوى لتدريب نماذج OpenAI، ويعرض OAI-SearchBot المواقع في ميزات بحث ChatGPT، ويتحقق OAI-AdsBot من سلامة الصفحات المقدمة كإعلانات، ولا تستخدم بياناته للتدريب. يمكنك منع التدريب باستخدام User-agent: GPTBot وDisallow: /، لكن ذلك وحده لا يوقف برنامجي البحث أو الإعلانات. أما ChatGPT-User فمختلف: يعمل لتنفيذ إجراءات يطلقها شخص داخل ChatGPT أو GPT مخصص، لا للزحف التلقائي، وتقول OpenAI إن “robots.txt rules may not apply” (ترجمة) «قواعد robots.txt قد لا تنطبق» عليه؛ لذلك لا تعتمد على Disallow لمنعه. وإذا غيّرت نطاق زحف OAI-SearchBot، فتشير OpenAI إلى أن وصول التحديث إلى أنظمة البحث قد يستغرق نحو 24 ساعة.
  • يتحكم Google-Extended في تدريب Gemini وVertex، وهو منفصل عن Googlebot.
  • ومن البرامج الأخرى الجديرة بالذكر: CCBot من Common Crawl، وClaudeBot من Anthropic، وPerplexityBot، وBytespider.

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

أخطاء شائعة وطريقة إصلاحها

يستجيب الملف برمز 200، لكنه ليس ملف robots.txt صالحاً للاستخدام. لا يكفي رمز الحالة وحده. التقط Content-Type وأولى وحدات البايت في الاستجابة؛ فقد يعيد قالب خطأ مخصص أو CDN صفحة HTML في /robots.txt مع رمز 200، ويجب الإبلاغ عن ذلك كتحذير لا اعتباره سماحاً شاملاً. توثق Google أن robots.txt نص عادي بترميز UTF-8 وقد تتجاهل الأحرف غير الصالحة. يمكن تحمل علامة BOM واحدة في بداية UTF-8، لكن علامة ثانية، أو BOM في الوسط، أو بايتات UTF-16، أو NUL، أو أحرف تحكم غير مرئية قد تغير أول رمز أو تبطل سطراً. اعرض موضع البايت والسطر المتأثر، ولا تطبع الملف بصمت قبل إخبار المستخدم بما تلقاه برنامج الزحف. طبّق حد التحليل الفعلي لدى Google البالغ 500 KiB قبل حساب نتائج السماح والحظر، مع الاستمرار في الإبلاغ عن الجزء المستبعد بعد الحد.

  • حظر صفحة تريد أيضاً إزالتها من الفهرس. الجمع بين الحظر وnoindex يمنع Google من الزحف لرؤية noindex. استخدم noindex من دون الحظر.
  • استخدام robots.txt لإلغاء الفهرسة. هذه أداة خاطئة تماماً؛ فهذه وظيفة noindex.
  • حظر CSS وJavaScript الضروريين للعرض. تحتاج Google إلى هذه الملفات لرؤية الصفحة كما يراها المستخدم، بل يعيد نموذج robots.txt الرسمي لدى Google السماح صراحةً بملفات .css و.js كي يزحف إليها Googlebot.
  • محاولة إخفاء بيانات حساسة. يقول RFC 9309 بوضوح: “The Robots Exclusion Protocol is not a substitute for valid content security measures. Listing paths in the robots.txt file exposes them publicly and thus makes the paths discoverable.” (ترجمة) «بروتوكول استبعاد الروبوتات ليس بديلاً لتدابير أمن المحتوى الصحيحة؛ فإدراج المسارات في robots.txt يكشفها علناً ويجعل العثور عليها ممكناً». إن حظر /secret-admin/ يعلن وجوده حرفياً؛ استخدم المصادقة.
  • توجيه Disallow: / عارض. يحظر الموقع كله عن برنامج الزحف المحدد، وهو بقايا شائعة من بيئة الاختبار قد تخرج الموقع من Google.
  • تجاهل رمز استجابة /robots.txt. قد يوقف 5xx الزحف إلى الموقع كله؛ فتعامل مع توفر الملف بوصفه أمراً حرجاً في الإنتاج.

لفهم المسار الأوسع الذي يقع فيه هذا الملف، بما يشمل الاكتشاف وجدولة الزحف والعرض والفرق بين الزحف والفهرسة، راجع مركز الزحف. ويتعمق موضوعا ميزانية الزحف وكيفية تعامل Google مع خرائط الموقع في جزأين آخرين من هذا المسار.

Who's been ignoring my robots.txt?

This is live data from this site, not an illustration. My robots.txt disallows /api/trap/, and the only link to it is invisible to humans — so a compliant crawler will never request it. Every user-agent below fetched it anyway. (Humans poking at it with curl show up too; the user-agent usually gives them away.)

Loading trap log…

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.