Discourse-indexnow — إشعار Bing وYandex فورًا عند إنشاء أو تعديل المواضيع

:information_source: الملخص يرسل تلقائيًا عناوين URL الجديدة والمعدّلة للمواضيع العامة إلى بروتوكول IndexNow، مما يتيح لمحركات البحث المشاركة مثل Bing وYandex اكتشاف محتواك خلال دقائق بدلاً من الانتظار حتى زحف الزاحف (crawl).
:hammer_and_wrench: رابط المستودع github.com/imlotso/discourse-indexnow
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse

يتوفر أيضًا مقال باللغة الصينية يحتوي على مزيد من الخلفية على منتدانا: sitetalk.net/t/topic/642.


الميزات

  • يرسل تلقائيًا المواضيع العامة الجديدة، ويعيد الإرسال عند تعديل المنشور الأول للموضوع أو خصائصه الرئيسية.
  • عند تمكين توطين المحتوى وباراميتر لغة الزاحف الخاص به، تُضمَّن عناوين URL للمواضيع الموضّعة تلقائيًا جنبًا إلى جنب مع العنوان الرئيسي — باستخدام باراميتر الاستعلام الحقيقي للغة في Discourse (ولا يتم ترميزه يدويًا أبدًا).
  • يرسل العنوان الرئيسي وجميع التوحيات الموجودة معًا في طلب دفعة واحدة عبر urlList الخاص بـ IndexNow، بدلاً من طلب واحد لكل عنوان URL.
  • التعبئة التاريخية: قم بتصفية المواضيع حسب الفئة ونطاق التاريخ، وعايِن النتائج المطابقة، ثم أرسلها دفعة واحدة — مع إعادة استخدام محرك الدفعات نفسه، الذي يقسم الإرسال تلقائيًا حسب حد البروتوكول البالغ 10,000 عنوان URL.
  • الإرسال اليدوي: الصق عنوان URL واحدًا في كل سطر لإرسال روابط محددة عند الطلب؛ يتم تصفية العناوين الخارجية أو غير المؤهلة تلقائيًا.
  • حدود إرسال بالساعة/اليوم، مع تراجع تلقائي عندما يعيد IndexNow رمز الحالة 429 (يحترم Retry-After عند وجوده).
  • دعم تدوير المفاتيح — يبقى المفتاح السابق صالحًا لمدة 7 أيام كفترة انتقالية حتى لا تنكسر عمليات الإرسال الجارية.
  • فحص مدمج لوصول ملف /<key>.txt الخاص بك، ويُعرض مباشرة في لوحة الإدارة.
  • يعيد الإرسال (أو يستبعد) المواضيع تلقائيًا عند نقلها بين الفئات، أو عند تغيير إعدادات الظهور/الوسوم الخاصة بفئة معينة.
  • تتتبع سجلات الإرسال معرّف الدفعة، واللغة، واتجاه النجاح/الفشل على مدى 7 أيام، وتفصيل لأسباب الفشل (حد المعدل / خطأ المفتاح / عدم تطابق النطاق / أخرى).
  • يتم تنفيذ جميع عمليات الإرسال بشكل غير متزامن عبر Sidekiq وتخضع لنفس عوامل التصفية الخاصة بالخصوصية مثل عمليات الإرسال التلقائية — لا شيء يتجاوز قواعد الاستبعاد (الرسائل الخاصة، الفئات المقيدة، المواضيع غير المدرجة/المحذوفة، المواقع التي تتطلب تسجيل الدخول).
  • واجهة الإدارة متاحة باللغة الإنجليزية والصينية المبسطة.

الإعدادات

  1. ثبّت الإضافة (انظر دليل التثبيت أعلاه) وأعد بناء حاويتك.
  2. انتقل إلى الإدارة > الإضافات > discourse-indexnow.
  3. في تبويب الإعدادات، انقر على توليد مفتاح (أو الصق مفتاح سداسي عشري مكوّن من 32 حرفًا سبق تسجيله في مكان آخر).
  4. علّم على مربع تفعيل إرسال IndexNow.
  5. تأكد من أن المفتاح يمكن الوصول إليه علنًا على العنوان:
    https://your-forum.example/<key>.txt
    
    يجب أن يعيد HTTP 200 مع المفتاح كنص صريح. تعمل لوحة الإدارة أيضًا على هذا الفحص تلقائيًا وتعرض حالة مخزنة مؤقتًا خضراء/حمراء بجانب “key.txt accessible”.
  6. (اختياري) في تبويب السجلات، استخدم لوحة التعبئة لإرسال المواضيع التاريخية — اختر فئة ونطاق تاريخ، وانقر على معاينة لمعرفة عدد المواضيع المطابقة، ثم إرسال.
  7. (اختياري) استخدم حقل الإرسال اليدوي للصق عناوين URL لمرة واحدة، عنوان واحد في كل سطر، للإرسال الفوري خارج流程 الإلقائي العادي.

يُظهر تبويب السجلات أيضًا مخطط اتجاه النجاح/الفشل على مدى 7 أيام وتفصيل لأسباب الفشل، مما يتيح لك معرفة النظرة الأولى ما إذا كانت عمليات الإرسال مقيدة بالمعدل، أو مرفوضة بسبب عدم تطابق المفتاح، أو تفشل لسبب آخر.

الإعدادات

الاسم الوصف
indexnow_enabled مفتاح التحكم الرئيسي للإضافة. لا يمكن تفعيله بينما تكون login_required مفعّلة، وتتم تعطيلها تلقائيًا إذا تم تشغيل login_required لاحقًا.
indexnow_api_key المفتاح السداسي العشري الحالي المكوّن من 32 حرفًا المستخدم لمصادقة عمليات الإرسال.
indexnow_submit_on_create يرسل تلقائيًا عند إنشاء موضوع عام جديد.
indexnow_submit_on_edit يعيد الإرسال تلقائيًا عند تغيير المنشور الأول أو سمات الموضوع.
indexnow_excluded_category_ids فئات إضافية يتم استبعادها دائمًا، حتى لو كانت عامة.
indexnow_hourly_limit الحد الأقصى لعدد عناوين URL المُرسلة في الساعة.
indexnow_daily_limit الحد الأقصى لعدد عناوين URL المُرسلة في اليوم.

قيود معروفة

  • لا يحتوي IndexNow على إشعار بالحذف — حذف المواضيع يُسجّل فقط لأغراض التدقيق، ولا يُرسل.
  • لا تشارك Google في بروتوكول IndexNow.
  • تُرسل عناوين URL الموضّعة فقط عندما يكون باراميتر لغة الزاحف مفعّلًا و يوجد توطين فعلي لذلك الموضوع.

هذه إضافة مستقلة وغير رسمية — لا يتم صيانتها من قبل فريق Discourse. إنها تعمل في بيئة الإنتاج على منتدانا الخاص، ولديها تغطية اختبارات RSpec مع CI عند كل دفع/طلب دمج، وسأقدّر أي تقارير أخطاء أو طلبات ميزات عبر مشاكل GitHub أو الردود هنا.

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