تحسين عد نقرات Onebox

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

يصف هذا المنشور المشكلة بمزيد من التفصيل:

هناك جزآن في الإجابة.

أولاً، يجب عليك تمكين فتح الروابط في علامة تبويب خارجية. (لا أفهم هذا تقنيًا، حيث يتم عد الروابط الأخرى دون تفعيل هذا الخيار.)

ثانيًا…

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

بغض النظر عن عدم فهمي لما يحدث تقنيًا، أود حقًا رؤية عد نقرات روابط Onebox بشكل متسق.

6 إعجابات

لقد راجعت جميع الإعدادات في لوحة التحكم الخاصة بي، ولا توجد أي مربعات اختيار لتمكين فتح الروابط في تبويب خارجي… ومع ذلك، تفتح الروابط بالفعل في تبويب آخر.
لقد جربنا النقر على عنوان المقالة و على الرابط نفسه - لا يوجد عداد لأي منهما.
إليك مشكلة مثيرة للجدل: لمدة يوم أو يومين، عمل العداد فجأة، ثم توقف مرة أخرى دون أي تغيير على الإطلاق. كما سألت أحد المشرفين وعدة مستخدمين عما إذا كانوا يرون أي عدادات للروابط بجانب الروابط المنشورة. لم يرها أي منهم، لذا أعرف أن الأمر لا يتعلق بي فقط بصفتي مسؤولاً.
مثلما ترغب أنت، أود أن أرى عداد نقرات الروابط في Onebox يعمل بشكل متسق.

تعديل: يجب أن أوضح أن العداد يعمل للروابط المنشورة بعد مسافة بيضاء (حتى لا يتم تضمينها في Onebox)… لكنه لا يعمل لروابط Onebox.

إعجابَين (2)

لقد قمت بتفعيل الإعداد الأسبوع الماضي، ابحث عن default other external links in new tab. سيتم تطبيق هذا الإعداد على جميع المستخدمين الجدد الذين سجلوا في موقعك بعد تفعيل إعداد الموقع. يمكن للمستخدمين القدامى تفعيله من خلال ملفاتهم الشخصية (في حال أمكننا تمكين الإعداد بشكل جماعي حتى للمستخدمين القدامى عبر وحدة التحكم).

جربت النقر على الصناديق الواحدة في المنشورين الأولين في هذا الموضوع https://forum.nodders.net/t/2019-plastic-waste-and-recycling/167، وارتفع العداد من 0 إلى 1. من الممكن أن يكون المستخدم الذي أجرى الاختبار مستخدمًا قديمًا ولم يُفعّل إعداد علامة التبويب الخارجية في ملفه الشخصي، أو أن المستخدم حاول فتح الرابط في نافذة جديدة مباشرةً عن طريق النقر بزر الماوس الأيمن على الرابط نفسه.

3 إعجابات

هذا ما يحدث على الأرجح. سأبلغ الجميع بأن عليهم إجراء التغيير في ملفاتهم الشخصية… كما أفعل أنا. :wink: شكرًا لك.

يُرجى ملاحظة أيضًا أن النقر على الروابط في منشورك الخاص لن يزيد العدادات.

3 إعجابات

@dax، @codinghorror، اكتشفت سبب عمل عداد الروابط بالنسبة لي وللآخرين في منتدانا. في _التفضيلات/الواجهة/أخرى، على الرغم من أنني كنت قد حددت خيار فتح جميع الروابط الخارجية في علامة تبويب جديدة، فقد كنت أيضًا قد حددت خيار إظهار الأرقام على أيقونة المتصفح. يبدو أن الخيار الثاني يتجاوز الخيار الأول. قمت بإلغاء تحديد خيار إظهار الأرقام على أيقونة المتصفح، ثم حفظت التغييرات، وفحصت منشورًا… وعندها ظهر العداد!

