دليل متعمق في ملف Robots.txt
نشرت: 2020-08-10يعد ملف robots.txt ملفًا قويًا للغاية يمكن إضافته إلى موقع الويب الخاص بك للمساعدة في التحكم في مناطق محركات البحث الخاصة بالموقع التي يجب الزحف إليها والمناطق التي يجب تجاهلها. من المهم مراجعة ملف robots.txt الخاص بك على أساس منتظم للتأكد من تحديثه واستخدام أداة مراقبة إذا أمكن لتنبيهك عند حدوث التغييرات.
في Semetrical ، كجزء من عرض خدمة تحسين محركات البحث (SEO) لدينا ، سنقوم بتدقيق ملف robots.txt الخاص بالعميل عند إجراء تدقيق تقني لموقع العملاء للتحقق من أن المسارات التي يتم حظرها يجب أن تكون كذلك. بالإضافة إلى ذلك ، إذا واجه فريق تحسين محركات البحث مشكلات كجزء من عملية تدقيق تحسين محركات البحث الفنية مثل التكرار ، فقد تتم كتابة قواعد robots.txt الجديدة وإضافتها إلى الملف.
نظرًا لأن ملف robots.txt هو ملف مهم ، فقد قمنا بتجميع دليل يغطي ما هو عليه في النهاية ، ولماذا قد يستخدمه شخص ما والمخاطر الشائعة التي يمكن أن تحدث عند كتابة القواعد.
ما هو ملف robots txt؟
يعد ملف robots.txt أول منفذ اتصال لبرنامج الزاحف عند زيارة موقع الويب الخاص بك. إنه ملف نصي يسرد إرشادات لوكلاء مستخدم مختلفين يخبرون برامج زحف الويب بشكل أساسي بأجزاء الموقع التي يجب الزحف إليها وأيها يجب تجاهلها. يتم تحديد الإرشادات الرئيسية المستخدمة في ملف robots.txt بقاعدة "السماح" أو "عدم السماح".
تاريخيًا ، ستعمل قاعدة "noindex" أيضًا ، ولكن في عام 2019 توقفت Google عن دعم توجيه noindex نظرًا لأنها كانت قاعدة غير منشورة.
إذا لم يتم استخدام الملف بشكل صحيح ، فقد يكون ذلك ضارًا لموقع الويب الخاص بك ويمكن أن يتسبب في انخفاض كبير في حركة المرور والتصنيفات. على سبيل المثال ، يمكن أن تحدث الأخطاء عندما يتم حظر موقع ويب بالكامل من محركات البحث أو عندما يتم حظر قسم من الموقع عن طريق الخطأ. عندما يحدث هذا ، ستنخفض التصنيفات المرتبطة بهذا الجزء من الموقع تدريجيًا وستنخفض حركة المرور بدورها.
هل تحتاج بالفعل إلى ملف robots.txt؟
لا ، ليس إلزاميًا أن يكون لديك ملف robot.txt على موقع الويب الخاص بك خاصةً للمواقع الصغيرة التي تحتوي على الحد الأدنى من عناوين URL ، ولكن يوصى بشدة بالمواقع المتوسطة إلى الكبيرة. في المواقع الكبيرة ، يسهل التحكم في أجزاء موقعك التي يمكن الوصول إليها والأقسام التي يجب حظرها من برامج الزحف. إذا لم يكن الملف موجودًا ، فسيتم الزحف إلى موقع الويب الخاص بك وفهرسته بشكل عام كالمعتاد.
ما هو ملف robots txt المستخدم بشكل أساسي؟
يحتوي ملف robots.txt على العديد من حالات الاستخدام وفي Semetrical استخدمناه للسيناريوهات التالية:
- حظر نتائج البحث الداخلي لأن هذه الصفحات ليست ذات قيمة عادةً لبرنامج الزاحف ويمكن أن تسبب الكثير من التكرار عبر موقع الويب.
- حظر أجزاء من التنقل في الواجهة إذا كانت بعض الجوانب ليست ذات قيمة من منظور تحسين محركات البحث ولكن لا تزال هناك حاجة لتجربة المستخدم عندما يكون المستخدم على موقع الويب الخاص بك.
- حظر المستويات المختلفة للتنقل بين الواجهات ، حيث قد يكون أحد مستويات الواجهة مفيدًا لمحركات البحث ولكن عند الجمع بين اثنين من فلاتر الأوجه المختلفة ، قد تصبح غير ملائمة لمحرك البحث للزحف والفهرسة.
- منع المعلمات التي تسبب الازدواجية أو تهدر ميزانية الزحف. هذا مثير للجدل إلى حد ما حيث قد يخبرك الآخرون بعدم حظر المعلمات في ملف robots.txt ولكن هذا قد نجح في عدد من مواقع الويب لعملائنا حيث يلزم وجود معلمات ولكن لا تحتاج برامج الزحف إلى الزحف إليها. يوصى بشدة بالتحقق من أن أي معلمة تحظرها لا تحتوي على روابط قيمة أو يتم تصنيفها لأي كلمات رئيسية ذات قيمة تجلب حركة المرور.
- منع الأقسام الخاصة من موقع الويب مثل صفحات الخروج وأقسام تسجيل الدخول.
- بما في ذلك مواقع خريطة موقع XML الخاصة بك لتسهيل وصول برامج الزحف إلى جميع عناوين URL الموجودة على موقع الويب الخاص بك.
- للسماح فقط لبرامج الروبوت المحددة بالوصول إلى موقعك والزحف إليه.
- حظر المحتوى الذي تم إنشاؤه بواسطة المستخدم والذي لا يمكن الإشراف عليه.
أين تضع robots txt وكيف تضيفه إلى موقعك؟
يجب وضع ملف robots.txt في جذر موقع الويب الخاص بك ، على سبيل المثال ، على موقع Semetrical الموجود على www.semetrical.com/robots.txt ويجب تسميته robots.txt. يمكن أن يحتوي موقع الويب على ملف robots.txt واحد فقط ويجب أن يكون في ملف نصي بترميز UTF-8 يتضمن ASCII.
إذا كانت لديك نطاقات فرعية مثل blog.example.com ، فيمكن أن يقع ملف robots.txt في جذر النطاق الفرعي مثل blog.example.com/robots.txt.
كيف يبدو ملف robots.txt؟
يتكون ملف robots.txt النموذجي من مكونات وعناصر مختلفة تشمل:
- وكيل المستخدم
- عدم السماح
- السماح
- تأخير الزحف
- خريطة الموقع
- التعليقات (قد ترى هذا أحيانًا)
يوجد أدناه مثال على ملف robots.txt من Semetrcals والذي يتضمن وكيل مستخدم وقواعد عدم السماح وملف Sitemap.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Disallow: /trackback/ Disallow: /index.php/ Disallow: /xmlrpc.php Disallow: /blog-documentation/ Disallow: /test/ Disallow: /hpcontent/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlوكيل المستخدم
يحدد وكيل المستخدم بداية مجموعة من التوجيهات. غالبًا ما يتم تمثيله بحرف بدل (*) يشير إلى أن الإرشادات أدناه مخصصة لجميع برامج الروبوت التي تزور موقع الويب. مثال على ذلك:
وكيل المستخدم: *
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ستكون هناك مناسبات قد ترغب فيها في حظر بعض الروبوتات أو السماح لبعض الروبوتات فقط بالوصول إلى صفحات معينة. للقيام بذلك ، تحتاج إلى تحديد اسم الروبوتات كوكيل المستخدم. مثال على ذلك:
User-agent: AdsBot-Google Disallow: /checkout/reserve Disallow: /resale/checkout/order Disallow: /checkout/reserve_searchيشمل وكلاء المستخدم الشائعون الذين يجب أن يكونوا على دراية بها ما يلي:

