صفحات التصنيف عندي تتكرر بروابط ?sort= و?filter=، هل أحجبها في robots.txt وكيف أكتب القاعدة بحيث لا يفوتها شيء؟
حجب روابط الفرز والتصفية قد يوفر جهد الزحف في متجر فيه كتالوج كبير، بشرط أن تكون الصفحات التي تريدها في البحث متاحة دون هذه المعاملات. لكن القاعدة الجاهزة /*?sort= لا تطابق إلا حين يأتي sort بعد علامة ? مباشرة، فرابط مثل /category/oud?page=2&sort=price يفلت منها. أضف قاعدة ثانية /*&sort= لتلتقط sort في أي موضع آخر، واختبر كل شكل في الأداة.
أين يفلت الرابط؟
النمط /*?sort= يعني: أي شيء، ثم ?sort=. في الرابط /category/oud?sort=price جاء sort أول معامل، فالقاعدة تطابق. أما في /category/oud?page=2&sort=price فبعد ? يأتي page، ولا يوجد النص ?sort= في أي مكان، فالقاعدة لا تطابق والرابط يبقى مسموحًا. هذا ما أظهره الاختبار في منشئ ملف robots.txt حرفيًا.
ترتيب المعاملات يحدده متجرك أو القالب أو حتى الرابط الذي نقره الزائر، فلا تفترض أن sort يأتي أولًا دائمًا.
ثلاثة أنماط مقارنة
- /*?sort=: يطابق ?sort=price، ولا يطابق ?page=2&sort=price.
- /*&sort=: يطابق ?page=2&sort=price، أي sort حين لا يكون أول معامل.
- /*sort=: يطابق الحالتين، لكنه واسع: يطابق أي مسار فيه النص sort= في أي مكان، حتى /category/sort=x. أما /resort-wear/ فلم يطابقه لأنه لا يحتوي علامة =.
الجمع بين النمطين الأولين أدق من الثالث، لأنه لا يلتقط إلا المعامل الحقيقي. والفكرة نفسها تنطبق على filter:
User-agent: *
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?filter=
Disallow: /*&filter=
الخطوات
- في الأداة يمكنك البدء بالإعداد الجاهز «حجب معلمات الروابط»، وهو يكتب /*?sort= و/*?filter= و/*?session=.
- أضف تحت كل واحدة نسختها بعلامة & بدل ?.
- في «اختبار مسار» جرّب الأشكال الثلاثة: المعامل أولًا، والمعامل ثانيًا، وصفحة التصنيف بلا معاملات.
- تأكد أن صفحة التصنيف نفسها ما زالت مسموحة، فهي ما تريده في البحث.
هل الحجب هو الحل المناسب أصلًا؟
الأداة نفسها تنبّه عند الإعداد الجاهز: غالبًا يكون وسم canonical أنسب من الحجب، لأن الرابط الممنوع لا يمكن قراءته لدمجه مع صفحته الأساسية. وتنبّه أيضًا إلى أن * و$ معرّفان في RFC 9309، لكن زواحف أبسط تعاملهما كحرفين عاديين فلا تمنع القاعدة شيئًا عندها. وفي تجربتنا ظهر تنبيه لكل سطر فيه نمط.
في متجر صغير من عشرات المنتجات، قد لا تستحق روابط الفرز أي قاعدة. وفي كتالوج كبير تنتج فيه التصفية آلاف التركيبات، قد يستحق الأمر. ولا تضع روابط الفرز في خريطة الموقع التي تبنيها في منشئ خريطة الموقع XML، ولا تحجب رابطًا وضعته فيها. وعلى سلة أو زد لا تتحكم غالبًا في الملف، فاقرأ ما تنشره المنصة واختبره بالطريقة نفسها.
أسئلة شائعة
هل تفهم الأداة ترتيب المعاملات؟
لا. هي تطابق النص كما هو، ولهذا تحتاج نمطًا لكل موضع.
هل تفرق القاعدة بين Sort وsort؟
نعم، المسارات حساسة لحالة الأحرف.
هل يحذف الحجب الروابط المفهرسة سابقًا؟
لا. الحجب يمنع الزحف لا الفهرسة، وقد تبقى الروابط في النتائج بلا وصف.
