خیلی وقتها وقتی صحبت از افزایش سرعت سایت میشود، کش و CDN با هم و به جای هم استفاده میشوند، انگار دو اسم برای یک تکنولوژی اند. این طور نیست. کش سایت و CDN دو ابزار متفاوت اند که مشکلهای متفاوتی را حل میکنند، و بیشترین سود وقتی به دست میآید که هر دو، هرکدام برای کاری که برایش ساخته شدهاند، به کار گرفته شوند. در این مطلب تفاوت واقعی این دو را ساده توضیح میدهیم و میبینیم برای چه سایتی کدام یک اثر بیشتری دارد.
کش سایت چیست و چه مشکلی را حل میکند
وقتی یک بازدیدکننده صفحهای از سایت وردپرسی را باز میکند، به طور معمول سرور باید دیتابیس را بخواند، قالب و افزونهها را اجرا کند و در نهایت HTML صفحه را از نو بسازد. این فرآیند زمان میبرد، مخصوصا وقتی سایت افزونه زیاد دارد یا ترافیک بالا میرود.
کش سایت (کش سمت سرور) این فرآیند تکراری را حذف میکند. به جای تولید دوباره صفحه در هر بازدید، یک نسخه از قبل آماده شده را مستقیم تحویل میدهد. نتیجه این است که سرعت پاسخ سرور یعنی TTL پاسخ اولیه (TTFB) پایین میآید، و این افت مستقل از این است که بازدیدکننده از کجای دنیا به سایت وصل شده. چه کاربر از همان شهر سرور باشد چه از آن طرف دنیا، کش سایت زمان لازم برای «ساختن» صفحه را کم میکند، نه زمان لازم برای «رسیدن» آن.
به همین دلیل است که در Core Web Vitals، وقتی معیار LCP (بزرگترین المان قابل مشاهده صفحه) هدفش رسیدن به زیر ۲.۵ ثانیه است، یکی از عاملهای اصلی خرابی آن سرور کند است؛ و کش سایت مستقیم روی همین نقطه اثر میگذارد.
CDN چیست و چه مشکلی را حل میکند
CDN یا شبکه توزیع محتوا، مشکل کاملا متفاوتی را حل میکند: فاصله جغرافیایی. فرض کنید سرور اصلی سایت در ایران است و یک بازدیدکننده از اروپا یا آمریکا به سایت وصل میشود. حتی اگر سرور فوق العاده سریع باشد و صفحه از کش تحویل شود، داده هنوز باید مسافت فیزیکی زیادی را طی کند تا به مرورگر آن کاربر برسد، و این مسیر خودش زمان میبرد.
CDN این مشکل را با نگه داشتن نسخهای از فایلهای استاتیک سایت (تصاویر، فایلهای CSS و جاوااسکریپت، و گاهی حتی نسخه کش شده HTML) در سرورهای پراکنده در نقاط مختلف دنیا حل میکند. وقتی کاربری از یک کشور دور به سایت سر میزند، این فایلها را از نزدیکترین نقطه جغرافیایی به خودش دریافت میکند، نه از سرور اصلی. نتیجه این است که بیشترین تاثیر CDN را دقیقا همان بازدیدکنندهای میبیند که از کشورهای دور از محل سرور اصلی به سایت وصل میشود.
تفاوت کش سایت و CDN در یک نگاه
برای اینکه تفاوت این دو کاملا روشن شود، بهتر است هرکدام را از نظر چیزی که ذخیره و تحویل میدهند و مشکلی که حل میکنند کنار هم ببینیم.
- کش سایت — چه چیزی را ذخیره میکند: نسخه آماده صفحه (HTML تولید شده از دیتابیس و PHP). چه مشکلی را حل میکند: کند بودن سرور در ساخت صفحه. اثرش مستقل از موقعیت جغرافیایی بازدیدکننده است.
- CDN — چه چیزی را ذخیره میکند: فایلهای استاتیک (تصویر، CSS، جاوااسکریپت، گاهی HTML کش شده). چه مشکلی را حل میکند: فاصله جغرافیایی تا سرور اصلی. اثرش برای بازدیدکننده دورتر از سرور بیشتر است.
خط جمع بندی همین است: این دو مکمل هم اند، نه رقیب هم. کش سایت مشکل «سرور کند در تولید صفحه» را حل میکند. CDN مشکل «فاصله جغرافیایی تا سرور» را حل میکند. این دو مشکل با هم فرق دارند، پس راه حلشان هم یکی نیست.
کدام یک برای سایت شما اثر بیشتری دارد
جواب این سوال به این بستگی دارد که بازدیدکنندههای سایت شما عمدتا از کجا میآیند.
- اگر اکثریت بازدیدکنندههای سایت داخل ایران هستند و هاست هم ایران است، فاصله جغرافیایی بین کاربر و سرور از ابتدا کوتاه است؛ در این حالت کش سایت سود بیشتری میرساند، چون گلوگاه اصلی سرعت پاسخ سرور است، نه مسافت.
- اگر سایت مخاطب بینالمللی و پراکنده در چند کشور دارد، همان مزیت کش سایت هنوز برقرار است، اما کنار آن CDN هم فایده واقعی میرساند، چون فاصله جغرافیایی دیگر قابل نادیده گرفتن نیست.
یک نکته عملی برای سایتهایی که مخاطبشان بیشتر داخل ایران است: برای بازدیدکننده داخل ایران، هاست ایران معمولا از CDN بینالمللی مهمتر است. وقتی سرور همان جایی است که اکثر کاربران هم هستند، بخش زیادی از مزیتی که CDN قرار است بدهد، از قبل با انتخاب هاست درست به دست آمده.
چطور این دو با هم کار میکنند
در عمل بهترین حالت این نیست که بین کش و CDN یکی را انتخاب کنید؛ بهترین حالت استفاده هم زمان از هر دو، هرکدام برای نقشی که دارد، است. کش سایت مسئول این است که وقتی درخواستی به سرور میرسد، سریعترین پاسخ ممکن آماده شود. CDN مسئول این است که فایلهای سنگین (مخصوصا تصاویر که معمولا بیشترین حجم صفحه را تشکیل میدهند) از نزدیکترین نقطه به کاربر تحویل داده شوند، بدون اینکه هر بار مسیر کامل تا سرور اصلی طی شود.
وقتی هر دو درست تنظیم شده باشند، مسیر یک بازدید معمولی این طور است: درخواست به سرور میرسد، کش سایت صفحه آماده را بدون ساخت دوباره تحویل میدهد، و در همان زمان تصاویر و فایلهای استاتیک از نزدیکترین نقطه CDN بارگذاری میشوند. نتیجه سرعتی است که نه فقط سرور را سبک میکند، نه فقط مسافت را کوتاه میکند، بلکه هر دو گلوگاه را همزمان برطرف میکند.
در سایت ما، همین دیدگاه پایه بخش سرور و کش در خدمات سئمرس است: «سرور و کش — پیکربندی وب سرور، نسخه PHP، کش سمت سرور و در صورت نیاز مهاجرت به زیرساخت هاست قویتر.» یعنی قبل از هر تصمیم درباره CDN، وضعیت خود سرور و کش بررسی و درست میشود، چون این پایه هر بهینه سازی دیگری است.
چه کاری نمیکنیم
صادقانه بگوییم این دو تکنولوژی چه چیزی را حل نمیکنند. CDN دیتابیس کند یا کد PHP سنگین را سریع نمیکند؛ اگر مشکل اصلی سایت در ساخت صفحه است، نه در فاصله جغرافیایی، اضافه کردن CDN تفاوت محسوسی ایجاد نمیکند. از طرف دیگر، کش سایت به تنهایی مشکل مخاطب بینالمللی پراکنده را حل نمیکند؛ حتی سریعترین کش هم نمیتواند مسافت فیزیکی بین سرور و یک کاربر در آن طرف دنیا را حذف کند. و هیچ کدام این دو، تصاویر بزرگ فشرده نشده یا کدهای اضافه و افزونههای سنگین را جادویی سبک نمیکنند؛ اینها باید جدا از کش و CDN اصلاح شوند.
برای اینکه بدانید سایت شما دقیقا کدام گلوگاه را دارد و کدام ترکیب برایش منطقی است، بهتر است یک بررسی واقعی روی خود سایت انجام شود؛ صفحه افزایش سرعت سایت همین بررسی و تنظیم را پوشش میدهد.
پرسشهای متداول
آیا نصب CDN جای کش سایت را میگیرد؟
نه. CDN فایلهای استاتیک را نزدیکتر به کاربر میبرد، اما مشکل سرعت ساخت صفحه در سرور همچنان باقی میماند مگر اینکه کش سایت هم فعال باشد. این دو مکمل هم اند، جایگزین هم نیستند.
برای سایتی که فقط مخاطب داخل ایران دارد، CDN لازم است؟
در این حالت اولویت اول کش سایت و هاست مناسب داخل ایران است، چون فاصله جغرافیایی از ابتدا کوتاه است. CDN میتواند فایده کوچکی برای بارگذاری فایلهای استاتیک داشته باشد، اما گلوگاه اصلی معمولا جای دیگری است.
چرا با اینکه کش فعال است، سایت هنوز برای کاربران خارج از ایران کند بارگذاری میشود؟
چون کش سایت مشکل ساخت صفحه را حل میکند، نه مسافت. اگر اکثریت بازدیدکنندهها بینالمللی و دور از سرور اصلی هستند، این نشانهای است که باید کنار کش، از CDN هم استفاده شود.
چطور بفهمیم مشکل سرعت سایت از سرور است یا از فاصله جغرافیایی؟
سادهترین راه، بررسی سرعت سایت از چند موقعیت جغرافیایی مختلف و مقایسه زمان پاسخ سرور (TTFB) با زمان کامل بارگذاری است. اگر شک دارید کدام بخش گلوگاه است، بهتر است این بررسی را با یک ارزیابی فنی واقعی روی سایت خودتان انجام دهید.

دیدگاهها و پرسشها
هنوز دیدگاهی ثبت نشده است. اگر سؤالی دارید، خوشحال میشویم بپرسید.
نوشتن دیدگاه