طريقة كتابة قواعد في ملف robots.txt وإرساله
يمكنك تحديد الملفات التي يمكن لبرامج الزحف الوصول إليها على موقعك الإلكتروني باستخدام ملف robots.txt.
يتم وضع ملف robots.txt في جذر موقعك الإلكتروني. مثلاً، في ما يخصّ الموقع الإلكتروني www.example.com
،
يتم وضع ملف robots.txt في www.example.com/robots.txt
. وملف robots.txt هو ملف نصي عادي يتّبع معيار استبعاد برامج الروبوت.
يتكون ملف robots.txt من قاعدة واحدة أو أكثر. تمنع كل قاعدة أو تتيح إمكانية وصول برنامج زحف معيّن أو كل برامج الزحف إلى مسار ملف محدّد على النطاق أو النطاق الفرعي حيث تتم استضافة ملف robots.txt. ويتم السماح ضمنيًا بالزحف إلى جميع الملفات ما لم تحدّد خلاف ذلك في ملف robots.txt.
في ما يلي ملف robots.txt بسيط يتضمن قاعدتَين:
User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: https://www.example.com/sitemap.xml
إليك ما يعنيه ملف robots.txt هذا:
-
لا يُسمَح لوكيل المستخدم المُسمّى Googlebot بالزحف إلى أي عنوان URL يتضمّن
https://example.com/nogooglebot/
في بدايته. - ويُسمح لجميع برامج وكيل المستخدم الأخرى بالزحف إلى جميع أقسام الموقع الإلكتروني. يمكن حذف هذه القاعدة والحصول مع ذلك على النتيجة نفسها، لأنّ السلوك التلقائي هو السماح لبرامج وكيل المستخدم بالزحف إلى جميع أقسام الموقع الإلكتروني.
-
تم وضع ملف خريطة الموقع الخاص بالموقع الإلكتروني في
https://www.example.com/sitemap.xml
.
يمكن الانتقال إلى قسم البنية للاطّلاع على مزيد من الأمثلة.
الإرشادات الأساسية لإنشاء ملف robots.txt
لإنشاء ملف robots.txt والسماح بالوصول إليه والاستفادة منه بشكل عام، يجب اتّباع أربع خطوات:
- إنشاء ملف باسم robots.txt
- إضافة قواعد إلى ملف robots.txt
- تحميل ملف robots.txt إلى جذر موقعك الإلكتروني
- اختبار ملف robots.txt
إنشاء ملف robots.txt
يمكنك استخدام أي محرّر نصوص تقريبًا لإنشاء ملف robots.txt. على سبيل المثال، يمكن إنشاء ملفات robots.txt صالحة باستخدام كلّ من Notepad وTextEdit وvi وemacs. لا تستخدم معالج كلمات، لأنّ هذه المعالجات تحفظ الملفات غالبًا بتنسيق خاص بها وقد تضيف أحرفًا غير متوقعة، مثل علامات الاقتباس المنحنية، ما قد يسبّب مشاكل لبرامج الزحف. احرص على حفظ الملف بترميز UTF-8 إذا طُلب منك ذلك ضمن مربع حوار حفظ الملف.
قواعد التنسيق والموقع:
- يجب تسمية الملف باسم robots.txt.
- يمكن أن يتضمّن موقعك الإلكتروني ملف robots.txt واحدًا فقط.
-
يجب وضع ملف robots.txt في جذر مضيف الموقع الإلكتروني
الذي ينطبق عليه الملف. على سبيل المثال، للتحكّم في الزحف على جميع عناوين URL التي تندرج ضمن
https://www.example.com/
، يجب وضع ملف robots.txt علىhttps://www.example.com/robots.txt
. لا يمكن وضع الملف في دليل فرعي (على سبيل المثال، فيhttps://example.com/pages/robots.txt
). وإذا لم تكن متأكدًا من كيفية الوصول إلى جذر موقعك الإلكتروني أو تحتاج إلى أذونات للوصول، يمكنك التواصل مع مقدّم خدمة استضافة الويب. وإذا لم تتمكّن من الوصول إلى جذر موقعك الإلكتروني، يمكنك استخدام طريقة حظر بديلة، مثل علاماتmeta
. -
يمكن نشر ملف robots.txt على نطاق فرعي (مثل
https://site.example.com/robots.txt
) أو على منافذ غير عادية (مثلhttps://example.com:8181/robots.txt
). - لا ينطبق ملف robots.txt سوى على المسارات ضمن البروتوكول والمضيف والمنفذ حيث يتم نشره. وبالتالي، تُطبَّق القواعد في
https://example.com/robots.txt
على الملفات فيhttps://example.com/
فقط، وليس على النطاقات الفرعية مثلhttps://m.example.com/
أو البروتوكولات البديلة مثلhttp://example.com/
. - يجب أن يكون ملف robots.txt عبارة عن ملف نصّي بالترميز UTF-8 (الذي يتضمّن ASCII). قد يتجاهل محرّك بحث Google الأحرف التي لا تشكّل جزءًا من نطاق UTF-8، ما قد يجعل قواعد robots.txt غير صالحة.
طريقة كتابة قواعد في ملف robots.txt
القواعد هي تعليمات لبرامج الزحف بخصوص الأجزاء التي يُسمح لها بالزحف إليها على موقعك الإلكتروني. اتّبِع هذه الإرشادات عند إضافة قواعد إلى ملف robots.txt:
- يتكوّن ملف robots.txt من مجموعة واحدة أو أكثر من القواعد.
-
تتكوّن كل مجموعة من عدة قواعد (تُسمّى أيضًا توجيهات)، وتتم إضافة قاعدة واحدة في كل سطر. وتبدأ كل مجموعة بسطر
User-agent
يحدّد هدف المجموعات. - تقدِّم المجموعة المعلومات التالية:
- العنصر الذي تنطبق عليه المجموعة (وكيل المستخدم)
- الأدلّة أو الملفات التي يمكن للوكيل الوصول إليها
- الأدلّة أو الملفات التي لا يمكن للوكيل الوصول إليها
- تعمل برامج الزحف على معالجة المجموعات من الأعلى إلى الأسفل. ويمكن لوكيل المستخدم مطابقة مجموعة قواعد واحدة فقط، وهي المجموعة الأولى الأكثر تحديدًا التي تطابق وكيل مستخدم معيّنًا. إذا كانت هناك عدة مجموعات لوكيل المستخدم نفسه، يتم جمعها في مجموعة واحدة قبل المعالجة.
- الافتراض التلقائي هو أنّ وكيل المستخدم يستطيع الزحف إلى أي صفحة أو دليل
ما لم يتم حظره باستخدام قاعدة
disallow
. -
إنّ القواعد حساسة لحالة الأحرف. على سبيل المثال، يمكن تطبيق
disallow: /file.asp
علىhttps://www.example.com/file.asp
وليس علىhttps://www.example.com/FILE.asp
. -
يحدّد الحرف
#
بداية تعليق ويتم تجاهل التعليقات أثناء المعالجة.
تتوافق برامج الزحف من Google مع القواعد التالية في ملفات 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 crawlers except AdsBot (AdsBot crawlers must be named explicitly) User-agent: * Disallow: /
-
disallow:
[يجب إدراج إدخالdisallow
أوallow
واحد أو أكثر لكل قاعدة] تحدّد هذه القاعدة دليلاً أو صفحة ذات صلة بالنطاق الجذر لا تريد أنت أن يزحف إليها وكيل المستخدم. وإذا كانت القاعدة تشير إلى صفحة، يجب إضافة اسم الصفحة بالكامل كما يظهر في المتصفح. ويجب أن تبدأ القاعدة بالحرف/
. أمّا إذا كانت القاعدة تشير إلى دليل، فيجب أن تنتهي بالعلامة/
. -
allow:
[يجب إدراج إدخالdisallow
أوallow
واحد أو أكثر لكل قاعدة] تحدّد هذه القاعدة دليلاً أو صفحة ذات صلة بالنطاق الجذر يمكن أن يزحف إليها وكيل المستخدم المذكور أعلاه. وتُستخدم هذه القاعدة لإلغاء القاعدةdisallow
، وبالتالي يتم السماح بالزحف إلى دليل فرعي أو صفحة في دليل تم حظر الزحف إليه. بالنسبة إلى صفحة واحدة، يجب تحديد اسم الصفحة بالكامل كما هو موضّح في المتصفح. ويجب أن تبدأ القاعدة بالحرف/
. أمّا إذا كانت القاعدة تشير إلى دليل، فيجب أن تنتهي بالعلامة/
. -
sitemap:
[اختياري، يمكن أن يكون عدد الإدخالات صفرًا أو أكثر لكل ملف] تحدّد هذه القاعدة مكان خريطة الموقع الخاصة بهذا الموقع الإلكتروني. يجب أن يكون عنوان URL الخاص بخريطة الموقع ذا أهلية كاملة، لأنّ محرّك بحث Google لا يفترض بدائل http/https/www.non-www أو يتحقّق منها. وتشكّل خرائط الموقع وسيلة جيدة لإعلام Google بالمحتوى الذي يجب أن يزحف إليه والمحتوى الذي يمكنه أو لا يمكنه الزحف إليه. مزيد من المعلومات حول خرائط الموقع مثال:Sitemap: https://example.com/sitemap.xml Sitemap: https://www.example.com/sitemap.xml
يمكن استخدام حرف البدل *
في بادئة المسار
أو اللاحقة أو السلسلة الكاملة، في جميع القواعد، باستثناء sitemap
.
ويتم تجاهل الأسطر التي لا تتطابق مع أي من هذه القواعد.
اقرأ صفحتنا عن طريقة Google في تفسير مواصفات ملف robots.txt للحصول على وصف كامل لكل قاعدة.
تحميل ملف robots.txt
بعد حفظ ملف robots.txt على جهاز الكمبيوتر، يصبح بإمكانك إتاحته لبرامج الزحف التابعة لمحركات البحث. ولا تتوفر أداة محددة يمكنها مساعدتك في ذلك، لأنّ طريقة تحميل ملف robots.txt إلى موقعك الإلكتروني تعتمد على بنية موقعك الإلكتروني والخادم. ويمكنك التواصل مع الشركة المضيفة أو البحث في مستنداتها، على سبيل المثال، يمكنك البحث عن "تحميل ملفات Infomaniak".
بعد تحميل ملف robots.txt، اختبِر ما إذا كان متاحًا للجميع وما إذا كان بإمكان Google تحليله.
اختبار ترميز robots.txt
لاختبار ما إذا كان ملف robots.txt الذي تم تحميله مؤخرًا متاحًا للجميع، افتح نافذة تصفّح بخصوصيّة تامّة (أو ما يعادلها) في المتصفح وانتقِل إلى موقع ملف robots.txt. على سبيل
المثال، https://example.com/robots.txt
. إذا رأيت محتوى ملف robots.txt، يعني ذلك أنّك جاهز لاختبار الترميز.
تقدّم Google خيارَين لإصلاح المشاكل في ترميز robots.txt:
- تقرير ملفات robots.txt في Search Console: يمكنك استخدام هذا التقرير فقط لملفات robots.txt التي سبق أن تمت إتاحة الوصول إليها على موقعك الإلكتروني.
- إذا كنت مطور برامج، اطّلِع على مكتبة robots.txt المفتوحة المصدر من Google، والتي تُستخدم أيضًا في "بحث Google". يمكنك استخدام هذه الأداة لاختبار ملفات robots.txt محليًا على جهاز الكمبيوتر.
إرسال ملف robots.txt إلى Google
بعد تحميل ملف robots.txt واختباره، ستعثر برامج الزحف من Google تلقائيًا على ملف robots.txt وستبدأ في استخدامه. وبالتالي، لا تحتاج إلى تنفيذ أي إجراء. إذا عدّلت ملف robots.txt وأردت تحديث النسخة المخزَّنة مؤقتًا على Google في أقرب وقت ممكن، تعرّف على كيفية إرسال ملف robots.txt معدَّل.
قواعد مفيدة يمكن إضافتها إلى ملف robots.txt
في ما يلي بعض القواعد المفيدة والشائعة التي يمكن إضافتها إلى ملف robots.txt:
قواعد مفيدة | |
---|---|
منع الزحف إلى جميع أقسام موقع إلكتروني معيّن |
تذكّر أنّه في بعض الحالات، قد تتم فهرسة عناوين URL الخاصة بالموقع الإلكتروني حتى لو لم يتم الزحف إليها. User-agent: * Disallow: / |
منع الزحف إلى دليل ومحتواه |
يمكنك إلحاق شرطة مائلة للأمام باسم الدليل لمنع الزحف إلى الدليل بأكمله. User-agent: * Disallow: /calendar/ Disallow: /junk/ Disallow: /books/fiction/contemporary/ |
السماح بوصول زاحف واحد |
يُسمح لبرنامج User-agent: Googlebot-news Allow: / User-agent: * Disallow: / |
السماح بالزحف لجميع برامج الزحف باستثناء زاحف واحد |
لا يُسمح لبرنامج User-agent: Unnecessarybot Disallow: / User-agent: * Allow: / |
منع الزحف إلى صفحة ويب واحدة |
على سبيل المثال، يمكنك منع الزحف إلى الصفحة User-agent: * Disallow: /useless_file.html Disallow: /junk/other_useless_file.html |
منع الزحف إلى جميع أقسام الموقع الإلكتروني باستثناء دليل فرعي |
يمكن لبرامج الزحف الوصول إلى الدليل الفرعي User-agent: * Disallow: / Allow: /public/ |
حظر صورة معيّنة من الظهور في "صور بحث Google" |
على سبيل المثال، يمكنك منع الزحف إلى الصورة User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
حظر كل الصور على موقعك الإلكتروني من الظهور في "صور Google" |
لا يستطيع محرّك بحث Google فهرسة الصور والفيديوهات بدون الزحف إليها. User-agent: Googlebot-Image Disallow: / |
منع الزحف إلى ملفات من نوع معيّن |
على سبيل المثال، يمكنك منع الزحف إلى جميع ملفات User-agent: Googlebot Disallow: /*.gif$ |
منع الزحف إلى جميع أقسام موقع إلكتروني معيّن، ولكن مع السماح لبرنامج |
يؤدي هذا الإجراء إلى إخفاء صفحاتك من نتائج البحث، ولكن يظلّ بإمكان زاحف الويب User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: / |
استخدام حرفَي البدل * و$ لمطابقة عناوين URL التي تنتهي بسلسلة معيَّنة
|
على سبيل المثال، يمكنك منع الزحف إلى جميع ملفات User-agent: Googlebot Disallow: /*.xls$ |