كتبت Disallow: /shop لحجب مجلد واحد، فلماذا حُجبت أيضًا صفحة /shop-by-brand؟
لأن قواعد robots.txt تعمل كبادئة: القاعدة /shop تطابق كل مسار يبدأ بهذه الحروف الخمسة، ومنها /shop-by-brand و/shopping-guide. إن أردت المجلد وحده فاكتب /shop/ بشرطة في آخرها. لكن انتبه: /shop/ لم تعد تطابق الصفحة /shop نفسها بلا شرطة.
كيف تطابق القاعدة المسار؟
الزاحف لا يقرأ القاعدة كاسم مجلد، بل كبداية نص. إن كان المسار يبدأ بالقاعدة حرفًا بحرف، فهي تطابقه. لذلك جرّبنا في منشئ ملف robots.txt عدة أزواج:
- القاعدة /shop مع المسار /shop-by-brand/oud: تطابق. المسار يبدأ بالحروف /shop.
- القاعدة /shop مع المسار /shopping-guide: تطابق للسبب نفسه.
- القاعدة /shop/ مع المسار /shop-by-brand/oud: لا تطابق. بعد /shop يأتي الحرف - لا الشرطة.
- القاعدة /shop/ مع المسار /shop/oud: تطابق، وهذا المقصود.
- القاعدة /shop/ مع المسار /shop: لا تطابق. المسار أقصر من القاعدة.
الأداة نفسها تذكّرك بهذا في الإعداد الجاهز «حجب مجلدات محددة»: /search بلا شرطة تطابق /search-results أيضًا.
ثلاثة أهداف وثلاث قواعد
- تريد المجلد وكل ما فيه فقط: اكتب Disallow: /shop/.
- تريد الصفحة /shop نفسها أيضًا دون الصفحات التي تبدأ بالحروف نفسها: أضف سطرًا ثانيًا Disallow: /shop$. علامة $ في آخر القاعدة تعني «هنا ينتهي المسار»، فتطابق /shop وحدها ولا تطابق /shop/oud.
- تريد فعلًا كل ما يبدأ بالحروف /shop: أبقِ القاعدة بلا شرطة، لكن عن قصد.
بالقاعدتين /shop/ و/shop$ معًا اختبرنا /shop-by-brand/oud مرة أخرى، فخرج مسموحًا دون أي قاعدة مطابقة. هذا هو الملف:
User-agent: *
Disallow: /shop/
Disallow: /shop$
افحص كل الصفحات القريبة قبل النشر
القاعدة الواحدة قد تمس صفحات لم تفكر فيها. قبل رفع الملف، اكتب في «اختبار مسار» كل مسار يبدأ بالحروف نفسها في موقعك، مثل /shop-by-brand و/shopping-guide و/shop/oud و/shop. هكذا تعرف أثر القاعدة كاملًا قبل أن يعرفه الزاحف.
علامة $ نمط معرّف في RFC 9309، وتفهمه Google وBing بحسب ما يذكره التنبيه في الأداة، لكن زواحف أبسط قد تعاملها حرفًا عاديًا. لهذا تظهر الأداة تنبيهًا عند استخدامها. وإن كنت تبني مسارات جديدة لموقعك، فاختيار أسماء لا تتشارك البداية، عبر منشئ روابط الصفحات (Slug) مثلًا، يجعل القواعد أبسط. الأداة لا تعرف مسارات موقعك الفعلية، فهي تختبر ما تكتبه فقط.
أسئلة شائعة
هل حالة الأحرف مهمة هنا أيضًا؟
نعم. /Shop/ لا تطابق /shop/.
هل Allow تتبع القاعدة نفسها؟
نعم، Allow أيضًا تطابق كبادئة، وتفوز القاعدة الأطول بين المطابقة.
على منصة جاهزة، هل أستطيع تعديل القاعدة؟
غالبًا لا. استخدم الاختبار لتفهم ملف المنصة، وراسل دعمها إن وجدت مشكلة.
