فاحص ملف robots.txt

بمساعدة الخادم جديد تشخيص المواقع وHTTP

يقرأ ملف robots.txt من جذر الموقع عبر خادم متقن، أو الملف الذي تلصقه، ويعرض مجموعاته وقواعده وأسطر Sitemap ومشكلات الصياغة فيه. اختبر أي قائمة مسارات لزاحف مثل Googlebot: تتبع المطابقة معيار RFC 9309 (الأطول مطابقةً يفوز، وAllow تفوز عند التعادل، مع محرفَي * و$)، وتذكر كل نتيجة السطر الذي حسمها.

الخصوصية: يرسل خادم متقن طلبات الاختبار الصغيرة والثابتة الموصوفة في هذه الصفحة إلى المضيف الذي تحدده، ولا يُخزَّن أي شيء. استخدمه فقط مع الأنظمة المصرّح لك باختبارها.
جارٍ تحميل الأداة…

ما هو ملف robots.txt؟

robots.txt ملف نصي في جذر المضيف يخبر الزواحف بالمسارات التي يحق لها جلبها، على شكل مجموعات من قواعد Allow وDisallow موجّهة إلى رموز User-agent. وحّده معيار RFC 9309 عام 2022: القاعدة الأكثر تحديداً هي التي تفوز، والرد 4xx على الملف يعني عدم وجود قيود، والرد 5xx يعني منع الزحف كلياً. وهو يتحكم في الزحف لا في الفهرسة، والالتزام به طوعي.

ملاحظة أمنية: ملف robots.txt علني: سطر Disallow يذكر مسار إدارة خاصاً يكشفه لكل من يقرأ الملف. احمِ المناطق الخاصة بالمصادقة، لا بملف robots.txt.

كيفية استخدام فاحص ملف robots.txt

  1. أدخل أي عنوان من الموقع (تقرأ الأداة /robots.txt من جذره)، أو الصق الملف في الحقل الثاني لفحصه دون جلب.
  2. اكتب الزاحف المراد اختباره — رمزاً مثل Googlebot أو Bingbot، أو * للزواحف التي ليست لها مجموعة خاصة.
  3. اكتب المسارات أو العناوين المراد اختبارها، كلٌّ في سطر، ثم اضغط «فحص robots.txt».
  4. اقرأ جدول اختبار المسارات: مسموح أو ممنوع، والقاعدة الحاسمة ورقم سطرها. أصلح ما تشير إليه قائمتا الأخطاء والتحذيرات ثم أعد الفحص.

مزايا فاحص ملف robots.txt

  • يجلب /robots.txt من جذر أي موقع عام عبر خادم متقن، أو يحلّل ملفاً تلصقه دون إرساله إلى أي مكان
  • يختبر قائمة مسارات أو عناوين URL كاملة لزاحف واحد (Googlebot أو Bingbot أو *) ويذكر القاعدة والسطر اللذين حسما كل نتيجة
  • مطابقة وفق RFC 9309: مجموعة الزاحف الخاصة تحلّ محل مجموعة "*"، والمسار الأطول يفوز، وAllow تفوز عند التعادل، مع دعم * و$ وتوحيد الترميز المئوي
  • يطبّق قواعد رموز الحالة التي تتبعها الزواحف: الرد 4xx يعني لا قيود، والرد 5xx يمنع كل المسارات؛ ويعامل Googlebot الرمز 429 المعاملة نفسها، فتفعل الأداة ذلك أيضاً حين يكون الزاحف المختبَر من زواحف Google
  • يسرد كل مجموعة User-agent مع عدد قواعد Allow وDisallow وقيمة Crawl-delay، وكل سطر Sitemap
  • يبلّغ عن أخطاء الصياغة والأسطر المريبة مع أرقامها: قواعد قبل أي User-agent، وعناوين Sitemap نسبية، وتوجيهات مكتوبة خطأً، ومسارات لا تبدأ بشرطة مائلة
  • يعرض تفاصيل الجلب نفسه: العنوان النهائي بعد إعادة التوجيه، ورمز الحالة، وContent-Type، والحجم، والعنوان الذي حُلّ إليه الاسم، والزمن

المدخلات والمخرجات

