NextJS 13应用程序目录|生成的静态html中未包含Meta标记.爬网程序找不到opengraph



我面临着nextjs 13.2.4的元标签问题。我在https://beta.nextjs.org/docs/api-reference/metadata.无论我使用export const metadata = { ... }还是export async function generateMetadata,元标记都不会包含在静态html代码中。相反,它包含在self.__next_f.push(中,而opengraph爬网程序找不到它。我试着把export metadata语句放在布局.tsx、页面.tsx中,似乎什么都不起作用。

例如,facebook共享调试器不会显示opengraph预览。它显示的html如下所示:

<!DOCTYPE html>
<html id="__next_error__">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" nomodule=""></script>
</head>
...

og元数据标签在<script>(self.__next_f=self.__next_f||[]).push([0]) ...

有人有主意吗?

经过3天的故障排除,一切正常。。。问题是,我的layout.tsx使用了一个客户端组件,该组件使用了钩子useSearchParams。这个钩子显然完全破坏了静态呈现,所以元标签不是在index.html中静态生成的

只是卸下钩子useSearchParams就完成了的任务

相关内容

  • 没有找到相关文章

最新更新