الكتابة فوق مصدر صورة meta og:image لاستخدام صور محملة علنًا خارجيًا في المواضيع؟

في الأساس، يمكنك رؤية مشكلتي ومناقشتي مع مؤلف الإضافة @merefield هنا:

ينصحني بالتواصل مع فريق Discourse للقيام بذلك نيابةً عنا.

أنا دائمًا أستخدم صور CDN خارجية على موقعي، ولا أرفعها على الرفع المحلي أو على تخزين الكائنات لأن ذلك مكلف جدًا، لذا لا أحفظ الصور محليًا أو في سلال S3.

في الوقت الحالي، ألاحظ أن وسم meta og:image الخاص بي لا يلتقط هذه الصور. على سبيل المثال، انظر إلى هذا الموضوع: How Many Carbs on Keto? - How To Discuss

الصورة يتم تحميلها فعليًا من عنوان URL عام خارجي كـ IMG SRC الخاص بها. لكن Open Graph الخاص بوسائل التواصل الاجتماعي يعرض دائمًا شعار موقعي كصورة احتياطية، وهو أمر غير جيد.

بسبب هذا السلوك الأساسي في Discourse، لا أرى صور المصغرات هذه يتم اكتشافها بواسطة إضافة معاينة قائمة المواضيع أيضًا.

كيف يمكنني تجاوز وسم meta og:image لإجبار استخدام الصورة التي تم رفعها خارجيًا؟

بحيث أتمكن من رؤية صورة الموضوع الفعلية بدلاً من شعار منتدى موقعي عند مشاركته على مواقع التواصل الاجتماعي: https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Fhowtodiscuss.com%2Ft%2Fis-yoga-a-good-workout%2F28043

لقد حاولت إضافة هذا السطر قسرًا على صفحة الموضوع:

<meta property="og:image" content="https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500" />

ولكن عند رؤية مصدر الصفحة، يظهر أن وسم og:image لا يزال يستخدم شعار موقعي كصورة احتياطية، ويظن أنه لا توجد صورة في هذا الموضوع :frowning:

يجب أن يتم التقاط الصورة الأولى في أول منشور لأي موضوع بواسطة وسم meta og:image الخاص بي، حتى لو كانت الصورة مستضافة على عنوان URL عام. حاليًا، يتم التقاطها فقط إذا كانت الصورة مُحمَّلة على خادمي الخاص… لكن العديد منا لا يستطيعون تحمل تكاليف استضافة الصور بأنفسهم لأنها مكلفة جدًا. ستكون المساعدة من فريق Discourse للسماح بهذا التغيير مفيدة جدًا.

@Bcat يعاني من نفس المشكلة في منتداه.

إعجابَين (2)

يدعم نواة Discourse فقط استخدام ‘uploads’ كصور مصغرة للمواضيع. يمكن أن تكون هذه الصور محلية أو مستضافة على S3، ولكن يجب رفعها إلى Discourse. يمكنك تحويل الصور المرتبطة عن بُعد إلى ملفات مرفوعة تلقائيًا باستخدام إعداد الموقع “تحميل الصور البعيدة إلى المحلي”.

للأسف، لا نخطط لتغيير هذا السلوك في Discourse.

3 إعجابات

إذا كانت الصور مستضافة على S3، فكيف يتم تحميلها على Discourse؟ S3 ليست جزءًا من Discourse، بل هي خادم عام لاستضافة الصور. عندما أستخدم صورًا عن بُعد من شبكات توصيل محتوى (CDN) عامة مجانية تابعة لأطراف ثالثة، فهي أيضًا متاحة للجميع، تمامًا مثل S3. إذن لماذا لا يسمح Discourse أو يدعم استخدام عناوين URL للصور العامة كصور مصغرة للمواضيع؟

على سبيل المثال، هذا الرابط https://d11a6trkgmumsb.cloudfront.net/optimized/3X/7/1/71abcfa01874c32497d638b372f94c7b9fc021e4_2_1380x718.png
هو الصورة التي قمت بتحميلها للتو على Meta Discourse، وهي عنوان URL لاستضافة صور عامة، وعناوين URL لصوراتي الخاصة تبدو مثل https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500

وعناوين URL الخاصة بي هي أيضًا صور مستضافة بشكل عام، فلماذا لا يختار Discourse صوري؟ يرجى تكوينه لاستخدام كليهما، لأنه كعنكبوت أو كعنكبوت Open Graph، كلا مصدرَي الصور هما عناوين URL مستضافة بشكل عام.

لقد قمت بتفعيل هذا الإعداد بالفعل،

ولكن لماذا لا يتم اعتبار صوري المرتبطة حرارياً كصور مصغرة للمواضيع؟

لقد قمت أيضًا بتعطيل تحميل ملفات jpg/jpeg في إعداد الملف هذا،

وقمت بتعطيل هذا لتجنب قيام المستخدمين بتحميل الصور مباشرة على خادمي لتوفير مساحة التخزين.

إذا كبر حجم منتداي كثيرًا، فسيصبح من الصعب جدًا عليّ إدارة التخزين لعدد كبير من الصور.

هل هناك أي حيلة أو خدعة لتحقيق ما أريده؟ أريد فقط فرض تجاوز وسم الميتا og:image لاستخدام صورتي المرتبطة حرارياً في الموضوع. كيف يمكنني تحقيق ذلك ببساطة؟ ربما أي كود HTML يمكنني وضعه في صفحات الموضوع لفرض استخدام مصدر الصورة المرتبطة حرارياً هذا لـ og:image؟

أو هل يمكنني إضافة سطر من الكود في الخاص بموقعي لمنع الافتراضي أو ببساطة إزالة سطر الميتا og:image هذا الذي يعود إلى شعار الموقع إذا فشل Discourse في اكتشاف الصورة المصغرة للموضوع؟

لقد حاولت إضافة السطر التالي في محرر منشور صفحة الموضوع

<meta property="og:image" content="https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500" />

ولكن لسبب ما، لا يتم عرض هذا الكود عندما أنظر إلى كود مصدر صفحة موضوعي، لماذا يحدث ذلك؟

هذه هي الصفحة التي جربت هذا عليها Is yoga a Good workout - How To Discuss

كيف يمكنني إعطاء الأولوية لهذا العنصر رقم 1، بحيث إذا كانت صفحتي تحتوي على وسمني og:image، فإنه يختار ويستخدم فقط وسم og:image المخصص الخاص بي؟

من خلال إعدادها بهذه الطريقة:

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

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

لقد قمت بتحديث ردي أعلاه لمقارنة خدمات CDN الخاصة بـ Discourse، يرجى الاطلاع عليه.

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

لا يملك صلاحية إدارة وتحسين تلك الملفات.

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

شكرًا لك، لقد فتحت موضوعًا مدفوعًا لنفس الميزة في النواة أو عبر إضافة:

تم إغلاق هذا الموضوع تلقائيًا بعد 5 ساعات. لم يعد مسموحًا بإضافة ردود جديدة.