1.SSR – Server-Side Rendering
در SSR، هر بار که کاربر صفحهای را درخواست میکند، سرور Next.js همان لحظه HTML را تولید و ارسال میکند.
مناسب برای :
- صفحات با دادههای پویا و لحظهای (مثلاً داشبورد یا قیمت محصولات زنده)
صفحاتی که SEO مهم است ولی محتوای آن مرتب تغییر میکند
مثال:
export async function getServerSideProps(context) {
const res = await fetch(`https://api.yoursite.com/posts/${context.params.slug}`);
const post = await res.json();
return { props: { post } };
}
هر درخواست یک بار پردازش سرور دارد، پس برای ترافیک خیلی بالا ممکن است سنگین شود.
2.SSG – Static Site Generation
در SSG، صفحات یکبار در زمان ساخت (build time) تولید میشوند و هر بار کاربران درخواست میدهند، همان HTML آماده را دریافت میکنند.
مناسب برای :
- محتوای ثابت یا به ندرت تغییرکننده
- SEO بسیار خوب بدون بار سرور زیاد
- سایتهایی که زمان پاسخ سریع برای کاربران اهمیت دارد
مثال:
export async function getStaticProps({ params }) {
const res = await fetch(`https://api.yoursite.com/posts/${params.slug}`);
const post = await res.json();
return { props: { post } };
}
export async function getStaticPaths() {
const res = await fetch("https://api.yoursite.com/posts");
const posts = await res.json();
const paths = posts.map(post => ({ params: { slug: post.slug } }));
return { paths, fallback: false };
}
نکته: سریع، بهینه و عالی برای SEO، اما اگر محتوا به روز شود باید کل سایت یا صفحات را دوباره بسازی.
3.ISR – Incremental Static Regeneration
ISR ترکیبی از SSG و SSR است: صفحات استاتیک ساخته میشوند ولی در پسزمینه به صورت خودکار بروزرسانی میشوند.
مناسب برای :
- بلاگهایی که محتوایشان هر چند ساعت یا روز تغییر میکند
- ترکیب سرعت SSG با دینامیک بودن دادهها
- صفحات محبوب و پر بازدید که نمیخواهی همیشه SSR باشند
مثال:
export async function getStaticProps({ params }) {
const res = await fetch(`https://api.yoursite.com/posts/${params.slug}`);
const post = await res.json();
return {
props: { post },
revalidate: 60
};
}
نکته: کاربران همیشه سریعترین نسخه را میبینند و سرور فقط در پسزمینه بروزرسانی میکند.
جمع بندی
- طلاعات لحظهای یا شخصیسازی شده؟ SSR
- صفحه ثابت و سریع؟ SSG
- میخواهید ترکیبی از سرعت و بروزرسانی خودکار داشته باشید؟ ISR
نکته سئو: صفحات ایستا (SSG و ISR) سرعت بالایی دارند و گوگل راحتتر آنها را ایندکس میکند. SSR هم مناسب است اما اگر سرور کند باشد، سرعت و رتبه سایت کاهش مییابد.