المدخلات

  • عنوان الموقع — أي عنوان فيه؛ تطلب الأداة /robots.txt من جذر البروتوكول والمضيف والمنفذ نفسها.
  • أو ملف robots.txt ملصوق — يُحلَّل في متصفحك دون جلب أي شيء؛ وإن أدخلت عنواناً أيضاً فهو يحدد المضيف لاختبار المسارات فقط.
  • الزاحف المراد اختباره — رمز منتج للزاحف (Googlebot أو Bingbot أو *) أو سلسلة User-Agent كاملة يُستخرج منها الرمز.
  • المسارات أو العناوين المراد اختبارها — سطر لكل منها، حتى 200 سطر؛ سلسلة الاستعلام تُحتسب والجزء بعد # يُهمَل.

المخرجات

  • الملخص — رمز حالة الجلب وكيف تتعامل معه الزواحف، وعدد المجموعات والقواعد وأسطر Sitemap، والمجموعة المستخدمة لزاحفك، وعدد الأخطاء والتحذيرات.
  • اختبار المسارات — مسموح أو ممنوع لكل مسار، مع القاعدة الحاسمة ورقم سطرها.
  • المجموعات — كل مجموعة User-agent مع عدد قواعد Allow وDisallow وقيمة Crawl-delay وسطرها الأول.
  • خرائط الموقع والأخطاء والتحذيرات — عناوين Sitemap المعلنة والمشكلات المكتشفة، كلٌّ مع رقم سطره.
  • تفاصيل الجلب — العنوان المطلوب والنهائي، والحالة، وContent-Type، والبايتات المنزّلة، والعنوان الذي حُلّ إليه الاسم، والتوقيت.

مثال على فاحص ملف robots.txt

مجموعة Googlebot تحلّ محل قواعد "*"

الإدخال:

ملف ملصوق: User-agent: * / Disallow: /cart/ / Disallow: /search / Allow: /search/help / Crawl-delay: 5 — User-agent: Googlebot / Disallow: /tmp/ / Disallow: /*.pdf$ — Sitemap: https://www.example.com/sitemap.xml
الزاحف: Googlebot · المسارات: /cart/checkout و/search?q=shoes و/docs/guide.pdf و/tmp/report

النتيجة:

Groups 2 · Rules 5 · Sitemaps 1 · Group used googlebot (line 8) · Errors 0 · Warnings 1
/cart/checkout → Allowed (no matching rule: the * group does not apply to Googlebot)
/search?q=shoes → Allowed (no matching rule)
/docs/guide.pdf → Disallowed — Disallow: /*.pdf$ (line 10)
/tmp/report → Disallowed — Disallow: /tmp/ (line 9)
Warning: Line 6: Crawl-delay is not part of RFC 9309 — Googlebot ignores it; Bing honours it.

كيف تقرأ نتائج فاحص ملف robots.txt

مسموح وممنوع يخصّان الزحف وحده. الممنوع يعني أن الزاحف الملتزم لن يطلب العنوان، ولا يعني أن العنوان مخفي أو محمي أو محذوف من نتائج البحث.

عبارة "No matching rule" تعني أن مجموعة الزاحف لا تحوي قاعدة لهذا المسار، فهو مسموح. وظهور "—" في خانة المجموعة المستخدمة يعني أن الملف لا يحوي مجموعة باسم الزاحف ولا مجموعة "*"، فلا ينطبق عليه شيء.

الرد 4xx على robots.txt (غالباً 404) يجعل كل المسارات مسموحة، أما 5xx أو انتهاء المهلة فيجعل كل المسارات ممنوعة إلى أن يُقرأ الملف، ويعامل Googlebot الرمز 429 معاملة 5xx. الموقع الذي يريد الزحف إليه يجب أن يرد على /robots.txt بالرمز 200 أو 404، لا بخطأ.

الأخطاء أسطر تتجاهلها الزواحف (بلا نقطتين، أو قاعدة قبل أي User-agent، أو عنوان Sitemap نسبي). والتحذيرات أسطر تقرؤها الزواحف لكن ربما على غير ما قصده كاتبها (مسار بلا "/" في أوله، أو Disallow فارغة، أو توجيه مكتوب خطأً، أو Crawl-delay).

متى تستخدم فاحص ملف robots.txt

  • قبل الإطلاق، تأكد من أن قاعدة Disallow الجديدة تمنع مسارات الإدارة أو بيئة الاختبار التي كُتبت لها فقط، لا صفحات المنتجات المجاورة لها.
  • اعرف سبب ظهور «Blocked by robots.txt» في Search Console: اختبر العنوان بصفة Googlebot واقرأ السطر الحاسم.
  • بعد نقل الموقع إلى مضيف جديد أو إلى HTTPS، تحقّق من أن الأصل الجديد يقدّم ملف robots.txt خاصاً به وأن أسطر Sitemap فيه تشير إلى العناوين الجديدة.
  • راجع ملفاً يخصص مجموعات مستقلة لزواحف بعينها، وتحقق من المجموعة التي يقع فيها كل رمز.

استكشاف الأخطاء وإصلاحها

  • أخطاء كثيرة من نوع "not a field: value line" مع Content-Type من نوع text/html: الخادم يرد على /robots.txt بصفحة HTML، وغالباً صفحة خطأ أو هيكل تطبيق يُرسل بالحالة 200. قدّم ملفاً نصياً عادياً على هذا المسار.
  • الرد 401 أو 403 على robots.txt: تعدّه الزواحف «بلا قيود»، ونادراً ما يريد صاحب الموقع ذلك. يجب أن يكون الملف مقروءاً للعموم.
  • مسار تتوقع منعه يظهر مسموحاً: راجع حالة الأحرف (المسارات حساسة لها)، والشرطة المائلة الناقصة في أوله، وهل للزاحف مجموعة خاصة تلغي كل قواعد "*".
  • رسالة رفض مثل "resolves to an address the Mutqan server may not connect to" أو "Port … is not allowed": المضيف خاص أو محجوز، أو منفذه خارج 80 و443 و8080 و8443 والنطاقات 3000–3999 و5000–5999 و8000–8999. الصق الملف بدلاً من ذلك.
  • ينتهي الجلب على مضيف آخر بعد إعادة التوجيه: تطبّق الزواحف الملف الذي تنتهي إليه على المضيف الأصلي. قدّم robots.txt مباشرة على كل مضيف إذا كانت القواعد مختلفة.

الأسئلة الشائعة حول فاحص ملف robots.txt

لماذا يظهر المسار مسموحاً مع أن سطر Disallow يبدو مطابقاً له؟

يطبّق RFC 9309 القاعدة الأكثر تحديداً، أي صاحبة أطول مسار مطابق، وتفوز Allow إذا تساوى طولها مع Disallow؛ لذلك تتغلب "Allow: /search/help" على "Disallow: /search" في المسار /search/help. والقواعد تتبع المجموعات أيضاً: إذا كان في الملف مجموعة لـ Googlebot فإنه يتجاهل مجموعة "*" كلها. ويذكر جدول اختبار المسارات السطر الذي حسم كل نتيجة.

ماذا تفعل الزواحف إذا أعاد robots.txt الرمز 404 أو 500؟

الرد 4xx (مثل 404 أو 403 أو 401) يعني أن الملف غير متاح، فيحق للزواحف جلب كل المسارات (RFC 9309 §2.3.1.3). أما الرد 5xx أو انعدام الرد فيعني تعذّر الوصول، وعلى الزواحف افتراض منع كل المسارات (§2.3.1.4). ويعدّ RFC 9309 الرمز 429 (Too Many Requests) من ردود 4xx، لكن Googlebot يعامله معاملة 5xx؛ لذلك تطبّق الأداة قاعدة 5xx على 429 حين يكون الزاحف المختبَر من زواحف Google، وقاعدة المعيار في غير ذلك.

هل يمنع Disallow ظهور الصفحة في نتائج Google؟

لا. يتحكم robots.txt في الزحف لا في الفهرسة: قد يظهر عنوان ممنوع في النتائج بسبب روابط تشير إليه، لكن دون محتواه. لإبعاد صفحة عن النتائج اسمح بالزحف إليها وأرسل توجيه noindex (عبر meta robots أو X-Robots-Tag)، فالزاحف الممنوع من جلب الصفحة لن يرى noindex أبداً.

أي ملف تجلبه الأداة إذا أدخلتُ عنوان صفحة داخلية؟

تجلب دائماً /robots.txt من جذر البروتوكول والمضيف والمنفذ نفسها: العنوان https://shop.example.com/a/b يقرأ https://shop.example.com/robots.txt. ولكل أصل (origin) ملفه الخاص، فقد يختلف ما يعيده www.example.com عن example.com، وhttp عن https.

هل تُفحص Crawl-delay والأسطر غير القياسية؟

تُقرأ Crawl-delay وتُعرض لكل مجموعة مع تنبيه بأنها ليست جزءاً من RFC 9309 (يتجاهلها Googlebot ويلتزم بها Bing، أما Yandex فيعتمد بدلاً منها على إعداد معدّل الزحف في Yandex Webmaster). وتُعرض أسطر مثل Host وClean-param على أنها امتدادات تتجاهلها معظم الزواحف، وتُقرأ الأخطاء الإملائية التي يتسامح معها Google مثل "Dissallow" مع تحذير.

ملاحظات تقنية

يتبع التحليل والمطابقة معيار RFC 9309 لبروتوكول استبعاد الروبوتات (2022). أسطر User-agent المتتالية تفتح مجموعة، ويستخدم الزاحف المجموعات التي يطابق رمزها رمزه دون اعتبار لحالة الأحرف — والرمز الأطول يفوز — ولا يرجع إلى مجموعات "*" إلا إذا لم يطابقه شيء. تُقارن القواعد على مسارات موحّدة الترميز المئوي، ويطابق * أي تسلسل من المحارف، ويثبّت $ في آخر القاعدة نهاية المسار، ويبقى /robots.txt نفسه مسموحاً دائماً.

تتبع نتائج الجلب القسم 2.3.1 من RFC 9309: يُحلَّل الملف عند الرد 2xx، وتُتبَع حتى خمس عمليات إعادة توجيه (وهو أقصى ما يتبعه خادم متقن)، والرد 4xx يعني ملفاً غير متاح بلا قيود، والرد 5xx يعني تعذّر الوصول ومنع كل شيء. ويعدّ المعيار الرمز 429 من ردود 4xx، أما زواحف Google فتعامله كخطأ خادم، لذلك لا تطبّق الأداة قاعدة 5xx على 429 إلا حين يكون رمز الزاحف من رموز Google. ولا يُحلَّل إلا أول 500 كيلوبايت، وهو الحد الأدنى الذي يطلب المعيار من الزواحف قراءته.

أسطر Sitemap عامة لا تنتمي إلى أي مجموعة، ويجب أن تكون عناوين مطلقة كما يشترط بروتوكول sitemaps.org.

الحدود ومنهجية القياس

يُجلب الملف مرة واحدة من خادم متقن على شبكة Cloudflare، بترويسة User-Agent ثابتة خاصة بمتقن. الموقع الذي يقدّم ملفاً مختلفاً بحسب User-Agent أو البلد أو نطاق IP قد يعرض على الزواحف الحقيقية ملفاً آخر.

يُنزَّل 512 كيلوبايت على الأكثر ويُحلَّل أول 500 كيلوبايت. والقواعد بعد ذلك تتجاهلها الزواحف أيضاً، فلا تُختبر.

تبيّن النتائج كيف يقرأ الملفَ زاحفٌ يطبّق RFC 9309. وتختلف الزواحف في التفاصيل — بعضها يتجاهل * و$، وGooglebot يتجاهل Crawl-delay — ولا تستطيع الأداة معرفة هل يلتزم زاحف ما بالملف أصلاً.

الأمان والخصوصية

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

يحمل الطلب إلى الموقع مجموعة ثابتة من الترويسات، ولا يحمل ملفات تعريف الارتباط الخاصة بك ولا بيانات اعتمادك. افحص فقط المواقع المصرّح لك باختبارها.

المراجع

  • RFC 9309: Robots Exclusion ProtocolIETF · 2022معيار robots.txt: مجموعات أسطر User-agent وAllow وDisallow، وأولوية المطابقة الأطول، والمحرفان الخاصان * و$، وما تفعله الزواحف إذا أعاد الملف رمزاً من فئة 4xx أو 5xx.
  • How Google Interprets the robots.txt SpecificationGoogle for Developersكيف تقرأ زواحف Google ملف robots.txt: حد 500 كيلوبايت، وإعادة التوجيه، ورموز الحالة (ويُعامل 429 كخطأ خادم)، واختيار المجموعة، والقواعد التي يتسامح معها Google أو يتجاهلها مثل Crawl-delay.