كما اكتشفت نقطة دقيقة واحدة. عندما ينشر المستخدم رابطًا وتحاول OneBox محاولة OneBox له وتفشل - مما يترك الرابط كما هو - فإن عداد نقرات الرابط لن يعمل إذا لم يسبق الرابط مسافة بيضاء. لقد قمت للتو بتحرير منشور لمستخدم حدثت فيه هذه المشكلة، وقمت بإضافة المسافة، فبدأ العداد في الظهور. :wink:

إعجابَين (2)

@dax هل لديك أي أفكار حول سبب ضرورة هذا الإعداد لظهور شارات النقر الخاصة بـ onebox؟ يمكنني تغييره لموقعي، ولكن لكي يكون مفيدًا، سأضطر إلى تغيير الإعداد بشكل جماعي لأكثر من 7400 مستخدم، وهو ما أفضّل عدم فعله لأنه سيسبب فقط الارتباك.

إعجابَين (2)

أنا أيضًا لا أعرف لماذا تتعب نفسك، حيث لن تُحتسب النقرات على الصندوق الواحد إلا من قِبل القلة القليلة الذين ينقرون على أقل رابط وضوحًا. وهذا يعني أنه بدلاً من عدم عرض أي بيانات حول عدد مرات النقر، ستعرض بيانات غير صحيحة (أقل من الواقع بشكل مصطنع)، وهو ما أعتبره أسوأ بكثير في رأيي.

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

نقطة جيدة — من المثالي أن يقوم الصندوق الواحد أيضًا بحساب النقرات على عنوانه.

4 إعجابات

لقد قمت بإنشاء مكون سمة لحساب النقرات على عنوانه أيضًا.

3 إعجابات

كان هذا يعمل حقًا من قبل. كانت نقرات Onebox تُحسب على موقعنا. ثم في مرحلة ما توقف عن العمل. لا أتذكر متى بالضبط، لكن أعتقد أن ذلك كان منذ أكثر من عام. أقول إن هذا تراجع وليس طلب ميزة حقيقي.

هل يمكنك توضيح ما يفعله مكونك بالضبط، @evantill؟

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

يبدو أنه جزء صغير من JavaScript يمكن إضافته ببساطة إلى النواة، بافتراض أنه يعمل.

سكربت بسيط يستبدل النقر على رابط داخل onebox بالنقر على رابط العنوان.

    // إذا كان النقر داخل جسم onebox
    $('.onebox-body a').on('click.onebox-track-url', function(event) {      
      event.preventDefault(); // تجاهل حدث النقر داخل onebox
      var headerUrl = $(event.target).closest('.onebox').find('header a'); // تحديد رابط العنوان
      // النقر على رابط العنوان بدلاً من ذلك لتحديث عداد التتبع
      if (headerUrl.length > 0) {
        headerUrl[0].click(); // محاكاة النقر على رابط العنوان
      }
    });
</script>
إعجاب واحد (1)

يبدو أن الروابط داخل جسم onebox لا يتم تتبعها عن طريق اختيار :

isValidLink() ترجع false إذا كان الرابط داخل .onebox-body

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

قد تكون الحل هو إضافة إعداد جديد في onebox لتمكين التتبع للروابط داخل oneboxes، وفي هذه الحالة إضافة الفئة track-link للروابط داخل oneboxes؟

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

ليس واضحًا بالنسبة لي من هذا الموضوع ما إذا كان القرار بالتوقف عن تتبع نقرات onebox مقصودًا أم أن هذا مجرد خطأ يمكنك تقديم طلب سحب (pull request) لإصلاحه.

3 إعجابات

هل من الصحيح وصف الإصلاح المقترح بهذا الشكل؟

“إذا كان الرابط موجودًا في جسم الـ onebox، فابحث عن عنوان URL الخاص بالـ onebox. إذا كان عنوان URL هذا مطابقًا للرابط، فاحسب النقرة. وإلا، فتجاهلها.”

4 إعجابات

هل من الممكن حتى أن يحتوي الـ onebox على رابط غير الرابط الذي يتم عرضه؟ لم يكن ذلك ليخطر ببالي.

لقد أضفت هذه الوظيفة في التعديل أدناه

5 إعجابات