Open MinJeung-Kim opened 1 year ago
// app/layout.tsx
export const metadata: Metadata = {
title: "멋진 제품 사이트",
description: "멋진 제품을 판매하고 있는 사이트입니다.",
icons: {
icon: "/favicon.ico",
},
};
// app/products/layout.tsx
export const metadata: Metadata = {
title: "멋진 제품 사이트 | 전체 제품 확인",
description: "멋진 제품을 확인해 보세요.",
};
type Props = {
params: {
slug: string;
};
};
export function generateMetadata({ params }: Props) {
return {
title: 제품의 이름 : ${params.slug}
,
};
}
export default function PantsPage({ params }: Props) { return
export function generateStaticParams() { const products = ["pants", "skirt"]; return products.map((product) => ({ slug: product, })); }
![image](https://github.com/MinJeung-Kim/NextJS-Study/assets/79193369/93e3a710-9eef-4b37-9fe2-349f3bff06b3)
🔎Optimizing Metadata
1. Static Metadata
{}
)형태로 작성.export const metadata: Metadata = { title: '...', description: '...', };
export default function Page() {}
3. JSON-LD
다양한 정보(사람묘사, 단체, 영화, 요리법 등)들을 json형태로 제공해주면 SEO 최적화를 해줌.
// Use TypeScript
import { Product, WithContext } from 'schema-dts';
const jsonLd: WithContext = {
'@context': 'https://schema.org',
'@type': 'Product',
name: 'Next.js Sticker',
image: 'https://nextjs.org/imgs/sticker.png',
description: 'Dynamic at the speed of static.',
};