إنشاء ملف robots.txt

البدء

يتم وضع ملف robots.txt في جذر موقعك الإلكتروني. وبالتالي، في ما يخصّ الموقع الإلكتروني www.example.com، تم وضع ملف robots.txt في www.example.com/robots.txt. وملف robots.txt هو ملف نص عادي يتّبع معيار استبعاد برامج الروبوت. يتكوّن ملف robots.txt من قاعدة واحدة أو أكثر. وتمنع كل قاعدة (أو تتيح) وصول زاحف معيّن إلى مسار ملف محدّد في ذلك الموقع الإلكتروني.

في ما يلي ملف robots.txt بسيط يتضمن قاعدتَين، على النحو الموضّح أدناه:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

الشرح:

  1. لا يُسمح لوكيل المستخدم المُسمّى "Googlebot" بالزحف إلى دليل http://example.com/nogooglebot/ أو أي أدلة فرعية.
  2. ويُسمح لجميع برامج وكيل المستخدم الأخرى بالزحف إلى جميع أقسام الموقع الإلكتروني. يمكن حذف هذه القاعدة والحصول مع ذلك على النتيجة نفسها، لأن السلوك التلقائي هو السماح لبرامج وكيل المستخدم بالزحف إلى جميع أقسام الموقع الإلكتروني.
  3. تم وضع ملف Sitemap الخاص بالموقع الإلكتروني في http://www.example.com/sitemap.xml.

يمكن الانتقال إلى قسم البنية للاطّلاع على مزيد من الأمثلة.

إرشادات أساسية حول ملفات robots.txt

في ما يلي بعض الإرشادات الأساسية حول ملفات robots.txt. وننصحك بقراءة البنية الكاملة لملفات robots.txt للتعرّف على السلوك الدقيق لبنية robots.txt.

التنسيق والموقع الجغرافي

يمكنك استخدام أي محرر نصوص تقريبًا لإنشاء ملف robots.txt. ومن المفترض أن يتمكّن محرّر النصوص من إنشاء ملفات نصية بتنسيق UTF-8 العادي. لا تستخدم معالج كلمات، لأن هذه المعالِجات تحفظ الملفات غالبًا بتنسيق يخضع لملكية خاصة وقد تضيف أحرفًا غير متوقعة، مثل علامات الاقتباس المنحنية، ما قد يسبّب مشاكل لبرامج الزحف.

