كنت أتحقق من تقرير التغطية في Google Search Console ووجدت أن العديد من صفحات المنتدى لدينا محجوبة بواسطة ملف robots.txt. لذا قمت بالتحقق من ملف robots.txt، فوجدت أن عناكب semrushbot و ahrefsbot محجوبة افتراضيًا:
لأن هذه الروبوتات تُعدّ «مستهلكات مفرطة للموارد» وتوفر قيمة ضئيلة جدًا للمواقع مقارنة بالكم الهائل من الموارد التي تستهلكها.
بالطبع، يمكنك تخصيص ملف robots.txt في Discourse والسماح لها إذا رغبت؛ لكننا نحجب هذه الروبوتات على مواقعنا منذ فترة طويلة قبل إصدار Discourse، ولا نزال نحجبها.
ملاحظة (تم التعديل):
نسيت أن أذكر أن العديد من هذه «المستهلكات المفرطة للموارد» لا تحترم ملف robots.txt، ويجب حجبها على مستوى وكيل المستخدم (HTTP User Agent). نحن نحجب هذه «المستهلكات غير المحترمة للموارد» باستخدام mod_rewrite على مستوى وكيل العكس (reverse proxy)، بشكل عام (وهو أحد الأسباب العديدة الجيدة لتشغيل المواقع خلف وكيل عكسي، بالمناسبة).
لقد عثرت على مشكلة أخرى، وربما يمكنك مشاركة رؤيتك فيها أيضًا.
أعلم أن Discourse قد قامت بحظر صفحات المستخدمين افتراضيًا، لكن في تقرير التغطية الخاص بـ Google Search Console، لا تزال هناك بعض صفحات المستخدمين مفهرسة، وهي مشكلة في عيون Google لأن هذه الصفحات لا ينبغي فهرستها:
لا بأس بالتحديث من وجهة نظري، لكن نعم، يجب أن يكون هذا الإصلاح موجودًا في نسختك المثبتة. أنصحك بمحاولة التحديث وإعادة التحقق، ما لم يكن لديك سبب آخر لعدم الرغبة في التحديث.
فقط للتوضيح، هل لا توجد طريقة لإلغاء حظر Semrushbot و SEO Spider؟ نحن بحاجة إليهما لأغراض التدقيق في تحسين محركات البحث (SEO). جربنا إزالة كليهما من /admin/customize/robots (كما جربنا Allow: )، لكننا نحصل على خطأ 429 في Screaming Frog. أو هل خطأ 429 هذا مشكلة منفصلة؟ نقدر جدًا رؤيتكم.
أخطاء 429 تعني أن هذه الزواحف تخضع لحدود معدل الطلبات. تم تمكين بعض آليات الحد من السرعة في Discourse افتراضيًا لمنع إساءة الاستخدام. يمكنك قراءة المزيد حول هذا الأمر هنا.
def self.allow_crawler?(user_agent)
return true if SiteSetting.allowed_crawler_user_agents.blank? &&
SiteSetting.blocked_crawler_user_agents.blank?
...
...
يمكنك أن ترى من الكود أنه إذا قمت بتعيين إعدادتي الموقع هاتين إلى “فارغ”، فلن يكون هناك أي حظر:
SiteSetting.allowed_crawler_user_agents
SiteSetting.blocked_crawler_user_agents
أوصي ألا تقوم بتغيير هذا لأن هذه الروبوتات التي يحظرها نواة Discourse افتراضيًا لا تحترم ملف robots.txt؛ ومع ذلك، فهذا موقعك ويمكنك فعل ما تشاء. هناك سبب وجيه يجعلها محظورة في النواة.
مع ذلك، يمنحك Discourse خيار “إلغاء الحظر” لهذه الروبوتات باستخدام إعدادات الموقع الخاصة بك في واجهة المستخدم.