0

我有一个 NextJS 应用程序,用户可以在其中共享指向 Reddit 的链接,并且 Reddit 中的链接预览应该根据共享链接显示不同的缩略图。它可以完美地共享到 Slack 或 FB,但无论共享的链接如何,它总是在 Reddit 上显示完全相同的图像。

正如您在下面看到的,它应该基于trade.id. 但是,在 Reddit 上,它始终只显示 trade.id == 2 的图像(这是我为测试而共享的第一个)。我试过使用不同的帐户,但仍然是同样的问题。

const TradePage: React.FC<Props> = ({ trade }) => {
return (
    <div>
        <Head>
            <meta
                property='og:url'
                content={`https://${URL}/trades/${trade.id}`}
            />
            <meta
                property='og:image'
                content={`https://${URL}/images/Thumbnail${trade.id}.png`}
            />
            <meta property='og:image:width' content='1200' />
            <meta property='og:image:height' content='901' />
            <meta
                property='og:title'
                content={`Verified ${trade.ticker} Trade`}
            />
            <meta
                property='og:image:alt'
                content={`Verified ${trade.ticker} Trade`}
            />
            <meta property='og:image:type' content='image/png' />
        </Head>
        <TradeComponent trade={trade} />
    </div>
);
4

1 回答 1

1

Reddit 会在第一次请求时缓存 OG 图片,其他一些服务(如 Twitter)也是如此。

Twitter 提供了一个 OG 测试工具来破坏缓存——Reddit 不提供这样的工具。

不幸的是,只要他们想要缓存它或直到他们发布工具,您的 OG 图像就会在 Reddit 上缓存。但是,这种情况已经有几年了,而且看起来他们的优先级并不高。


一种解决方法是更改​​页面的 URL。例如,添加尾部斜杠、查询参数或重命名路由。

于 2022-01-15T03:57:53.240 回答