<meta property="og:image" content="https://mywebsite.com/images/s1.jpg"
我使用了next/head,并添加了上述meta标签图像,但在分享链接时,图像未显示。如何修复?
对我来说,最终解决方法是:
在 _app.js 内部进行修改
import Head from "next/head"
然后在 return 语句中:
<Head>
<meta property="og:image" content="https://myurl.com/ogImage.png" />
</Head>
然后我进行了静态导出,并通过FTP上传了来自“out”文件夹的文件,因为我将项目托管在非Node服务器上。要做到这一点,请打开“package.json”并将“export”更改为“next build && next export”。然后只需在控制台中运行npm run export,文件将被导出为html文件。
因此,Next将注意:只有在构建时位于public目录中的资产才会被Next.js提供。运行时添加的文件将不可用。我们建议使用第三方服务,例如AWS S3进行持久文件存储。
<meta>
标签视为动态内容,并且不进行任何构建时转换,这导致图像无法使用。og:image
中,或者您可以添加自定义webpack加载程序来处理图像导入,像这样:import imageUrl from './logo.png';
import websiteUrl from './constants';
// somewhere in the head component
<meta property="og:image" content={`${websiteUrl}${imageUrl}`} />
websiteUrl
指向您的生产网站的主机名,例如https://example.com
。<img src="/logo.jpg" alt="" style={{ display: 'none'}} />
。这可以确保Next在构建时处理您的图像,并且您可以将<meta property="og:image" content={websiteUrl + '/logo.jpg'} />
添加到头部。好处是浏览器不会初始加载显示设置为none的图像。您可以在<head>
标签中使用此元标记
<meta property="og:image" content="https://mywebsite.com/images/s1.jpg"/>
<meta property="og:title" content="Your Title"/>
<meta property="og:description" content="A full description of the page."/>
<meta property="og:image:width" content="1200"/>
<meta property="og:image:height" content="630"/>
"/>"
。https://developers.facebook.com/tools/debug/
。使用元标签就像这个例子 https://www.opengraph.xyz/url/http%3A%2F%2Fgarimadisposal.in%2F/。 - Anoop Singh<head></head>
标签的源代码截图。 - Anoop Singhhttps://ogp.me/
的 OG 元标记。 - Anoop Singh
/>
来关闭 meta 属性。 - serraosays