In this tutorial, you will learn what Dynamic metadata is and how to create it.
What is Dynamic metadata?
Dynamic metadata is generated dynamically based on dynamic routes. This is used for SEO, especially for blog posts, product pages, or user profiles.
Why use Dynamic Metadata?
There are below points show why to use Dynamic Metadata.
1. It is good for SEO ranking.
2. The title & description are dynamic because they change per dynamic page.
3. It is better social sharing (Open Graph tags).
4. Makes pages unique for search engines.
How To Generate Dynamic Metadata?
Step 1: Create a Dynamic page folder structure.
app/blog/[slug]/page.js
Step 2: Create code in it.
export async function generateMetadata({ params }) {
const { slug } = params;
return {
title: `Blog: ${slug}`,
description: `Read article about ${slug}.`,
};
}
export default function Page({ params }) {
return <h1>{params.slug}</h1>;
}
Fetching from API
export async function generateMetadata({ params }) {
const data = await fetch(`https://api.example.com/blog/${params.slug}`).then(
res => res.json()
);
return {
title: data.title,
description: data.excerpt
};
}
Dynamic metadata in Next.js – Interview Questions
Q 1: What is dynamic metadata?
Ans: Metadata generated dynamically based on route data.
Q 2: How is metadata defined?
Ans: Using generateMetadata().
Q 3: Is dynamic metadata SEO-friendly?
Ans: Yes.
Q 4: Can metadata use fetched data?
Ans: Yes.
Q 5: Is metadata generated on server?
Ans: Yes.
Dynamic metadata in Next.js – Objective Questions (MCQs)
Q1. Dynamic metadata is used to:
Q2. Which function generates dynamic metadata?
Q3. generateMetadata() runs on:
Q4. Dynamic metadata can use:
Q5. Metadata in Next.js includes: