我正在尝试将动态 url 添加到我的 Next.js 动态路由中。
我正在使用服务器呈现的页面来生成元数据:
export const metadata: Metadata = {
title: `InterviewQA | ItsIndianGuy`,
description:
"Explore interview questions in various programming languages such as JavaScript, Python, C++ and more. Enhance your preparation with comprehensive language-specific content.",
alternates: {
canonical: "https://itsindianguy.in/interview-qa",
},
};
我要添加seo的动态页面在图片中
现在的问题是,我已经添加到静态页面了,但是到了动态页面,怎么添加呢?
因为我无法使用钩子来获取服务器渲染页面中的路径名。
接下来我可以尝试什么?
您可以将其添加到动态页面的顶部:
import type { Metadata, ResolvingMetadata } from 'next'
type Props = {
params: { slug: string }
searchParams: { [key: string]: string | string[] | undefined }
}
export async function generateMetadata(
{ params, searchParams }: Props,
parent: ResolvingMetadata
): Promise<Metadata> {
// read route params
const slug = params.slug
// fetch data or use local json data
const product = await fetch(`https://.../${slug}`).then((res) => res.json())
return {
title: product.title,
}
}