foundation
Metadata
Генерируйте titles, descriptions, Open Graph data, canonical links и route-specific metadata безопасно.
Metadata API в App Router генерирует `<title>`, descriptions, Open Graph, Twitter cards, robots и canonical links из static exports или async `generateMetadata` на маршрут.
export async function generateMetadata({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug);
return { title: post.title, description: post.summary, alternates: { canonical: post.url } };
}
Dynamic metadata не должна утекать в HTML для неавторизованных viewers.
На интервью: static против dynamic metadata, canonical URL и отладка social preview.
Типовые ошибки: одинаковые title на маршрутах, нет OG images, client-only title для SEO-критичных страниц.
Компромисс: простота build-time против стоимости metadata на запрос.
Чеклист:
- Уникальные title и description на маршрут.
- Canonical для дублирующих путей.
- OG image со стабильным absolute URL.
- generateMetadata учитывает auth scope.