Discourse Open Graph

Netwrix 赞助

:information_source: 摘要 以编程方式更新您的 Open Graph 数据并增强您的 SEO
:hammer_and_wrench: 存储库链接 GitHub - discourse/discourse-open-graph
:open_book: 安装指南 如何在 Discourse 中安装插件

功能

此插件允许您覆盖 Open Graph、Twitter、标题和描述标签。

配置

此插件仅包含一个设置:Open graph overrides,它会打开此模态框:

您有一个 URL 属性,它将匹配并用于覆盖您的 meta 标签 – 这将是您的 ID。

Title - 将覆盖 titleog:titletwitter:title 标签。如果为空,将默认为原始值。

Description - 将覆盖 descriptionog:descriptiontwitter:description 标签。如果为空,将默认为原始值。

设置

包含设置及其描述的表格

名称 描述
discourse_open_graph_enabled 启用 Open Graph 插件
open_graph_overrides 覆盖编辑器
8 个赞

我真的很兴奋它的存在。但我刚才的想法是:这适用于主题吗?

我猜不行,因为那样的话,人们可能不得不为每个主题手动输入开放图谱信息。

然后我想到:如果主题描述是由 Discourse AI 自动生成的,用于总结主题呢?

也许可以使用 Discourse AI Topic Summary 🤖

标题可以相同,描述为 AI 摘要。而且,如果人们想编辑,也许可以进行调整,类似于 WordPress 中的 Yoast。

对此有什么看法?

1 个赞

我认为它有效!但有必要为每个主题添加一个覆盖。

也许这可以成为 AI 主题摘要的一个功能——如果主题本身包含 AI 摘要,它就可以覆盖元数据内容。

一些伪代码,受 Open Graph 插件中此代码片段的启发

  register_modifier(:meta_data_content) do |content, property, opts|
    next content if property == :url # 我们不想覆盖 url
    url = opts[:url]
    override = Topic.find_by_url(url)[:ai_meta_data_override]
    if override
      content = override[property] if override[property] # 它可以是 :title 或 :description
    end
    content
  end
2 个赞

这里不需要内置任何人工智能——动态 OG 图片所需的一切就是能够将参数从主题传递到 URL,例如 ?title=Hello+World&date=2025-04-27

这可以是一个模板系统,如 {{topic.author.username}} 或您认为在此处有意义的任何内容

这将允许用户接入任何现有的 OG 图片生成服务,或连接到他们自己的服务,或连接到 Discourse 的未来产品,如果您想要一流的支持

1 个赞

作为 Discourse 的新手,这难道不能在 Discourse 设置中完成吗?

2 个赞

使用这种精度(正则表达式)不行。

最终,我们可以动态添加图片。

2 个赞

好的,您介意举一个您想覆盖设置的用例吗?例如,当您从论坛分享链接时,它看起来会不同,还是主要出于 SEO 方面的考虑?

2 个赞

当然!一个很好的例子是分类列表页面:

我们可以覆盖标题和描述,使其更具描述性。

或者,对于您希望在社交媒体上分享时具有不同文本的非常具体的主题:

我们可以将其更改为仅标题和某种简短描述。

2 个赞

这太酷了。我知道有些公司会为 Open Graph 添加一些令人印象深刻的动态图片,使其更具吸引力。我希望此功能能够添加到 Discourse 核心或作为标准插件。做得好!

2 个赞

是的,我很想将其插入我使用的 placid.app 服务中,并让它返回将要使用的图片。

也许我空闲时会尝试一下。

2 个赞