قواعد التنسيق والموقع:

  • يجب تسمية الملف باسم robots.txt.
  • يمكن أن يتضمّن موقعك ملف robots.txt واحدًا فقط.
  • يجب وضع ملف robots.txt في جذر مضيف الموقع الإلكتروني الذي ينطبق عليه الملف. على سبيل المثال، للتحكّم في الزحف على جميع عناوين URL التي تندرج ضمن http://www.example.com/، يجب وضع ملف robots.txt على http://www.example.com/robots.txt. لا يمكن وضع الملف في دليل فرعي (على سبيل المثال، في http://example.com/pages/robots.txt). وإذا لم تكن متأكدًا من كيفية الوصول إلى جذر موقعك الإلكتروني أو تحتاج إلى أذونات للوصول، يمكنك التواصل مع مقدّم خدمة استضافة الويب. وإذا لم تتمكّن من الوصول إلى جذر موقعك الإلكتروني، يمكنك استخدام طريقة حظر بديلة، مثل العلامات الوصفية.
  • يمكن تطبيق ملف robots.txt على النطاقات الفرعية (مثل http://website.example.com/robots.txt) أو على المنافذ غير العادية (مثل http://example.com:8181/robots.txt).

البنية

  • يجب أن يكون ملف robots.txt عبارة عن ملف نصّي بالترميز UTF-8 (الذي يتضمّن ASCII). ولا يمكن استخدام أدلّة رموز أخرى.
  • يتكوّن ملف robots.txt من مجموعة واحدة أو أكثر.
  • وتتكوّن كل مجموعة من قواعد أو توجيهات (تعليمات) متعدّدة، وتتم إضافة توجيه واحد في كل سطر.
  • تقدّم المجموعة المعلومات التالية:
    • العنصر الذي تنطبق عليه المجموعة (وكيل المستخدم)
    • الأدلّة أو الملفات التي يمكن للوكيل الوصول إليها
    • الأدلّة أو الملفات التي لا يمكن للوكيل الوصول إليها
  • تتم معالجة المجموعات من أعلى إلى أسفل، ويمكن لوكيل المستخدم مطابقة مجموعة قواعد واحدة فقط، وهي القاعدة الأولى الأكثر تحديدًا التي تطابق وكيل مستخدم معيّنًا.
  • والافتراض التلقائي هو أنّ وكيل المستخدم يستطيع الزحف إلى أي صفحة أو دليل ما لم يتم حظره باستخدام قاعدة Disallow:.
  • إنّ القواعد حساسة لحالة الأحرف. على سبيل المثال، يمكن تطبيق Disallow: /file.asp على http://www.example.com/file.asp وليس على http://www.example.com/FILE.asp.
  • التعليقات هي أي محتوى تتم إضافته بعد علامة #.

يتم استخدام التوجيهات التالية في ملفات robots.txt:

  • User-agent: [يجب تضمين توجيه واحد أو أكثر في كل مجموعة] يحدّد التوجيه اسم البرنامج التلقائي المعروف باسم زاحف محركّ البحث الذي تنطبق عليه القاعدة. ويشكّل ذلك السطر الأول لأي مجموعة قواعد. يتم إدراج أسماء برامج وكيل المستخدم من Google في قائمة Google لبرامج وكيل المستخدم. ويؤدي استخدام علامة النجمة (*) كما في المثال المذكور أدناه إلى مطابقة كل برامج الزحف باستثناء برامج زحف AdsBot المختلفة، التي يجب تحديد اسمها بشكل صريح. أمثلة:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • Disallow: [يجب إدراج إدخال واحد أو أكثر ضمن Disallow أو Allow لكل قاعدة] تحدّد هذه القاعدة دليلاً أو صفحة ذات صلة بالنطاق الجذر والتي لا تريد أن يزحف إليها وكيل المستخدم. إذا كانت القاعدة تشير إلى صفحة، يجب إضافة اسم الصفحة بالكامل كما هو موضّح في المتصفح، أما إذا كانت تشير إلى دليل، فيجب أن تنتهي بعلامة /.
  • Allow: [يجب إدراج إدخال واحد أو أكثر ضمن Disallow أو Allow لكل قاعدة] تحدّد هذه القاعدة دليلاً أو صفحة ذات صلة بالنطاق الجذر والتي يمكن أن يزحف إليها وكيل المستخدم المذكور أعلاه. وتُستخدم هذه القاعدة لإلغاء التوجيه Disallow بحيث يتم السماح بالزحف إلى دليل فرعي أو صفحة في دليل تم حظر الزحف إليه. بالنسبة إلى صفحة واحدة، يجب تحديد اسم الصفحة بالكامل كما هو موضّح في المتصفح. أما بالنسبة إلى الدليل، فيجب أن تنتهي القاعدة بالعلامة /.
  • Sitemap: [اختياري، ويمكن أن يكون عدد الإدخالات صفرًا أو أكثر لكل ملف] تحدّد هذه القاعدة موقع ملف Sitemap الخاص بهذا الموقع الإلكتروني. يجب أن يكون عنوان URL الخاص بملف Sitemap عنوان URL ذا أهلية كاملة، لأن محرّك البحث Google لا يفترض بدائل http/https/www.non-www أو يتحقّق منها. وتشكّل ملفات Sitemap وسيلة جيدة لتحديد المحتوى الذي يجب أن يزحف إليه محرّك البحث Google والمحتوى الذي يمكن أو لا يمكن لمحرّك البحث Google الزحف إليه. مزيد من المعلومات حول ملفات Sitemap مثال:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

يمكن استخدام حرف البدل * في بادئة المسار أو اللاحقة أو السلسلة الكاملة، في جميع التوجيهات، باستثناء sitemap.

ويتم تجاهل الأسطر التي لا تتطابق مع أي من هذه التوجيهات.

مثال آخر على ملف

يتكوّن ملف robots.txt من مجموعة واحدة أو أكثر تبدأ كل منها بسطر User-agent الذي يحدّد الهدف من المجموعات. في ما يلي ملف يضمّ مجموعتَين وتعليقات مضمّنة تشرح محتوى كل مجموعة:

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

البنية الكاملة لملف robots.txt

يمكنك العثور على بنية robots.txt الكاملة هنا. يُرجى قراءة المستندات الكاملة، لأنّ بنية robots.txt تشتمل على بعض الأجزاء الصعبة التي من المهم الاطّلاع عليها.

قواعد مفيدة حول robots.txt

في ما يلي بعض قواعد robots.txt المفيدة والشائعة:

القاعدة مثال
منع الزحف إلى جميع أقسام الموقع الإلكتروني: تذكّر أنّه في بعض الحالات، قد تتم فهرسة عناوين URL الخاصة بالموقع الإلكتروني حتى لو لم يتم الزحف إليها.

User-agent: *
Disallow: /
منع الزحف إلى دليل معيّن وإلى محتواه من خلال إضافة شرطة مائلة للأمام بعد اسم الدليل. يُرجى العِلم بأنّه يجب عدم استخدام ملف robots.txt لحظر الوصول إلى المحتوى الخاص، وننصحك باستخدام مصادقة مناسبة بدلاً من ذلك. قد تتم فهرسة عناوين URL التي تم منع الوصول إليها باستخدام ملف robots.txt بدون أن يتم الزحف إليها، ويمكن لأي مستخدم رؤية ملف robots.txt، ما قد يكشف موضع المحتوى الخاص الذي لا تريد أن يطّلع عليه أحد سواك.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
السماح بوصول زاحف واحد

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
السماح بوصول جميع برامج الزحف باستثناء زاحف واحد

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

منع الزحف إلى صفحة ويب واحدة من خلال إدراج اسمها بعد الشرطة المائلة:


User-agent: *
Disallow: /private_file.html

حظر صورة معيّنة من الظهور في "صور Google":


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

حظر كل الصور على موقعك الإلكتروني من الظهور في "صور Google":


User-agent: Googlebot-Image
Disallow: /

منع الزحف إلى ملفات من نوع معيّن (مثل ملفات .gif):


User-agent: Googlebot
Disallow: /*.gif$

منع الزحف إلى جميع أقسام الموقع الإلكتروني، ولكن مع عرض إعلانات AdSense على تلك الصفحات، ومنع وصول جميع برامج زحف الويب الأخرى باستثناء Mediapartners-Google. يؤدي هذا الإجراء إلى إخفاء صفحاتك من نتائج البحث، ولكن يبقى بإمكان زاحف الويب Mediapartners-Google تحليل هذه الصفحات لتحديد الإعلانات التي ستُعرض للمستخدمين الذين يزورون موقعك الإلكتروني.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
يمكنك مطابقة عناوين URL التي تنتهي بسلسلة معيّنة من خلال استخدام $. على سبيل المثال، يؤدي استخدام الرمز النموذجي إلى حظر الوصول إلى أي عناوين URL تنتهي بـ .xls:

User-agent: Googlebot
Disallow: /*.xls$