لمحة عن ملف 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 بسيط يتضمن قاعدتين، على النحو الموضح أدناه:

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

# Rule 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. ويجب أن يتمكّن محرر النصوص من إنشاء ملفات نصية بتنسيق ASCII أو 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 عبارة عن ملف نصي بتنسيق ASCII أو UTF-8. ولا يُسمح بأي أحرف أخرى.
  • يتكون ملف 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: /

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

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$
هل كانت هذه المقالة مفيدة؟
كيف يمكننا تحسينها؟