Tienes una propiedad URL, que coincidirá y se utilizará para anular tus etiquetas meta; este será tu ID.
Title (Título): Anulará las etiquetas title, og:title y twitter:title. Si está vacío, se utilizará el valor original por defecto.
Description (Descripción): Anulará las etiquetas description, og:description y twitter:description. Si está vacío, se utilizará el valor original por defecto.
Ajustes
Incluye una tabla de ajustes y descripciones de los ajustes.
El título podría ser el mismo y la descripción el resumen de la IA. Y tal vez se pueda ajustar si la gente quiere editarlo, similar a como se hace en WordPress con Yoast.
¡Creo que sí! Pero sería necesario agregar una anulación para cada tema.
Quizás esta podría ser una característica para Resumen de Temas de IA: podría anular el contenido de metadatos basándose en si tenían el resumen de IA en el tema mismo.
register_modifier(:meta_data_content) do |content, property, opts|
next content if property == :url # no queremos anular la url
url = opts[:url]
override = Topic.find_by_url(url)[:ai_meta_data_override]
if override
content = override[property] if override[property] # puede ser :title o :description
end
content
end
No es necesario incorporar IA aquí; todo lo que necesitas para imágenes OG dinámicas es poder pasar parámetros del tema a la URL, como ?title=Hola+Mundo&date=2025-04-27
Podría ser un sistema de plantillas como {{topic.author.username}} o lo que consideres apropiado aquí.
Eso permitirá al usuario conectarse a cualquier servicio existente que genere imágenes OG, o conectarse a uno propio, o a una oferta futura de Discourse si deseas soporte de primera clase.
Oh, está bien, ¿te importaría darme un caso de uso en el que te gustaría anular la configuración? ¿Es cuando compartes un enlace de tu foro, por ejemplo, un tema que se verá diferente o principalmente por motivos de SEO?
Eso es muy bueno. Sé que algunas empresas tienen imágenes dinámicas impresionantes añadidas a Open Graph para hacerlo más atractivo. Espero que esta función se añada al núcleo de Discourse o como un plugin estándar. ¡Gran trabajo!