如何在 Next js 14.2.4 中将动态 url 添加到规范标签

问题描述 投票:0回答:1

我正在尝试将动态 url 添加到我的下一个 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的动态页面在图片中

Folder structure

现在的问题是,我已经添加到静态页面了,但是到了动态页面怎么添加呢

因为我无法使用钩子来获取服务器渲染页面中的路径名。

我被困在这里了。有人可以帮我吗?

typescript next.js seo next.js14
1个回答
0
投票

您可以将其添加到动态页面的顶部:

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,
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.