هناك أيضًا القدرة على منع برنامج معين من الزحف إلى موقع الويب الخاص بك أو تأخير عدد عناوين URL التي يمكنهم الزحف إليها ثانية لأن كل أداة سيكون لها وكلاء المستخدم الخاصون بها الذين يزحفون إلى موقعك. على سبيل المثال ، إذا أردت منع SEMRush أو Ahrefs من الزحف إلى موقع الويب الخاص بك ، فستتم إضافة ما يلي إلى ملفك:
User-agent: SemrushBot Disallow: * User-agent: AhrefsBot Disallow: *إذا أردت تأخير عدد عناوين URL التي تم الزحف إليها ، فستتم إضافة القواعد التالية إلى ملفك:
User-agent: AhrefsBot Crawl-Delay: [value] User-agent: SemrushBot Crawl-Delay: [value]توجيه عدم السماح
الأمر disallow عبارة عن قاعدة يمكن للمستخدم وضعها في ملف robots.txt تخبر محرك البحث بعدم الزحف إلى مسار معين أو مجموعة من عناوين URL بناءً على القاعدة التي تم إنشاؤها. يمكن أن يكون هناك سطر واحد أو أكثر من قواعد عدم السماح في الملف حيث قد ترغب في حظر أقسام متعددة من موقع ويب.
إذا كان الأمر disallow فارغًا ولم يحدد أي شيء ، فيمكن لبرامج الروبوت الزحف إلى موقع الويب بالكامل ، لذلك من أجل حظر مسارات معينة أو موقع الويب بالكامل ، تحتاج إلى تحديد بادئة عنوان URL أو شرطة مائلة للأمام "/". على سبيل المثال في المثال أدناه ، نحظر أي عنوان URL يعمل خارج مسار / cgi-bin / أو / wp-admin /.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/إذا كنت ترغب في حظر موقع الويب الخاص بك بالكامل من برامج الروبوت مثل Google ، فستحتاج إلى إضافة توجيه عدم السماح متبوعًا بشرطة مائلة للأمام. عادةً قد تحتاج فقط إلى القيام بذلك في بيئة التدريج عندما لا تريد العثور على موقع الويب المرحلي أو فهرسته. قد يبدو المثال كالتالي:
User-agent: * Disallow: /السماح بالتوجيه
ستلتزم معظم محركات البحث بتوجيه allow حيث ستواجه بشكل أساسي أمر عدم السماح. على سبيل المثال ، إذا كنت ستحظر / wp-admin / فعادةً ما ستحظر جميع عناوين URL التي تخرج من هذا المسار ، ومع ذلك ، إذا كانت هناك قاعدة سماح لـ /wp-admin/admin-ajax.php ، فستقوم برامج الروبوت بالزحف / admin-ajax.php ولكن يحظر أي مسار آخر يعمل خارج / wp-admin /. انظر المثال أدناه:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.phpتأخير الزحف
يساعد توجيه تأخير الزحف على إبطاء معدل قيام الروبوت بالزحف إلى موقع الويب الخاص بك. لن تتبع جميع محركات البحث توجيه تأخير الزحف لأنه قاعدة غير رسمية.
- لن تتبع Google هذا التوجيه
- لن تتبع بايدو هذا التوجيه
- يدعم Bing و Yahoo التوجيه الخاص بتأخير الزحف حيث ترشد القاعدة الروبوت إلى الانتظار "n" ثانية بعد إجراء الزحف.

