Declaring head tags from layouts/pages.
01
01
Understand the problem
nextjsmetadataseogeneratemetadata
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Static + dynamic metadata
// static (layout.tsx)
export const metadata = {
title: { default: 'My Site', template: '%s | My Site' },
description: 'Welcome',
};
// dynamic (blog/[slug]/page.tsx) — fetch deduped with the page
export async function generateMetadata({ params }) {
const { slug } = await params;
const post = await getPost(slug);
return { title: post.title, openGraph: { images: [post.cover] } };
}05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.