في البداية، كتبت هذا لفئة “خطأ”…
… ولكن لا تدعني أوقفك إذا شعر أي شخص أن هذا يستحق طلب سحب أو تثبيت
لقد درست بنية Discourse الأساسية بجد خلال الشهرين الماضيين وبشكل عام إنها رائعة.
عناوين URL الغريبة مع أشياء مثل no_definitions=true أو /search?q= تعطي العنوان الأساسي الصحيح.
كل هذا يعمل عند تقديم إصدار JavaScript للموقع للمستخدمين والزواحف على حد سواء.
ولكن يبدو أن عناوين URL /u/* قد تم تجاهلها - فهي تحتوي على عناوين أساسية، ولكن لعناوين URL التي تتسبب في فهرسة آلاف العناوين الإضافية بواسطة Google.
المهمة:
أود أن تكون جميع عناوين URL بعد اسم المستخدم موجهة إلى صفحة ملف تعريف المستخدم الرئيسية.
لذا /u/FlyNumber هي صفحة الملف الشخصي الرئيسية.
سيحتوي ما يلي على عنوان أساسي للصفحة المذكورة أعلاه (بدلاً مما يحدث الآن، وهو عنوان أساسي لنفسه):
/u/FlyNumber/summary
/u/FlyNumber/activity
/u/FlyNumber/activity/topics
/u/FlyNumber/activity/replies
/u/FlyNumber/activity/likes-given
/u/FlyNumber/badges
إعجاب واحد (1)
justin
(Justin DiRose)
5 مايو 2022، 5:14م
2
هل هذا لإعداد الفهرسة المخصص الخاص بك الذي تمت مناقشته هنا؟
I’m using prerender.io to serve the “application/JS” version of the site to crawlers ( my instance serves crawlers the JS version via a hidden setting )
It’s working well but seems discourse might fall under this category …
but some web pages use some custom loading flows or constant polling that may trick Prerender’s logic; thus, it fails to make a decision on the ready-ness of the page.
The first time prerender accesses any discourse URL, it will timeout ( 20 seconds set by prerender )
T…
إذا كان الأمر كذلك، فقد يكون من المفيد ملاحظة ذلك حتى يعرف أولئك الذين ينظرون إلى الوظيفة ما الذي يواجهونه.
بشكل افتراضي، لا تتم فهرسة عناوين URL /u/، والتي يتم تعيينها في robots.txt ويتم تمريرها في طلب الرأس الأولي للصفحة.
4 إعجابات
لا، لقد توقفت عن استخدام prerender - لم يتمكن من عرض القائمة الرئيسية، وزر تسجيل الدخول، وما إلى ذلك.
يتم إعطاء روبوت جوجل “التطبيق” مباشرة.
لدي إعداد موقع discourse مخفي لتقديم النسخة التي تعمل بالـ JavaScript لمحركات الزحف. يبدو أن جوجل تتعامل معها بشكل جيد. (المزيد من التحديثات حول ذلك قريباً.)
نقطة جيدة، /badges أيضاً…
أنا أستخدم ملف robots معدل خصيصًا.
أنا أستخدم Cloudflare workers لـ تغيير الرأس إلى 'index'.
/u/FlyNumber/summary
/u/FlyNumber/activity
/u/FlyNumber/activity/topics
/u/FlyNumber/activity/replies
/u/FlyNumber/activity/likes-given
/u/FlyNumber/badges
أود أيضًا أن أشير إلى أن إزالة الروابط الكنسية تمامًا لتلك العناوين قد تكون خطوة في الاتجاه الصحيح. (في رأيي، طريقتي أفضل لتحسين محركات البحث)
كما هو مذكور أعلاه، تم تعيينها على noindex لذلك لست متأكدًا من سبب قيام Discourse بإنشاء الرابط الكنسي على الإطلاق.
ربما يعرف شخص ما طريقة ذكية للقيام بذلك باستخدام JS وعمال Cloudflare؟ بهذه الطريقة أتجنب العبث بكود Discourse.
يمكنني إعداد “مشغل” على <s/>/u/*/summary<s/> - (يمكنني فقط التشغيل على /u/*) - وتنفيذ شيء مثل هذا:
const canonical = document.querySelector('link[rel="canonical"]');
if (canonical !== null) {
canonical.href = 'NEW_HREF_GOES_HERE';
}
ماذا يمكنني أن أفعل هنا لتمرير اسم المستخدم إلى NEW_HREF_GOES_HERE - وسينتهي الأمر بأن يكون الرابط الأساسي هو /u/* بدلاً من /u/*/summary.
أي مساعدة هنا موضع تقدير كبير.
تعديل
ربما يمكن لشخص ما الإشارة إلى صفحة (صفحات) GitHub ذات الصلة - سأخاطر بتعديل الكود.
system
(system)
تم إغلاقه في
14 يونيو 2022، 5:14م
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.