- يدعم Yandex أيضًا توجيه تأخير الزحف ولكنه يفسر القاعدة بشكل مختلف قليلاً حيث لن يصل إلى موقعك إلا مرة واحدة كل "n" ثانية ".
فيما يلي مثال لتوجيه تأخير الزحف:
User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 5توجيه خريطة الموقع
يمكن أن يخبر التوجيه الخاص بخريطة الموقع محركات البحث بمكان العثور على خريطة موقع XML الخاصة بك ويسهل على محركات البحث المختلفة العثور على عناوين URL على موقع الويب الخاص بك. تشمل محركات البحث الرئيسية التي ستتبع هذا التوجيه ، Google و Bing و Yandex و Yahoo.
يُنصح بوضع توجيه خريطة الموقع في الجزء السفلي من ملف robots.txt الخاص بك. مثال على ذلك أدناه:
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlتعليقات
يمكن أن يشتمل ملف robots.txt على تعليقات ولكن وجود التعليقات مخصص للبشر فقط وليس برامج الروبوت حيث سيتم تجاهل أي شيء بعد علامة التصنيف. يمكن أن تكون التعليقات مفيدة لأسباب متعددة منها:
- يقدم سببًا لوجود قواعد معينة
- المراجع الذين أضافوا القواعد
- مراجع أي أجزاء من الموقع تكون القواعد لها
- يشرح ما تفعله القواعد
- يعرض أدناه أمثلة على التعليقات في ملفات robots.txt مختلفة:
#Student Disallow: /student/*-bed-flats-* Disallow: /student/*-bed-houses* Disallow: /comments/feed/ #Added by Semetrical Disallow: /jobs*/full-time/* Disallow: /jobs*/permanent/* #International Disallow: */company/fr/* Disallow: */company/de/*هل ترتيب القواعد مهم؟
لا يعد ترتيب القواعد أمرًا مهمًا ، ولكن عندما يتم تطبيق العديد من قواعد السماح والمنع على عنوان URL ، فإن قاعدة المسار المطابقة الأطول هي التي يتم تطبيقها وتكون لها الأسبقية على القاعدة الأقصر الأقل تحديدًا. إذا كان كلا المسارين بنفس الطول ، فسيتم استخدام القاعدة الأقل تقييدًا. إذا كنت تريد السماح بمسار URL محدد أو عدم السماح به ، يمكنك جعل القاعدة أطول من خلال استخدام "*" لجعل السلسلة أطول. على سبيل المثال ، Disallow: ******** / make-long
على موقع الويب الخاص بـ Google ، قاموا بإدراج مجموعة عينة من المواقف التي توضح قاعدة الأولوية التي لها الأسبقية. الجدول أدناه مأخوذ من Google.

