طريقة لتعطيل جميع خلاصات RSS عالميًا

مرحبًا،

أثناء إجراء تدقيق لتحسين محركات البحث (SEO) لموقعنا، والذي يعمل جزئيًا على نظام Discourse، يبدو أن Googlebot ينفق جزءًا كبيرًا من ميزانية الزحف (crawl budget) على قنوات RSS. وهذا يحدث على الرغم من أن ملف robots.txt الافتراضي لنظام Discourse يمنع هذه الروابط، وعلى الرغم من وجود رأس استجابة HTTP يحتوي على تعليمات noindex لهذه الروابط الخاصة بقنوات RSS.

أود معرفة ما إذا كانت هناك طريقة غير معقدة لإيقاف تشغيل هذه القنوات RSS بالكامل على موقعي. لا أعتقد أن الكثير من الأشخاص يستخدمونها (سأحاول التأكد من ذلك). لكن سؤالي لا يزال قائمًا.

شكرًا لكم على أي مساعدة في هذا الشأن!

– هيو

إعجاب واحد (1)

لا توجد حاليًا مربع اختيار لتعطيل هذه الخلاصات.

إذا كنت على دراية بـ nginx، فيمكنك إنشاء كتلة موقع تطابق .rss وترسل استجابة 404، ثم تضع ذلك في قسم app.yml المناسب.

إعجاب واحد (1)

ألا يكون إرسال خطأ 404 أسوأ حتى لتحسين محركات البحث؟

إعجابَين (2)

لماذا لا تقوم بحظرهم باستخدام nginx؟

هل تقوم Google فعليًا بجلب تلك الصفحات، أم أن الروابط تظهر فقط في Google Search Console بحالة “مُفهرسة ولكنها محظورة بواسطة robots.txt”؟

لا أرى رؤوس noindex في خلاصات RSS، ولكن إذا كان الرابط محظورًا بواسطة robots.txt ويحتوي على رأس robots، فقد لا يرى الزاحف رأس robots أبدًا.

[أزلت مخرجات curl -I لأنها لم تستخدم GET، لذا كان رأس robots مفقودًا.]

تعديل: لقد تحققت للتو من خلاصات RSS باستخدام طلب GET، لأنني اعتقدت أن رأس x-robots-noindex موجود في خلاصات RSS، وهو موجود بالفعل، لكن فقط عند استخدام طلب GET.

الآن أتذكر ما فعلته في منتداي الرئيسي. كانت Google Search Console تحذر من أن عناوين URL الخاصة بخلاصات RSS مُفهرسة ولكنها محظورة، لذا قمت بإلغاء حظر الخلاصات عبر robots.txt لأن ذلك يمنع Googlebot من جلب عناوين URL ورؤية رأس noindex. أنا متأكد إلى حد كبير أن هذا سيحل التحذيرات، لكنني لا أعرف ما إذا كان سيمنع Googlebot من زحف هذه العناوين.

# Disallow: /t/*/*.rss
# Disallow: /c/*.rss

أنا قلق قليلًا من إخبار الزواحف بوجود خلاصات RSS (باستخدام link، انظر أدناه) ثم إرسال استجابات 404 عندما تحاول هذه الروبوتات جلب تلك العناوين. قد يجعل ذلك الآلة تعتقد أن هناك مشكلة تقنية في الموقع، مما يخفض درجة جودته (بغض النظر عن كيفية تحديد محركات البحث للجودة أو ما إذا كان الموقع قد يكون معطلاً للمستخدمين).

$ curl -s https://meta.discourse.org/latest | grep -i rss    
    <link rel="alternate" type="application/rss+xml" title="أحدث المشاركات" href="https://meta.discourse.org/posts.rss" />
    <link rel="alternate" type="application/rss+xml" title="أحدث المواضيع" href="https://meta.discourse.org/latest.rss" />
   ...
إعجاب واحد (1)

نعم، لست من محبي حل 404. يبدو أنه قد يرسل إشارة سلبية إلى جوجل، كما أنه طريقة قاسية جدًا لتحقيق ما أريده. ما أريده حقًا هو ألا تكون الروابط موجودة على الصفحة، وليس أن تكون روابطًا معطلة.

بخصوص سؤالك، فإن خلاصات RSS تظهر في وحدة تحكم البحث على أنها “مستبعدة بواسطة وسم ‘noindex’”. غير واضح ما إذا كان هذا يعني أن جوجل قضت وقتًا في جلبها ثم استبعدها، أم أنها تم استبعادها قبل الجلب، وفي هذه الحالة فإن التأثير على ميزانية الزحف يكون أقل على الأرجح.

قد تكون هناك بعض المعلومات حول عدد عناوين RSS التي يقومون بجلبها في سجلات nginx. لقد قمت للتو بفحص سجلاتي، وأدركت أن Googlebot يقوم بفحص خلاصات RSS، لكنني طلبت منهم القيام بذلك فقط لأنني قمت بإلغاء حظرهم من ملف robots.txt.