نلاحظ ظهور عدد كبير من روابط الروابط الدائمة للمواضيع (topic-permalink) وروابط ترقيم الصفحات (pagination) في فئة “تم الزحف - غير مؤرشف حاليًا” (Crawled - currently not indexed) في Google Search Console (حوالي 35 ألف رابط على منتدٍ مستورد عمره حوالي 20 عامًا، إصدار discourse v2026.9.0-latest، استضافة ذاتية).
ما وجدناه:
يقدم Discourse روابط ترقيم الصفحات ?page=N للزواحف (crawlers) للمواضيع الطويلة (بما أن الواجهة الفعلية تعتمد على التمرير اللانهائي). عندما يقوم عميل قادر على تنفيذ JavaScript (بما في ذلك عارض Googlebot) بتحميل أحد هذه الروابط ?page=N، يقوم Discourse بإصدار إعادة توجيه جانب العميل (client-side redirect) إلى /t/slug//<post_number>.
التكرار (Reproduction):
- احصل على رابط موضوع بشكل بارد (cold)، مع أي لاحقة رقم منشور أو ?page=:
GET /t///14 →
GET /t// → نفس الرابط الرسمي (canonical)
GET /t///1 → نفس الرابط الرسمي (canonical)
GET /t//?page=127 → (مرجع ذاتي، وليس معياريًا) - حمّل الموقع بشكل طبيعي (مع تفعيل JS) وناوِج، عبر موجّه Ember، إلى رابط يتضمن لاحقة رقم منشور (مثل النقر على رابط “الانتقال إلى أول منشور غير مقروء” من المواضيع المقترحة). بمجرد اكتمال انتقال تطبيق الصفحة الواحدة (SPA)، يساوي document.querySelector(‘link[rel=canonical]’).href رابط رقم المنشور الحالي — ولا يشير مرة أخرى إلى الموضوع الأساسي.
هذا يتعارض مع نية التصميم المعلنة من Discourse نفسها. في هذا الموضوع من عام 2015، كان @sam صريحًا:
▎ المواضيع: يجب أن يشير الرابط الرسمي (canonical) إلى الموضوع الأساسي لمنع ظهور صفحات المنشورات الفردية كـ نتائج بحث منفصلة.
▎ صفحات الفئات/القوائم: تم إزالة الرابط الرسمي (canonical) بالكامل، لأن القوائم المرقمة بالصفحات ليست نسخًا مكررة وفقًا لتوجيهات Google نفسها.
ما نراه اليوم يكسر ذلك بطريقتين:
- موضوع يحتوي على ?page=N (ترقيم صفحات الزواحف) يحتوي على رابط رسمي (canonical) ذاتي المرجع في HTML الخادم الخام، بدلاً من الموضوع الأساسي — على الرغم من أن المواضيع (عكس قوائم الفئات) كان من المفترض صراحةً أن تُدمج دائمًا في الرابط الأساسي.
- بعد إعادة التوجيه جانب العميل من ?page=N إلى /t/slug/id/<post_number>، يبقى الرابط الرسمي (canonical) في DOM المُعرض أيضًا على رابط رقم المنشور بدلاً من إعادة تعيينه إلى الموضوع الأساسي.
يبدو كلاهما كتنكس (regressions) مقابل هدف التصميم لعام 2015، وليس سلوكًا حاليًا مقصودًا.
لماذا هذا مهم للتفهرس: يعتمد فهرس Google على DOM المُعرض لإشارة الرابط الرسمي (canonical). أي رابط يتضمن رقم منشور/لاحقة صفحة يصل إليه Google مباشرة — عبر ميزة “مشاركة رابط المنشور” (تُستخدم بكثافة في منتدانا عبر WhatsApp/Discord)، عبر روابط خلفية خارجية قديمة (نحن نmap روابط vBulletin القديمة ?p= إلى روابط أرقام المنشورات)، أو عبر الزاحف نفسه — سيعلن عن رابط رسمي (canonical) خاص به بدلاً من دمجها في الموضوع الأساسي. في Search Console، يظهر هذا كألف روابط شبه مكررة عالقة في “تم الزحف - غير مؤرشف”.
عينة من الروابط المتأثرة من تقرير GSC لدينا (جميعها تم زحفها في أواخر سبتمبر 2026):
/t/tengo-que-pasar-la-itv/21100/10
/t/new-honda-nsx-proyect/4910/69
/t/hacer-tubo-recto-sin-silencioso-del-catalizador-hacia-atras/25579/25
/t/kedada-japo-en-cataluna-2014/28148/75
/t/el-diario-de-patricio-de-la-plana/13286?p
سؤال للفريق: نظرًا لأن هذا موضوع عمره أكثر من 10 سنوات، هل تغير شيء منذ ذلك الحين يجعل الرابط الرسمي (canonical) الذاتي المرجع على هذه الروابط مقصودًا الآن؟ أم أن هذا يستحق إعادة الفحص كتراجع (regression)؟ يسعدني تقديم ملفات HAR / أمثلة تكرار إضافية إذا كانت مفيدة.