كيف تتحقق من ملف robots.txt الخاص بك؟
من المهم دائمًا التحقق من ملف robots.txt الخاص بك والتحقق من صحته قبل نشره مباشرة لأن وجود قواعد غير صحيحة يمكن أن يكون له تأثير كبير على موقع الويب الخاص بك.
أفضل طريقة للاختبار هي الانتقال إلى أداة اختبار ملف robots.txt في Search Console واختبار عناوين URL المختلفة التي يجب حظرها بالقواعد المعمول بها. هذه أيضًا طريقة رائعة لاختبار أي قواعد جديدة تريد إضافتها إلى الملف.

أمثلة على استخدام التعبيرات العادية في ملف robots.txt
عند إنشاء قواعد في ملف robots.txt الخاص بك ، يمكنك استخدام مطابقة الأنماط لحظر نطاق من عناوين URL في قاعدة منع واحدة. يمكن استخدام التعبيرات العادية للقيام بمطابقة الأنماط وتشمل الحرفان الرئيسيان اللذان يلتزم بهما كل من Google و Bing:
- علامة الدولار ($) التي تطابق نهاية عنوان URL
- علامة النجمة (*) وهي قاعدة حرف بدل تمثل أي تسلسل للأحرف.
أمثلة على مطابقة النمط في Semetrical:
Disallow: */searchjobs/*سيؤدي هذا إلى حظر أي عنوان URL يتضمن مسار / searchjobs / مثل: www.example.com/searchjobs/construction. كان هذا ضروريًا للعميل حيث كان يجب حظر قسم البحث في موقعه حتى لا تقوم محركات البحث بالزحف إلى هذا القسم من الموقع وفهرسته.
Disallow: /jobs*/full-time/*سيؤدي هذا إلى حظر عناوين URL التي تتضمن مسارًا بعد / jobs / متبوعًا بـ / بدوام كامل / مثل
www.example.com/jobs/admin-secretarial-and-pa/full-time/
. في هذا السيناريو ، نحتاج إلى دوام كامل كعامل تصفية لـ UX ولكن بالنسبة لمحركات البحث ، لا توجد حاجة لفهرسة الصفحة لتلبية احتياجات "المسمى الوظيفي" + "الدوام الكامل".
Disallow: /jobs*/*-000-*-999/*سيؤدي هذا إلى حظر عناوين URL التي تتضمن عوامل تصفية الرواتب مثل
www.example.com/jobs/city-of-bristol/-50-000-59-999/
. في هذا السيناريو ، نحتاج إلى عوامل تصفية الرواتب ولكن لم تكن هناك حاجة لمحركات البحث للزحف إلى صفحات الرواتب وفهرستها.
Disallow: /jobs/*/*/flexible-hours/سيؤدي هذا إلى حظر عناوين URL التي تتضمن ساعات عمل مرنة وتتضمن مسارين وجهيرين بينهما. في هذا السيناريو وجدنا من خلال البحث عن الكلمات الرئيسية أن المستخدمين قد يبحثون عن الموقع + ساعات العمل المرنة أو الوظيفة + ساعات العمل المرنة لكن المستخدمين لن يبحثوا عن "المسمى الوظيفي" + "الموقع" + "الساعات المرنة". مثال عنوان URL يبدو
www.example.com/jobs/admin-secretarial-and-pa/united-kingdom/flexible-hours/
.
Disallow: */company/*/*/*/people$سيؤدي هذا إلى حظر عنوان URL يتضمن ثلاثة مسارات بين الشركة والأشخاص بالإضافة إلى عنوان URL الذي ينتهي بأشخاص. سيكون على سبيل المثال
www.example.com/company/gb/04905417/company-check-ltd/people
.
Disallow: *?CostLowerAsNumber=*ستحظر هذه القاعدة عامل تصفية المعلمة الذي طلب التسعير.
Disallow: *?Radius=* Disallow: *?radius=*منعت هاتان القاعدتان برامج الروبوت من الزحف إلى عنوان URL لمعلمة غيّر نطاق بحث المستخدمين. تمت إضافة كل من الأحرف الكبيرة والصغيرة حيث تضمن الموقع كلا الإصدارين.
الأشياء التي يجب الانتباه إليها في ملف robots.txt
- يعتبر ملف robots.txt حساسًا لحالة الأحرف ، لذا تحتاج إلى استخدام الغلاف الصحيح في القواعد الخاصة بك ، على سبيل المثال ، سيتم التعامل مع / hello / بشكل مختلف عن / Hello /.
- لجعل محركات البحث مثل Google تعيد تخزين ملف robots.txt مؤقتًا بشكل أسرع للعثور على قواعد جديدة ، يمكنك فحص عنوان URL الخاص بملف robots.txt في Search Console وطلب الفهرسة.
- إذا كان موقع الويب الخاص بك يعتمد على ملف robots.txt مع عدد من القواعد وكان عنوان URL الخاص بملف robots.txt يقدم رمز حالة 4xx لفترة طويلة من الوقت ، فسيتم تجاهل القواعد وتصبح الصفحات التي تم حظرها قابلة للفهرسة. من المهم التأكد من أنه يقدم دائمًا رمز الحالة 200.
- إذا كان موقع الويب الخاص بك معطلاً ، فتأكد من أن ملف robots.txt يعرض رمز الحالة 5xx حيث ستفهم محركات البحث أن الموقع معطل للصيانة وسيعودون للزحف إلى موقع الويب مرة أخرى في وقت لاحق.
- عندما تتم فهرسة عناوين URL بالفعل ثم تتم إضافة منع إلى موقع الويب الخاص بك لإزالة عناوين URL هذه من الفهرس ، فقد يستغرق الأمر بعض الوقت حتى يتم حذف عناوين URL هذه وإزالتها. بالإضافة إلى ذلك ، لا يزال بإمكان عناوين URL البقاء في الفهرس لفترة ولكن الوصف التعريفي سيعرض رسالة مثل "وصف هذه النتيجة غير متاح بسبب ملف robots.txt الخاص بهذا الموقع - اعرف المزيد".
- لا تضمن قاعدة عدم السماح بملف robots.txt دائمًا عدم ظهور الصفحة في نتائج البحث كما قد يقرر محرك بحث Google ، بناءً على عوامل خارجية مثل الروابط الواردة ، أنها ذات صلة ويجب فهرستها.
- إذا كانت لديك قاعدة عدم السماح في مكانها وقمت أيضًا بوضع علامة "no index" داخل شفرة المصدر للصفحة ، فسيتم تجاهل "no index" لأن محركات البحث لا يمكنها الوصول إلى الصفحة لاكتشاف علامة "no index".
- تعني قاعدة عدم السماح في الصفحات المفهرسة ، خاصة تلك التي تحتوي على روابط واردة ، أنك ستفقد ملكية الروابط لتلك الروابط الخلفية التي كان من الممكن أن يتم تمريرها لصالح الصفحات الأخرى. هذا هو السبب في أنه من المهم التحقق مما إذا كانت الصفحات تحتوي على روابط خلفية قبل إضافة قاعدة عدم السماح.
- إذا كانت الشرطة المائلة البادئة في المسار مفقودة عند كتابة قاعدة allow أو disallow ، فسيتم تجاهل القاعدة. على سبيل المثال ، "Disallow: searchjobs.
إذا كنت ترغب في التحدث مع أحد متخصصي تحسين محركات البحث الفنيين لدينا في Semetrical ، فيرجى زيارة صفحة خدمات تحسين محركات البحث الفنية للحصول على مزيد من المعلومات.
