بحاجة إلى تنفيذ "window.prerenderReady" على نسختي [وظيفة مدفوعة]

أنا أستخدم prerender.io لتقديم إصدار “application/JS” للموقع لمحركات البحث (مثيلي يقدم لمحركات البحث الإصدار JS عبر إعداد مخفي)

إنه يعمل بشكل جيد ولكن يبدو أن discourse قد يقع تحت هذه الفئة

لكن بعض صفحات الويب تستخدم تدفقات تحميل مخصصة أو استقصاء مستمر قد يخدع منطق Prerender؛ وبالتالي، يفشل في اتخاذ قرار بشأن جاهزية الصفحة.

في المرة الأولى التي يصل فيها prerender إلى أي عنوان URL لـ discourse، ستنتهي مهلته (20 ثانية تم تعيينها بواسطة prerender)
الصفحة يتم عرضها بشكل جيد، فقط أن prerender.io لا يعرف أن الصفحة تم تحميلها بالكامل، لذا “يبقى” يحاول عرض الصفحة، حتى تنتهي الـ 20 ثانية، ثم يقدم الإصدار HTML.

إذا طلب محرك البحث الصفحة مرة أخرى، فسيقدم الصفحة في ثانية واحدة (تقريبًا) - حيث يوجد إصدار HTML للعنوان URL في ذاكرة التخزين المؤقت.

… ولكن هذا غير عملي حيث توجد آلاف العناوين URL و 20 ثانية لكل عنوان URL (لأول مرة يتم الوصول إليه) لن تعمل.

لذلك سأحتاج إلى إضافة ما يلي مباشرة بعد علامة \u003chead\u003e (وعندما تنتهي الصفحة من التحميل لتعيين المتغير إلى true)

\u003cscript\u003e window.prerenderReady = false; \u003c/script\u003e

أود أن يعمل هذا على مستوى الموقع بالكامل - نأمل أن يجعل ذلك المهمة أسهل.

لست متأكدًا مما يتضمنه هذا ولكن إذا كنت مخطئًا في تقديري، فيرجى إخباري - 300 دولار؟ 400 دولار؟

هل لدى أي شخص أي ملاحظات حول هذا؟

ربما هناك ملف أساسي يمكنني تعديله في هذه الأثناء

هل لديك الكود الذي تستخدمه للقيام بذلك في مكان ما؟

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

الكود لخدمة نسخة جافا سكريبت؟

لقد كان إعداد الموقع المخفي “crawler_user_agents” الذي ساعدتني (@pfaffman) في تمكينه/تعديله.

تعديل لقد قمت بإزالة “bots” و “crawlers” و “spiders” من القائمة أعلاه.

كيف يشارك prerender.io؟ كيف سيعرف Discourse متى يجب تضمين الوسم \u003chead\u003e؟

أوه، أعتقد أن prerender يشير إلى الوسم \u003chead\u003e الموجود بالفعل، أليس كذلك؟

لكي نضيف \u003cscript\u003e window.prerenderReady = false; \u003c/script\u003e مباشرةً تحت الوسم \u003chead\u003e الموجود بالفعل.

تعديل لست متأكدًا أيضًا مما إذا كانوا بحاجة إلى تعيين الرمز داخل وسوم الرأس أو بعد وسم الرأس المغلق.

كيف قمت بتثبيت prerender لجعله يقدم الصفحات التي تم عرضها مسبقًا؟ هناك ثلاث طرق مدرجة في How to Install Prerender in 3 Easy Steps. هل استخدمت إحدى هذه الطرق؟

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

نعم، لقد استخدمت برنامج الوسيط الخاص بـ Cloudflare.

لذلك، يأخذ Cloudflare أي طلبات من الروبوتات ويرسلها إلى prerender

إذًا، هل يمكنك توفير استدعاء API لـ prerender سيعيد القيمة true/false التي تريدها في

 <script> window.prerenderReady = false; </script>
إعجاب واحد (1)

