في عالم الويب، يتعرض موقعك إلى زيارات مستمرة من محركات البحث والبوتات المختلفة. بعضها مفيد لتحسين ظهور موقعك على محركات البحث، وبعضها قد يكون ضاراً أو يستهلك موارد الموقع بشكل غير مرغوب فيه. هنا يأتي دور ملف robots.txt، وهو أداة بسيطة لكنها قوية للتحكم في وصول البوتات إلى محتوى موقعك.
ما هو ملف robots.txt؟
ملف robots.txt هو ملف نصي صغير يتم وضعه في جذر موقع الويب (root directory)، ويستخدم لتوجيه روبوتات محركات البحث والبوتات الأخرى إلى الصفحات أو الملفات التي يُسمح لها أو لا يُسمح لها بالوصول إليها.
لماذا نستخدم ملف robots.txt؟
- حماية محتوى حساس: منع محركات البحث من فهرسة صفحات معينة مثل صفحات الإدارة أو صفحات الاختبار.
- تحسين استهلاك الموارد: منع البوتات من زيارة صفحات غير ضرورية، مما يقلل الضغط على خادم الموقع.
- توجيه محركات البحث: توجيه البوتات نحو المحتوى الأكثر أهمية لزيادة فرص ظهور الموقع في نتائج البحث.
كيف يعمل ملف robots.txt؟
عندما يزور أي روبوت موقعك، فإنه يبدأ بالبحث عن ملف robots.txt في المسار:https://www.yoursite.com/robots.txt
يقوم الروبوت بقراءة التعليمات الواردة فيه قبل تصفح الموقع.
صيغة ملف robots.txt
الملف يتكون من تعليمات يتم كتابتها بشكل بسيط. أهم الأوامر هي:
- User-agent: يحدد اسم الروبوت الذي تنطبق عليه التعليمات (مثل Googlebot لمحرك جوجل).
- Disallow: تحدد الصفحات أو المجلدات التي يمنع الروبوت من الوصول إليها.
- Allow: تسمح بالوصول إلى صفحات محددة داخل مجلد تم منعه.
- Sitemap: يمكن وضع رابط خريطة الموقع (Sitemap) لمساعدة محركات البحث في الزحف بشكل أفضل.
مثال على ملف robots.txt:
هذا يعني:
- كل الروبوتات (*) ممنوعة من الدخول إلى مجلدي /admin/ و /private/
- مسموح لهم بالوصول إلى /public/
- توجيه الروبوتات إلى خريطة الموقع.
نقاط يجب الانتباه إليها
- ملف robots.txt هو مجرد “طلب” لبوتات محركات البحث، وليس أمرًا ملزماً. معظم البوتات الشرعية تحترم الملف، لكن بعض البوتات الخبيثة قد تتجاهله.
- لا تستخدم ملف robots.txt لإخفاء معلومات حساسة جداً، بل استخدم طرق حماية أخرى مثل المصادقة.
- تأكد من أن ملف robots.txt لا يمنع وصول محركات البحث إلى محتوى ترغب في ظهوره في نتائج البحث.
كيفية إنشاء ملف robots.txt
1. افتح محرر نصوص بسيط
- استخدم Notepad (ويندوز) أو TextEdit (ماك) أو أي محرر نصوص عادي.
- لا تستخدم برامج تحرير نصوص متقدمة مثل Word لأنها تضيف تنسيقات غير مناسبة.
2. اكتب قواعد ملف robots.txt
- ابدأ بتحديد الروبوتات التي تريد توجيهها (User-agent).
- ثم أضف الأوامر التي تريدها (Disallow, Allow, Sitemap, إلخ).
مثال بسيط:
3. احفظ الملف باسم robots.txt
- تأكد أن اسم الملف هو بالضبط robots.txt (كل الحروف صغيرة).
- تأكد أن امتداد الملف هو .txt وليس .txt.txt أو أي شيء آخر.
4. ارفع الملف إلى المجلد الرئيسي (Root) في موقعك
- استخدم برنامج FTP أو لوحة تحكم الاستضافة (مثل cPanel) أو أي طريقة رفع الملفات التي تستخدمها.
- يجب أن يكون مسار الملف على الموقع هو:
أي أن robots.txt يكون في الجذر الرئيسي للموقع وليس في مجلد فرعي.
اختبار ملف robots.txt
يمكنك اختبار الملف باستخدام أدوات مشرفي المواقع مثل:
- Google Search Console (أداة اختبار robots.txt)
- مواقع أخرى لفحص صحة الملف.
أوامر ملف robots.txt مع الشرح:
1. User-agent
-
الوصف: يحدد اسم الروبوت (البوت) الذي تطبق عليه التعليمات التالية.
-
مثال:
يعني أن التعليمات التالية خاصة ببوت جوجل فقط.
-
يمكن استخدام
*
لتعني “كل الروبوتات”:
2. Disallow
-
الوصف: يمنع البوت من الوصول إلى صفحة أو مجلد معين.
-
مثال:
يمنع الزحف إلى مجلد “private” وكل محتوياته.
-
ترك قيمة Disallow فارغة يعني السماح بالزحف لكل الصفحات:
3. Allow
-
الوصف: يسمح بالزحف إلى صفحة أو مجلد معين حتى لو كان تحت مسار ممنوع.
-
مثال:
يمنع البوت من الوصول إلى مجلد “private” عدا صفحة “public-page.html” داخل هذا المجلد.
4. Sitemap
-
الوصف: يحدد موقع خريطة الموقع (sitemap.xml) لمساعدة محركات البحث على فهم هيكل الموقع بشكل أفضل.
-
مثال:
5. Crawl-delay (غير مدعوم من جوجل بشكل رسمي)
-
الوصف: يحدد عدد الثواني التي يجب أن ينتظرها الروبوت بين كل طلب وآخر.
-
مثال:
يعني أن الروبوت ينتظر 10 ثوانٍ بين كل طلب.
-
هذا الأمر يدعمه بعض محركات البحث غير جوجل.
6. Host (غير شائع)
-
الوصف: يستخدم لتحديد الدومين الأساسي (في حالة وجود أكثر من نطاق يشير إلى نفس الموقع).
-
مثال:
-
غالبًا ما يستخدم في محركات بحث مثل Yandex وليس في جوجل.
مثال كامل لملف robots.txt يشمل معظم الأوامر:
ملحوظة مهمة:
-
robots.txt فقط يتحكم في “الزحف” (Crawling) وليس في “الفهرسة” (Indexing). يمكن لصفحة ممنوعة في robots.txt أن تظهر في نتائج البحث إذا تم الربط إليها من مواقع أخرى، لذا للتحكم في الفهرسة يجب استخدام أوامر meta robots داخل صفحات HTML.
طرق لجعل ملف robots.txt يتحدث تلقائيًا:
1. باستخدام سكربت ديناميكي (للمواقع التي تدعم البرمجة مثل PHP أو Python)
بدلاً من ملف robots.txt ثابت، يمكنك إنشاء ملف robots.txt ديناميكي يتم توليده عند كل طلب، مثلاً:
- بدلًا من robots.txt، تستخدم ملف robots.php وتضبط خادم الويب ليقرأ robots.txt من خلال هذا السكربت.
- السكربت يقرأ من قاعدة البيانات أو نظام إدارة المحتوى ويضيف صفحات أو مقالات جديدة تلقائيًا.
- مثال بسيط (PHP):
ثم تضبط الخادم ليعتبر robots.php
هو ملف robots.txt.
2. باستخدام إضافات أو ملحقات في نظم إدارة المحتوى (مثل ووردبريس)
- إذا تستخدم ووردبريس، هناك إضافات SEO مثل Yoast SEO أو Rank Math تسمح بإنشاء وتحديث ملف robots.txt تلقائيًا مع إضافة صفحات جديدة.
- الإضافة تراقب المحتوى الجديد وتحدث الملف أو تزود محركات البحث بخريطة الموقع sitemap التي يتم تحديثها تلقائيًا.
3. استخدام أدوات بناء المواقع أو منصات استضافة
- منصات مثل Shopify أو Wix توفر ملفات robots.txt يتم تحديثها تلقائيًا مع المحتوى الجديد.
- في هذه الحالة، لا تحتاج لأي تدخل برمجي.
4. تحديث تلقائي عبر مهام مجدولة (Cron Job)
- يمكنك برمجة مهمة مجدولة (cron job) تقوم كل فترة (مثلاً كل ساعة أو يوم) بتوليد ملف robots.txt جديد بناءً على المحتوى الحالي للموقع.
- السكربت يقرأ المحتوى أو قاعدة البيانات وينشئ ملف robots.txt محدث.
- Cron Job هو برنامج بيشتغل على السيرفر ويقدر ينفذ أوامر أو سكربتات بشكل تلقائي وفي مواعيد معينة تحددها.
- مثلاً، ممكن تخلي السكربت اللي بيحدث ملف robots.txt يشتغل كل ساعة أو كل يوم بشكل أوتوماتيكي.
خلاصة:
- لجعل ملف robots.txt يتحدث تلقائيًا، تحتاج إلى برمجة ديناميكية أو استخدام إضافات SEO في نظام إدارة المحتوى.
- الطريقة تختلف حسب نظام الموقع: هل هو موقع ثابت، ووردبريس، منصة تجارية، أو موقع مبرمج خصيصًا.
- أسهل طريقة هي استخدام إضافات SEO في ووردبريس أو منصات جاهزة.
الفرق بين noindex
و disallow
في ملف robots.txt
Disallow
هو أمر في ملف robots.txt
يمنع محركات البحث من زيارة (زحف) صفحات أو مجلدات معينة في موقعك، بمعنى أنها لا تدخل هذه الصفحات وتفحص محتواها. لكن هذا لا يعني بالضرورة أن هذه الصفحات لن تظهر في نتائج البحث إذا كانت هناك روابط تشير إليها من مواقع أخرى.
أما noindex
فهو توجيه يُضاف عادةً في رأس الصفحة (Meta Tag) أو عبر HTTP Header، ويطلب من محركات البحث ألا تفهرس الصفحة أو تعرضها في نتائج البحث، حتى لو تمكنت من زيارتها والزحف إليها.
بالتالي:
Disallow
: يمنع الزحف (الزيارة) فقط.noindex
: يمنع الفهرسة (الظهور في نتائج البحث).
مثال على Disallow
في ملف robots.txt
هذا يمنع جميع محركات البحث من الدخول إلى مجلد /admin/
، لكنها قد تظل قادرة على فهرسة هذا المجلد إذا كان هناك روابط خارجية تشير إليه — فقط لن تزحف إليه مباشرة.
مثال على noindex
في وسم HTML داخل صفحة:
هذا يُضاف داخل الوسوم <head>
في الصفحة، ويخبر محركات البحث:
- “لا تفهرس هذه الصفحة” (
noindex
) - “لكن اتبع الروابط الموجودة فيها” (
follow
)
حتى لو تم الزحف إليها، لن تظهر في نتائج البحث.
ملاحظة هامة:
لا يمكن استخدام noindex
داخل ملف robots.txt
لأن محركات البحث مثل Google تجاهلت هذا التوجيه داخل robots.txt منذ سنوات. لذا، لو منعت الصفحة بـ Disallow
، لن تستطيع Google زيارتها لترى أن بها وسم noindex
.
استخدام مشترك (أفضل ممارسة):
إذا كنت تريد منع الصفحة من الظهور في محركات البحث بشكل نهائي، فلا تستخدم Disallow
معها. بدلاً من ذلك:
- دع محركات البحث تدخل الصفحة.
- ثم استخدم داخل الصفحة وسم
<meta name="robots" content="noindex">
.
❗ المشاكل الشائعة في ملف robots.txt وكيفية حلها
على الرغم من أن ملف robots.txt
بسيط من حيث التركيب، إلا أن الاستخدام الخاطئ له قد يؤدي إلى منع صفحات مهمة من الأرشفة أو ظهور مشاكل في تجربة المستخدم أو الترتيب في نتائج البحث. فيما يلي أشهر الأخطاء التي يقع فيها أصحاب المواقع، وكيف يمكن تجنبها أو إصلاحها:
1. حظر صفحات مهمة عن طريق الخطأ
الوصف:
أحيانًا يتم استخدام Disallow: /
أو منع مجلد كامل دون التحقق من محتوياته، مما يؤدي إلى حظر صفحات مهمة أو حتى الموقع بالكامل.
مثال خاطئ:
الحل:
راجع الأوامر بدقة، ولا تستخدم /
إلا إذا كنت تقصد منع الوصول إلى جميع صفحات الموقع. حدد فقط المجلدات أو الصفحات غير المهمة.
2. الاعتماد على robots.txt لحظر الفهرسة
الوصف:
يعتقد البعض أن منع الزحف إلى صفحة ما يمنع ظهورها في نتائج البحث، لكن Google يمكنها فهرسة URL فقط من خلال روابط خارجية حتى لو لم تزحف للمحتوى.
الحل:
استخدم وسم <meta name="robots" content="noindex">
داخل الصفحة نفسها، أو استخدم رأس HTTP X-Robots-Tag: noindex
.
3. منع ملفات الموارد (CSS / JS) المهمة
الوصف:
قد يمنع ملف robots.txt ملفات CSS أو JavaScript التي تحتاجها Google لفهم وتفسير صفحاتك بالشكل الصحيح.
مثال خاطئ:
الحل:
تأكد أن ملفات التصميم والبرمجة الأساسية التي تؤثر على عرض وفهم الصفحة غير محظورة.
4. عدم وجود ملف robots.txt على الإطلاق
الوصف:
عدم وجود الملف قد لا يكون خطيرًا، لكنه يجعل محركات البحث تزحف بحرية بدون تنظيم، وهو أمر غير جيد خاصة في المواقع الكبيرة.
الحل:
أنشئ ملف robots.txt مخصص لتنظيم عملية الزحف، حتى وإن لم تكن بحاجة إلى حظر صفحات.
5. تنسيق خاطئ في الملف
الوصف:
أخطاء بسيطة مثل مسافات غير صحيحة أو كتابة أوامر غير مفهومة قد تؤدي إلى تجاهل الملف بالكامل.
الحل:
استخدم أدوات اختبار robots.txt من Google مثل robots.txt Tester للتأكد من صحة الملف.
أدوات مفيدة لإنشاء أو اختبار robots.txt
كيف تفسّر Google ملف robots.txt؟
تدعم الزواحف الآلية التابعة لـ Google بروتوكول استبعاد الروبوتات (Robots Exclusion Protocol – REP). وهذا يعني أنه قبل أن تبدأ Google في الزحف إلى موقعك، فإنها تقوم بتنزيل وتحليل ملف robots.txt
الموجود على الجذر (مثل: https://example.com/robots.txt
) لمعرفة الصفحات أو الأقسام التي يُسمح لها بالزحف إليها أو لا.
ما الذي تلتزم به Google فعليًا؟
- Googlebot (الزاحف الرئيسي للبحث): يلتزم تمامًا بالتعليمات الموجودة في الملف.
- زواحف أخرى من Google (مثل Google-Image أو AdsBot): تتبع القواعد الخاصة بها إذا تم تحديدها.
-
زواحف لا تتأثر بـ robots.txt:
-
بعض الزواحف الداخلية الخاصة بتحسين الأمان مثل تلك المستخدمة في اكتشاف البرامج الضارة أو المحتوى المضلل.
-
أدوات Google التي يديرها المستخدم، مثل الاشتراك في موجزات RSS أو فحص المحتوى الشخصي.
-
المرجع الرسمي للمعايير
تعتمد Google على المعيار RFC 9309 لتفسير بنية وتنسيق ملف robots.txt. هذا المستند هو الإصدار الرسمي المحدث لبروتوكول استبعاد الزواحف.
🔗 اطّلع على RFC 9309 (المعيار الرسمي)
ملف robots.txt هو ملف نصي بسيط يُستخدم لإعطاء تعليمات لمحركات البحث حول الأجزاء المسموح أو غير المسموح بالزحف إليها في موقعك. يقوم هذا الملف بتحديد القواعد التي يجب على “الزواحف” (Crawlers) اتباعها عند زيارة الموقع.
🛠 كيف يعمل؟
قبل أن تزحف محركات البحث (مثل Googlebot) إلى موقعك، تبحث أولًا عن ملف robots.txt
في جذر الموقع (https://example.com/robots.txt
). إذا وُجد الملف، فإن محرك البحث يقرأ التعليمات الموجودة فيه ويتبعها — طالما كان الزاحف يحترم بروتوكول REP.
خاتمة
ملف robots.txt هو أداة حيوية لأي مالك موقع يريد تنظيم وصول الزواحف والبوتات إلى محتوى موقعه. باستخدام هذا الملف بشكل صحيح، يمكنك حماية محتوى موقعك، تحسين أداء الخادم، و تحسين استراتيجية تحسين محركات البحث (SEO).