错误的 og:image 出现在页面元数据中
Wrong og:image is appearing on page metadata
在我的 [id].tsx
页面中,我有以下元标记结构
<Head>
<meta property="og:title" content={'품고 - ' + archive.title} key="title" />
<meta property="og:type" content="article" key="type" />
{imageUrl && <meta property="og:image" content={imageUrl} key="image" />}
</Head>
但是在我的生产服务器中,当我使用 Facebook 调试器抓取一篇文章时,出现以下错误
但是当我在我的开发服务器中检查一篇文章时,即使代码与生产相同,也会显示正确的图像
我的 _app.tsx
文件中也确实有以下行,我认为它可能会导致错误,但我不确定
<link rel="canonical" href="https://poomgo.com/" />
真正奇怪的是,如果我在 kakao 上分享我的作品链接,缩略图显示正常,但在 Facebook 和 LinkedIn 上,缩略图显示不正确。
有谁知道为什么当应用的代码完全相同时,我的元标记在我的生产和开发服务器上被抓取的方式不同?
我的 imageUrl 是如何生成的
我使用 useSWR
从第三方 API (strapi) 获取 archive
数据
const { data: archive, error } = useSWR('/archives/' + router.query.id, (url) => {
return axios.get(url).then(res => res.data)
}, {
initialData: props.data
})
然后我从 archives
得到我的 images
如果 images
存在,我得到我的 imageUrl
const images = archive.images
let imageUrl = ''
if (images && images.length > 0) {
imageUrl = getCloundFrontUrl(images[0].url)
}
然后我使用 getCloundFrontUrl
函数将 url 替换为我的 cdn
export const getCloundFrontUrl = (url) => {
return url ? url.replace('poomgo-homepage.s3.ap-northeast-2.amazonaws.com', 'cdn-hp.poomgo.com') : ''
}
下面是我的数据的形状
我删除了
<link rel="canonical" href="https://poomgo.com/" />
来自我的 _app.tsx
,问题已解决。很确定上面的代码表示从生产中的每个页面重定向到我的主页,这导致了错误 og:image
在我的 [id].tsx
页面中,我有以下元标记结构
<Head>
<meta property="og:title" content={'품고 - ' + archive.title} key="title" />
<meta property="og:type" content="article" key="type" />
{imageUrl && <meta property="og:image" content={imageUrl} key="image" />}
</Head>
但是在我的生产服务器中,当我使用 Facebook 调试器抓取一篇文章时,出现以下错误
但是当我在我的开发服务器中检查一篇文章时,即使代码与生产相同,也会显示正确的图像
我的 _app.tsx
文件中也确实有以下行,我认为它可能会导致错误,但我不确定
<link rel="canonical" href="https://poomgo.com/" />
真正奇怪的是,如果我在 kakao 上分享我的作品链接,缩略图显示正常,但在 Facebook 和 LinkedIn 上,缩略图显示不正确。
有谁知道为什么当应用的代码完全相同时,我的元标记在我的生产和开发服务器上被抓取的方式不同?
我的 imageUrl 是如何生成的
我使用 useSWR
archive
数据
const { data: archive, error } = useSWR('/archives/' + router.query.id, (url) => {
return axios.get(url).then(res => res.data)
}, {
initialData: props.data
})
然后我从 archives
得到我的 images
如果 images
存在,我得到我的 imageUrl
const images = archive.images
let imageUrl = ''
if (images && images.length > 0) {
imageUrl = getCloundFrontUrl(images[0].url)
}
然后我使用 getCloundFrontUrl
函数将 url 替换为我的 cdn
export const getCloundFrontUrl = (url) => {
return url ? url.replace('poomgo-homepage.s3.ap-northeast-2.amazonaws.com', 'cdn-hp.poomgo.com') : ''
}
下面是我的数据的形状
我删除了
<link rel="canonical" href="https://poomgo.com/" />
来自我的 _app.tsx
,问题已解决。很确定上面的代码表示从生产中的每个页面重定向到我的主页,这导致了错误 og:image