
웹 서비스에서 SEO(Search Engine Optimization)는
검색 엔진 노출과 유입에 직접적인 영향을 준다.
Next.js(App Router 기준)는 Metadata API를 통해
SEO 설정을 매우 간단하고 강력하게 관리할 수 있다.
이 글에서는 다음 3가지를 핵심으로 정리한다:
대표적으로:
import type { Metadata } from 'next'
export const metadata: Metadata = {
title: 'My Page',
description: 'This is my page',
}
👉 layout.tsx 또는 page.tsx에서 선언 가능
export const metadata: Metadata = {
title: '페이지 제목',
description: '페이지 설명',
keywords: ['nextjs', 'seo'],
openGraph: {
title: 'OG 제목',
description: 'OG 설명',
images: ['/og-image.png'],
},
}
export const metadata = {
title: {
default: 'Panzy',
template: '%s | Panzy',
},
}
👉 페이지별 title 자동 구성 가능
👉 각각 다른 title/description 필요
import type { Metadata } from 'next'
export async function generateMetadata({ params }): Promise<Metadata> {
const data = await fetch(`https://api.example.com/${params.id}`).then(res => res.json())
return {
title: data.title,
description: data.description,
}
}
export async function generateMetadata({ params }) {
const accommodation = await getAccommodation(params.id)
return {
title: accommodation.name,
description: accommodation.description,
}
}
SNS 공유 최적화
openGraph: {
title: '제목',
description: '설명',
images: ['/image.png'],
}
❌ 나쁜 예
✅ 좋은 예
<Image src=\"/image.png\" alt=\"숙소 이미지\" />
👉 검색 엔진 크롤링 최적화
👉 SEO 랭킹에 직접 영향
Next.js에서는 Metadata API를 활용하면
SEO 설정을 매우 효율적으로 관리할 수 있다.
👉 핵심 요약
이 구조만 제대로 잡아도
검색 유입과 클릭률이 크게 개선된다.