لمحة عن ملف robots.txt

إنشاء ملف robots.txt

إذا كنت تستخدم إحدى خدمات استضافة المواقع، مثل Wix أو Blogger، فلن تحتاج على الأرجح إلى إنشاء ملف 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.
  • يمكن أن يتضمّن موقعك ملف 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 لوكلاء المستخدِم. ويمكن استخدام حرف البدل * في بادئة مسار أو اللاحقة أو السلسلة الكاملة. ويؤدي استخدام علامة النجمة (*) كما في المثال المذكور أدناه إلى مطابقة كل برامج الزحف باستثناء برامج زحف AdsBot المختلفة والتي يجب تحديدها بوضوح. (يمكنك الاطّلاع على قائمة بأسماء برامج الزحف في Google.) أمثلة:
    # 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 مؤهَّلاً بالكامل؛ حيث لا يفترض Google وجود إصدارات أخرى للعنوان http/https/www.non-www أو يتحقّق منها. وتُعد ملفات Sitemap وسيلة جيدة لتحديد المحتوى الذي يجب على محرك البحث Google الزحف إليه، وليس تحديد المحتوى الذي يمكنه أو يتعذَّر عليه الزحف إليه. مزيد من المعلومات حول ملفات sitemap. مثال:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

يتم تجاهل القواعد الأخرى.

ملف آخر كمثال

يتكوَّن ملف 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 من موقع الويب حتى لو لم يتم الزحف إليها. ملاحظة: لا تتطابق هذه القاعدة مع برامج زحف AdsBot المختلفة، التي ينبغي تعيينها بوضوح.
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$
هل كان ذلك مفيدًا؟
كيف يمكننا تحسينها؟