你好
我最近迁移了一个 Discourse 论坛。美观的“链接预览”功能在我尝试过的所有网站上都能正常生成,但有一个网站除外(对我们来说非常重要):
由于它在 Meta 上也似乎无法正常工作,我想知道这是否是 Discourse 的一个 bug,还是该网站本身存在一些特殊问题导致了困难?有什么线索可以解释这种情况吗?
该网站并非私有,也不需要登录。我也运营该网站,因此如果那边需要进行任何操作,我也可以尝试处理。
谢谢。
你好
我最近迁移了一个 Discourse 论坛。美观的“链接预览”功能在我尝试过的所有网站上都能正常生成,但有一个网站除外(对我们来说非常重要):
由于它在 Meta 上也似乎无法正常工作,我想知道这是否是 Discourse 的一个 bug,还是该网站本身存在一些特殊问题导致了困难?有什么线索可以解释这种情况吗?
该网站并非私有,也不需要登录。我也运营该网站,因此如果那边需要进行任何操作,我也可以尝试处理。
谢谢。
Discourse 的 onebox gem 要求网站正确定义 Open Graph 标签。您帖子中的网站 没有任何 Open Graph 标签。
因此,我们对此无能为力。该网站需要添加必要的 OG 标签,以便在 Discourse 中实现 onebox 功能。
太好了,这正是我需要的信息,我会看看能否添加这些标签。谢谢。
所以我添加了标签:在 iframeley 上检查我的网站
我可以在 WhatsApp 上显示一个 Onebox:
但在 Discourse 上却无法显示:
我想知道这是否可能是缓存问题,但看起来并不像。我在不同的 Discourse 站点上进行了测试,并尝试了不同的 URL 变体……
Discourse 是否还需要其他我遗漏的标签?在另一个帖子中我读到,title 和 description 是仅有的必需标签,而我已经包含了这两个……
感谢您的帮助。
onebox 会访问目标页面并检查是否存在 Open Graph 或 oEmbed 标签,包括:
请注意,Discourse 要求 必须包含描述标签,且其中需包含足以概括页面内容的文本,否则目标链接将无法生成 onebox。
另一份详细的说明可参考:https://meta.discourse.org/t/rich-link-previews-with-onebox/98088。
出于安全考虑,默认情况下 <iframe> 会被阻止。但如果来源高度可信,Discourse 管理员可以在站点设置中明确将该域名列为 <iframe> 目标以进行白名单放行。
好的,谢谢。我已经有了标题和描述。也许是缺少 og:image 属性导致 Discourse 不喜欢我的网站,尽管我没在任何地方读到这个属性是必需的。
我得尝试加上这个属性,但在用 Hugo 实现时遇到了一些技术困难。等我解决这个问题后会回来汇报。谢谢
这确实有些棘手。现在我的 meta 中已经包含了 og:image,通过 iframeley 检查后一切似乎正常。但 Discourse 仍然无法生成 onebox……![]()
可能还缺少什么呢?
仅有图片是不够的。还需要文字描述。
我可能漏掉了什么显而易见的东西,但我的 og:description 元标签有什么问题或缺失吗?
什么都没有,但从 Discourse 的角度来看,描述必须存在,且必须达到最小字符数要求。
您可以查看这两个链接。第一个链接的第一篇帖子末尾有一小段关于高级 iFrames 的内容,而在所发布图片的正下方也提到了高级 iFrames。
第二个主题(Onebox 挑战)的末尾有一些有趣的尝试内容……一个curl命令,帖子中提供了要使用的代码(只需将您的 URL 替换为示例中的 URL 即可)。
Creating rich link previews with Onebox
Onebox challenges - #9 by Stephen