قبل أن يزحف Googlebot إلى أي صفحة في موقعك، يطلب أولًا ملفًا واحدًا: /robots.txt. هذا الملف هو بروتوكول استبعاد الروبوتات (Robots Exclusion Protocol)، وقد صار معيارًا رسميًا في RFC 9309 عام 2022. وظيفته بسيطة: تحديد المسارات التي لا تريد أن تزحفها الروبوتات. لكن بساطته تخدع، فكثير من المواقع العربية تكتشف بعد أشهر أن ملفًا منسيًا من مرحلة التطوير كان يحجب الموقع بالكامل.
الصيغة الأساسية
يتكون الملف من مجموعات، كل مجموعة تبدأ بسطر User-agent ثم قواعد Disallow وAllow:
User-agent: *
Disallow: /admin/
Disallow: /cart/
Allow: /admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
User-agent: *تعني كل الروبوتات. يمكنك تخصيص مجموعة لـGooglebotأوBingbot.Disallow: /admin/تمنع كل ما يبدأ بهذا المسار.Allowتستثني مسارًا من منع أوسع.Sitemapتخبر المحركات بمكان خريطة الموقع، ويجب أن تكون عنوانًا كاملًا.
قواعد المطابقة
| النمط | ما الذي يطابقه؟ |
|---|---|
Disallow: / |
الموقع كله |
Disallow: (فارغ) |
لا شيء، أي السماح بكل شيء |
Disallow: /search |
/search و/search-results و/search/arabic |
Disallow: /*?sort= |
أي عنوان يحتوي ?sort= |
Disallow: /*.pdf$ |
العناوين التي تنتهي بـ .pdf |
المسارات حساسة لحالة الأحرف: /Admin/ ليست /admin/. وإذا تعارضت قاعدتا Allow وDisallow، تطبّق Google القاعدة الأطول والأكثر تحديدًا، وعند التساوي تختار القاعدة الأقل تقييدًا (Allow).
ملاحظات تقنية
- تقرأ Google أول 500 كيلوبايت فقط من الملف؛ ما بعدها يُتجاهل.
- يجب أن يكون الملف نصًا عاديًا بترميز UTF-8.
- الروابط التي تحتوي أحرفًا عربية تُكتب في الملف بصيغتها المرمّزة (percent-encoded)، مثل
/%D9%85%D9%86%D8%AA%D8%AC%D8%A7%D8%AA/بدل/منتجات/، لضمان المطابقة.
أمثلة جاهزة
موقع ووردبريس
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/sitemap_index.xml
لاحظ أننا لا نحجب /wp-content/ ولا /wp-includes/؛ تحتاج Google إلى ملفات CSS وJavaScript لترى الصفحة كما يراها الزائر.
متجر إلكتروني
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*&price=
Sitemap: https://example.com/sitemap.xml
صفحات الفلترة والترتيب قد تولّد آلاف العناوين المتكررة من الفئة نفسها (حسب السعر، اللون، المقاس). حجبها يوفر ميزانية الزحف لصفحات المنتجات الفعلية. لكن احذر: إذا كانت بعض الفلاتر تمثل صفحات تريد ترتيبها (مثل “عبايات سوداء”)، فاجعلها عناوين ثابتة ولا تحجبها.
موقع قيد التطوير
User-agent: *
Disallow: /
هذا الملف مناسب لنسخة الاختبار (staging) فقط، والأفضل حمايتها بكلمة مرور. أكثر الكوارث شيوعًا هي نقل هذا الملف إلى الموقع الحقيقي عند الإطلاق.
يمكنك إنشاء ملف مناسب لموقعك عبر مولد robots.txt، ثم اختبار أي عنوان عبر أداة اختبار robots.txt لترى هل هو مسموح أم محجوب ولماذا.
robots.txt مقابل noindex
هذا هو الالتباس الأكثر تكلفة:
| الهدف | الأداة الصحيحة |
|---|---|
| منع الزحف لتوفير موارد الخادم | Disallow في robots.txt |
| منع ظهور الصفحة في نتائج البحث | <meta name="robots" content="noindex"> أو رأس X-Robots-Tag |
| إخفاء محتوى سري | كلمة مرور أو حجب على الخادم |
إذا حجبت صفحة في robots.txt ووضعت فيها noindex، فلن يرى Googlebot الوسم أصلًا، وقد تبقى الصفحة في الفهرس. الترتيب الصحيح لإزالة صفحة: اسمح بالزحف، أضف noindex، انتظر حتى تختفي من النتائج، ثم احجبها إن شئت.
ولا تستخدم Noindex: داخل robots.txt؛ Google توقفت عن دعمه منذ سبتمبر 2019.
وتذكّر أن robots.txt ملف عام: أي شخص يستطيع قراءته. كتابة Disallow: /secret-admin-panel/ تدل المتطفلين على المسار بدل إخفائه.
روبوتات الذكاء الاصطناعي
صار كثير من أصحاب المواقع يتحكمون عبر robots.txt في روبوتات جمع البيانات لتدريب نماذج الذكاء الاصطناعي، مثل GPTBot أو CCBot، ورمز Google-Extended الذي يتحكم في استخدام المحتوى لنماذج Google دون أن يؤثر على الظهور في بحث Google:
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
القرار تجاري بحت. لكن تذكّر أن الالتزام بالملف طوعي؛ الروبوتات المحترمة تلتزم به، والخبيثة تتجاهله.
أخطاء شائعة
- ترك
Disallow: /بعد الإطلاق. افحص الملف في يوم الإطلاق نفسه. - حجب ملفات CSS وJS، فتبدو الصفحة لـ Google مكسورة وغير متوافقة مع الجوال.
- حجب صفحات تحمل تحويلات أو وسوم canonical، فلا تُقرأ الإشارة.
- كتابة المسار دون شرطة البداية:
Disallow: adminغير صحيح. - إعادة الخادم صفحة HTML بدل الملف (مثلًا صفحة 404 مخصصة برمز 200).
- نسيان سطر Sitemap أو وضع عنوان نسبي فيه.
كيف تختبر الملف بعد كل تعديل؟
- افتح
https://example.com/robots.txtفي المتصفح وتأكد أن ما تراه هو النسخة الجديدة، لا نسخة مخزنة في CDN. - اختبر أهم العناوين: الصفحة الرئيسية، صفحة منتج، صفحة مقال، ملف CSS رئيسي. يجب أن تكون كلها مسموحة.
- اختبر العناوين التي أردت حجبها، مثل السلة ونتائج البحث، للتأكد أن القاعدة تعمل.
- في Google Search Console، يعرض تقرير robots.txt آخر نسخة جلبتها Google وأي أخطاء في قراءتها، ويمكنك طلب إعادة الجلب بعد التعديل العاجل.
ملفات robots.txt والنطاقات الفرعية
لكل نطاق فرعي ملفه الخاص: blog.example.com/robots.txt منفصل عن example.com/robots.txt. وإن كان متجرك على نطاق فرعي لمنصة خارجية، فقد لا تتحكم في ملفه بالكامل؛ راجع إعدادات المنصة. كذلك نسخة http ونسخة https تُعاملان كموقعين، لكن مع تحويل 301 صحيح إلى HTTPS تقرأ المحركات الملف من الوجهة النهائية.
هل تحجب ملفات الوسائط؟
حجب مجلد الصور أو ملفات PDF يمنع ظهورها في بحث الصور أو في النتائج، وقد يكون ذلك مقصودًا لملفات داخلية. لكن في المتاجر غالبًا تريد ظهور صور المنتجات في بحث الصور لأنها مصدر زيارات حقيقي، فلا تحجبها. وتذكّر أن الملفات المحجوبة في robots.txt ما زالت متاحة لأي شخص يعرف رابطها المباشر؛ للملفات السرية استخدم الحماية بكلمة مرور أو صلاحيات الخادم، لا robots.txt.
قائمة تحقق
- الملف موجود في
https://example.com/robots.txtويعيد الرمز 200. - لا يوجد
Disallow: /على الموقع الحقيقي. - CSS وJavaScript والصور غير محجوبة.
- صفحات البحث الداخلي والسلة والحساب والفلاتر المكررة محجوبة.
- سطر
Sitemapموجود بعنوان كامل؛ راجع دليل خريطة الموقع XML. - لم تُستخدم robots.txt لإخفاء محتوى سري أو لمنع الفهرسة.