إنشاء ملف 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 في قاعدة بيانات روبوتات الويب أو في قائمة 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، بدلاً من المحتوى الذي يمكن أو لا يمكن لمحرك البحث 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$