¿Sobrescribir la fuente de la imagen meta og:image para usar imágenes cargadas públicamente desde el exterior en temas?

Básicamente, puedes ver mi problema y la discusión con el autor del plugin @merefield aquí:

Él me recomienda solicitar al equipo de Discourse que lo haga por nosotros.

Siempre uso imágenes de CDN externas en mi sitio; nunca las subo al almacenamiento local ni a un servicio de objetos porque eso es demasiado costoso, por lo que guardar imágenes localmente o en buckets S3 resulta caro.

En este momento, veo que mi etiqueta meta og:image no está capturando estas imágenes. Por ejemplo, mira este tema: How Many Carbs on Keto? - How To Discuss

La imagen en realidad se carga desde una URL pública externa como su SRC de IMG. El Open Graph para redes sociales siempre muestra el logotipo de mi sitio como imagen de respaldo, lo cual no es bueno.

Debido a este comportamiento central de Discourse, tampoco veo que las miniaturas sean detectadas por el plugin de vista previa de la lista de temas.

¿Cómo puedo sobrescribir la etiqueta meta og:image para forzar el uso de mi imagen subida externamente?

De esta forma, podré ver la IMAGEN REAL DEL TEMA en lugar del logotipo de mi foro cuando lo comparta en sitios de redes sociales: https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Fhowtodiscuss.com%2Ft%2Fis-yoga-a-good-workout%2F28043

Intenté forzar la adición de esta línea en mi página de tema:

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

Pero la etiqueta og:image, al ver el código fuente de la página, sigue usando el logotipo de mi sitio como respaldo; piensa que no hay ninguna imagen en este tema :frowning:

La primera imagen del primer post de cualquier tema debe ser capturada por mi etiqueta meta og:image, incluso si la imagen está alojada en una URL pública. En este momento, solo la detecta si la imagen se subió a mi propio servidor… pero muchos de nosotros no podemos costear el alojamiento de imágenes por nosotros mismos ya que es demasiado caro. La ayuda del equipo de Discourse para permitir este cambio sería muy útil.

@Bcat tiene el mismo problema en su foro.

2 Me gusta

El núcleo de Discourse solo admite el uso de ‘uploads’ como miniaturas de temas. Pueden ser locales o estar alojados en S3, pero deben estar subidos a Discourse. Puedes convertir automáticamente imágenes enlazadas externamente en uploads usando la configuración del sitio “descargar imágenes remotas a local”.

Lamentablemente, no tenemos planes de cambiar este comportamiento en Discourse.

3 Me gusta

Si están alojadas en S3, ¿cómo se suben a Discourse? S3 no está en Discourse; también es un servidor público para alojar imágenes. Cuando uso imágenes remotas de CDNs públicos gratuitos de terceros, estas también son accesibles para cualquiera, al igual que las de S3. Entonces, ¿por qué Discourse no permite ni admite el uso de URLs de imágenes públicas como miniaturas de temas?

Por ejemplo, esta URL: https://d11a6trkgmumsb.cloudfront.net/optimized/3X/7/1/71abcfa01874c32497d638b372f94c7b9fc021e4_2_1380x718.png
es la imagen que acabo de subir en meta discourse, y es una URL de alojamiento público de imágenes. Mis propias URLs de imágenes se ven así: https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500

Mis URLs también son imágenes alojadas públicamente, ¿por qué Discourse no está tomando las mías? Por favor, configúralo para que admita ambas, ya que tanto para un rastreador como para un rastreador de Open Graph, ambas fuentes de imágenes son URLs públicas.

Ya he activado esta configuración,

pero, ¿por qué mis imágenes enlazadas externamente no se están tomando como miniaturas de temas?

También he desactivado las subidas de jpg/jpeg en esta configuración de archivo,

lo cual he hecho para evitar que los usuarios suban imágenes directamente a mi servidor y así ahorrar espacio de almacenamiento.

Si mi foro llega a ser muy grande, me resultará muy difícil gestionar el almacenamiento para tantas imágenes.

¿Existe algún truco o método «hacky» para lograr lo que quiero? Solo quiero forzar la sobrescritura de la etiqueta meta og:image para usar mi imagen enlazada externamente en el tema. ¿Cómo puedo lograrlo simplemente? ¿Quizás algún código HTML que pueda poner en las páginas de los temas para forzar el uso de esta fuente de imagen enlazada externamente para og:image?

O ¿puedo agregar una línea de código en mi etiqueta del sitio para evitar lo predeterminado o simplemente eliminar esta línea meta og:image que recurre a la imagen del logotipo si Discourse no logra detectar la miniatura del tema?

Intenté agregar la siguiente línea en el editor de publicaciones de mi página de tema:

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

Pero por alguna razón, este código no se está renderizando cuando veo el código fuente de mi página de tema. ¿Por qué ocurre eso?

Esta es la página en la que intenté esto: Is yoga a Good workout - How To Discuss

¿Cómo puedo priorizar esto? Es decir, si mi página tiene 2 etiquetas meta og:image, ¿debería seleccionar y usar únicamente MI ETIQUETA META og:image PERSONALIZADA?

Configurándolo de esta manera:

Porque Discourse no tiene permiso para acceder al bucket de S3 y optimizar las imágenes para su visualización en el sitio. Además, Discourse no puede garantizar que el enlace funcione siempre; la persona que posee el bucket podría eliminar el archivo.

¿Te refieres a que mi instalación de Discourse no tiene permiso para acceder a los buckets de S3 de otros sitios de CDN gratuitos de terceros?
Si puedo acceder a una imagen desde un navegador, entonces Discourse también puede, y de hecho ya está optimizando las imágenes que comparto mediante enlaces directos. Así que creo que definitivamente necesitamos esta función.

He actualizado mi respuesta anterior sobre la comparación de CDNs para Discourse, por favor revisa.

¿Qué otra forma más económica me sugieres para alojar mis imágenes en masa? Porque tengo miedo de que si mi sitio llega a tener millones de temas, eso signifique miles de millones de imágenes, y las copias de seguridad de mi sitio Discourse comiencen a crecer cada vez más, volviéndose muy difíciles y costosas de gestionar, escalar y migrar. ¿Qué haría en ese caso?

No tiene permiso para gestionar ni optimizar esos archivos.

Si realmente necesitas esta función, la mejor opción sería publicar en Marketplace y buscar un desarrollador de plugins que pueda ayudarte a crear la función.

Gracias, he abierto un tema de PAGO para la misma función en el núcleo o mediante un plugin,

Este tema se cerró automáticamente después de 5 horas. Ya no se permiten nuevas respuestas.