أرى، - قرأت بعض المعلومات عن واجهة برمجة التطبيقات وقد يكون هذا الأمر أكبر من قدراتي (ولكن آمل أن يسهل هذا المهمة)

الميزانية منخفضة بعض الشيء لهذا النوع من الأشياء في الأساس. تعديل ما يتم تقديمه للزواحف قد يكون أكثر صعوبة مما يبدو. يمكن أن تنشأ مشكلات مختلفة.

شخصيًا، أنا متشكك بعض الشيء في حكمة القيام بذلك في المقام الأول، لكنني متأكد من أن لديك أسبابك.

أعتقد أن جاي يقصد واجهة برمجة تطبيقات عميل discourse. يمكنك استخدامها عبر مكون سمة لمعرفة متى تم عرض discourse بالكامل.

تبدو مألوفًا إلى حد ما بتطوير البرمجيات. لقد قمت بدورة تمهيدية صغيرة حول تطوير سمات discourse العام الماضي والتي تتضمن مناقشة حول كيفية استخدام واجهة برمجة التطبيقات في سمة. إنها مجانية ومفتوحة المصدر. يمكنك قراءتها بدءًا من هنا:

ستحتاج على الأرجح إلى استخدام حدث الواجهة الأمامية الذي يتم تشغيله عند عرض الصفحة. هناك بعض الأمثلة على ذلك بمجرد وصولك إلى أول وحدة جافاسكريبت في الدورة التدريبية

إعجابَين (2)

شكراً على الرد يا أنجوس

لست متأكدًا من أن هذا هو ما يجب القيام به. الزواحف تحصل بالفعل على نسخة HTML من مثيل الخطاب الخاص بي.

من المبكر جدًا معرفة ذلك ولكني متفائل جدًا. إنها مجرد عملية تنظيف كبيرة لتحسين محركات البحث - جوجل تزحف إلى موقع جديد بالكامل. لا يمكنني تخيل جوجل تصنيف نسخة الزاحف غير جافاسكريبت للموقع ومنحها نفس الترتيب الذي يحصل عليه تجربة المستخدم الفعلية.

الجزء الأول الذي أحتاجه هو فقط الحصول على هذا الرمز في head

ثم هو تنفيذ هذا الجزء وفقًا لـ prerender.io

ثم تأكد من تعيين هذا المتغير true فقط عندما يتم الانتهاء من عرض صفحتك، ويكون من الآمن لـ Prerender الحصول على المحتوى. هذا ممكن في استدعاء غير متزامن يعمل في وقت متأخر جدًا من صفحتك. سينتظر Prerender.io بعد ذلك لفترة قصيرة للتأكد من اكتمال جميع الاستدعاءات وحفظ صفحتك.

سأقوم بمراجعة الوثائق التي قدمتها - شكرًا لك على ذلك.

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

لست متأكدًا مما تراه، ولكن من واقع خبرتنا، فقد صنف عرض المتتبع المواقع بشكل جيد جدًا. كان لدينا عملاء أفادوا بأن مجتمعاتهم تفوقت على مواقعهم الرئيسية.

إعجابَين (2)

قد يكون الموقع يحتوي ببساطة على محتوى قيم للغاية، ويتجاهل الخوارزم “الأجزاء السيئة”. كل حالة مختلفة.

لن يكون منطقيًا لجوجل أن يصنف نسخة الزاحف كما لو كانت نسخة جافاسكريبت. (بالمعنى العام)

لا توجد قائمة، ولا مواضيع مقترحة، ولا روابط جانبية، وصفحات ملف المستخدم/الشارات تم تعطيل الفهرسة لها، والكثير من الميزات الأخرى غير المتوفرة في نسخة الزاحف.

سأقوم بالتحديث بموضوع جديد بمجرد ظهور النتائج. حتى الآن، التموضع في نتائج محركات البحث متقلب للغاية.

تعديل صفحات ملف المستخدم/الشارات تم تعطيل الفهرسة لها عبر الرؤوس.