پرش به محتوا
هاست سی‌پنل

CDN برای سایت؛ آیا جای هاست قوی را می‌گیرد؟

۹ دقیقه مطالعه

توزیع محتوا می‌تواند مفید باشد، اما همه درخواست‌ها را از مبدأ بی‌نیاز نمی‌کند. این راهنما محدودیت‌ها و آزمون‌های ضروری برای سایت فروشگاهی را توضیح می‌دهد.

کاربر فایل‌های ثابت را از لبه نزدیک CDN می‌گیرد و صفحه‌های پویا همچنان از سرور مبدأ پاسخ داده می‌شوند.

CDN برای سایت فعال کرده‌اید و انتظار دارید هم سرعت بهتر شود و هم قطعی تمام شود. اما هنوز بعضی صفحه‌ها کندند و هنگام از کار افتادن مبدأ، خرید انجام نمی‌شود. این نتیجه لزوماً به معنی بی‌فایده بودن سرویس نیست؛ شاید انتظاری فراتر از کاری که تنظیم شده داشته‌اید.

شبکه توزیع محتوا می‌تواند بخشی از پاسخ‌ها را نزدیک‌تر به کاربر ارائه کند، اما جای تمام اجزای سایت را نمی‌گیرد. باید معلوم باشد چه چیزی کش می‌شود، چه چیزی به سرور اصلی می‌رود و اطلاعات شخصی چگونه حفاظت می‌شوند.

کدام درخواست‌ها از کش پاسخ می‌گیرند؟

کش، نسخه‌ای آماده برای استفاده دوباره است. تصاویر و فایل‌های ثابت معمولاً نامزدهای مناسبی هستند، اما رفتار پیش‌فرض سرویس‌ها یکسان نیست. برای نمونه، نباید فرض کنید هر صفحه HTML یا پاسخ شخصی خودکار ذخیره می‌شود.

قواعد کش، سرآیندهای پاسخ و ویژگی درخواست می‌توانند در نتیجه اثر داشته باشند. از مسئول فنی بخواهید چند مسیر واقعی را بررسی کند و نشان دهد پاسخ از کش آمده یا از مبدأ. فعال بودن نام سرویس در DNS، به‌تنهایی میزان استفاده از کش را نشان نمی‌دهد.

بخش سایتنکته مهم
تصویر و فایل ثابتنسخه و زمان به‌روز شدن باید درست باشد
مقاله عمومیامکان کش به تنظیمات و رفتار صفحه بستگی دارد
سبد خریدنباید محتوای شخصی به کاربر دیگر برسد
حساب کاربرینیازمند قواعد دقیق و معمولاً عبور مناسب از کش است
ثبت سفارشبه پردازش و ذخیره اطلاعات معتبر وابسته است
تصویرها، مقاله‌ها و صفحه محصول در کش CDN نگهداری می‌شوند، ولی سبد خرید و اطلاعات شخصی کاربر قفل است و همیشه از سرور اصلی پاسخ می‌گیرد.
محتوای عمومی از اطلاعات شخصی سبد خرید جدا نگهداری می‌شود.

چرا با CDN هنوز سرور قوی لازم داریم؟

درخواست‌های عبوری یا کش‌نشده همچنان به مبدأ می‌رسند. همچنین اولین درخواست پس از انقضا یا پاک شدن کش ممکن است نیاز به دریافت از مبدأ داشته باشد. اگر برنامه آنجا کند باشد، بخشی از کاربران همچنان منتظر می‌مانند.

CDN می‌تواند بار بعضی فایل‌ها را کاهش دهد، اما برای هر نوع عملیات ظرفیت نامحدود ایجاد نمی‌کند. فروشگاهی با جست‌وجو و کاربران واردشده باید مصرف همان مسیرها را بسنجد. نتیجه خوب صفحه عمومی را به تمام سایت تعمیم ندهید.

هنگام قطع مبدأ چه چیزی باقی می‌ماند؟

ممکن است برخی محتوای ذخیره‌شده طبق امکانات و تنظیمات سرویس همچنان قابل ارائه باشد. اما داده‌ای که در کش نیست یا عملیاتی که به پایگاه داده نیاز دارد، وضعیت دیگری دارد. قابلیت ارائه نسخه قدیمی نیز شرایط خودش را دارد و باید آزموده شود.

اگر پرداخت و ثبت سفارش به مبدأ وابسته است، نمایش صفحه محصول به معنی ادامه کامل فروش نیست. برای تداوم کسب‌وکار، سناریوی خرابی را دقیق تعریف کنید. عبارت «سایت همیشه آنلاین» باید مشخص کند کدام عملیات واقعاً انجام می‌شود.

خطر کش کردن اطلاعات شخصی چیست؟

اگر قواعد اشتباه باشند، امکان ارائه پاسخ نامناسب به کاربر وجود دارد. سبد خرید، حساب و صفحات مبتنی بر نشست باید با دقت مدیریت شوند. استفاده از یک قانون عمومی برای کش کردن همه مسیرها بدون شناخت برنامه، اقدام مناسبی نیست.

در ووکامرس، راهنمای رسمی بر کنار گذاشتن صفحات حساس از کش صفحه تأکید دارد. پیاده‌سازی را با سرویس و افزونه خودتان تطبیق دهید. پس از تغییر، با دو حساب آزمایشی جدا بررسی کنید که اطلاعات و وضعیت خرید مستقل مانده باشد.

نکته: CDN برای سایت فروشگاهی باید هم از نظر سرعت و هم از نظر درستی محتوای هر کاربر آزمایش شود. سریع بودن پاسخ اشتباه، بهبود محسوب نمی‌شود.

چرا تغییرات سایت دیده نمی‌شوند؟

ممکن است نسخه قدیمی در مرورگر، افزونه کش، وب‌سرور یا CDN باقی مانده باشد. پاک کردن یک لایه همه لایه‌ها را کنترل نمی‌کند. ابتدا معلوم کنید پاسخ قدیمی از کدام محل می‌آید و سپس همان بخش را با روش مناسب به‌روز کنید.

برای فایل‌های ثابت، مدیریت نسخه می‌تواند به دریافت فایل جدید کمک کند. برای محتوا، سیاست پاک‌سازی متناسب لازم است. پاک کردن دائمی تمام کش هم می‌تواند مزیت آن را کم کند و بار مبدأ را بالا ببرد.

پیش از فعال‌سازی چه آزمونی انجام دهیم؟

  1. مسیرهای عمومی و شخصی را فهرست کنید.
  2. قواعد کش و عبور از کش را مشخص کنید.
  3. HTTPS تا مبدأ را درست تنظیم کنید.
  4. ورود، خروج، سبد و خرید را با حساب آزمایشی کنترل کنید.
  5. تغییر محتوا و پاک‌سازی را آزمایش کنید.
  6. رفتار اختلال مبدأ را در محیط مجاز و کنترل‌شده بررسی کنید.
قیمت محصول در پنل تغییر می‌کند، کش CDN با زمان نگهداری مشخص پاک‌سازی می‌شود و در مرورگر بررسی می‌شود که قیمت تازه دیده شده است.
قواعد کش و به‌روز شدن محصول آزمایش می‌شوند.

یک مثال عملی برای تصمیم‌گیری

یک فروشگاه فرضی تصاویر را سریع ارائه می‌کند، اما مشتریان واردشده هنوز در جست‌وجو و خرید معطل می‌شوند. در این مثال، مسئله‌ای که باید حل شود این است: تفاوت عملکرد محتوای عمومی کش‌شده و عملیات پویا قرار نیست از روی یک نشانه، نتیجه قطعی بگیریم. بهتر است ابتدا معلوم کنیم چه چیزی قابل مشاهده است و چه چیزی فقط حدس ماست. این تفکیک جلوی خرید عجولانه یا تغییر تنظیماتی را می‌گیرد که به مشکل ارتباطی ندارند.

اولین مدرک مفید در این سناریو، وضعیت کش پاسخ‌ها و زمان پاسخ مبدأ برای جست‌وجو و خرید است. اگر این اطلاعات در دسترس نیست، قدم بعدی تهیه همان مدرک است؛ نه انتخاب گران‌ترین گزینه. گاهی یک گزارش کوتاه نشان می‌دهد مسئله در کدام بخش قرار دارد و گاهی لازم است بررسی دقیق‌تری انجام شود. در هر دو حالت، ثبت وضعیت اولیه کمک می‌کند نتیجه اقدام را با چیزی واقعی مقایسه کنید.

اقدام پیشنهادی نخست این است: مسیرهای کند را جدا از تصاویر بررسی کنید و قواعد صفحات شخصی را کنترل کنید. این اقدام باید با وضعیت سرویس و اختیار شما سازگار باشد. اگر دسترسی لازم را ندارید، از فرد مسئول بخواهید نتیجه را همراه با توضیح کوتاه ارائه کند. نیازی نیست صاحب کسب‌وکار همه جزئیات فنی را خودش اجرا کند؛ اما باید بداند چه کاری انجام شده و قرار است چه اثری داشته باشد.

اشتباه وسوسه‌کننده در این مثال، کش کردن همه صفحات با یک قانون عمومی برای بهتر شدن امتیاز سرعت است. ممکن است چنین کاری ظاهراً سریع‌تر باشد، اما اگر علت را برطرف نکند، هزینه یا ابهام تازه‌ای به وجود می‌آورد. راه بهتر این است که برای هر تغییر، یک دلیل مشخص داشته باشید و پس از آن همان نشانه اولیه را دوباره بررسی کنید. هم‌زمان عوض کردن چند عامل، تشخیص اثر هرکدام را دشوار می‌کند.

پیش از اقدام، معیار نتیجه را مشخص کنید

برای موضوع CDN برای سایت، نتیجه مورد انتظار در این سناریو چنین است: کاهش بار محتوای مناسب کش همراه با صحت اطلاعات کاربر و عملکرد پایدار خرید. این جمله را در درخواست خود بنویسید تا معیار تحویل برای دو طرف یکسان باشد. عبارت‌هایی مثل «بررسی شد» یا «انجام شد» به‌تنهایی نشان نمی‌دهند نیاز شما برطرف شده است. باید نتیجه‌ای وجود داشته باشد که بتوان آن را مشاهده یا تأیید کرد.

مسئول مناسب پیگیری، توسعه‌دهنده فروشگاه همراه مدیر سرویس توزیع محتوا است. اگر افراد مختلفی درگیرند، یک نفر هماهنگی را بر عهده بگیرد و پاسخ‌ها را کنار هم قرار دهد. مسئول مالی، طراح و پشتیبانی ممکن است هرکدام بخشی از اطلاعات را داشته باشند؛ تصمیم خوب از ترکیب این اطلاعات به دست می‌آید. نبودن مسئول مشخص، حتی یک کار ساده را طولانی می‌کند.

این پرسش را مطرح کنید: «کدام پاسخ از کش می‌آید و کدام عملیات هنوز به مبدأ وابسته است؟» پاسخ خوب باید محدودیت‌ها و اقدام بعدی را روشن کند. اگر جواب فقط یک عبارت تبلیغاتی یا توصیه کلی بود، جزئیات مربوط به وضعیت خودتان را بخواهید. هدف گرفتن قول ناممکن نیست؛ باید بتوانید بفهمید چه چیزی در تعهد ارائه‌دهنده است و کدام بخش به تنظیمات یا تصمیم شما وابسته است.

چک‌لیست پیگیری و تحویل

  1. شرح کوتاهی از نیاز و شرایط فعلی بنویسید؛ نام سرویس، دامنه مرتبط و زمان مشاهده مسئله را در صورت نیاز ثبت کنید.
  2. مدرک مربوط را جمع کنید و اطلاعات محرمانه مثل رمز، کلید یا داده مشتری را از نسخه ارسالی عمومی حذف کنید.
  3. اقدام پیشنهادی را به یک نتیجه قابل بررسی وصل کنید و مشخص کنید چه کسی آن را انجام می‌دهد.
  4. اگر تغییر بر سرویس فعال اثر دارد، زمان انجام و روش حفظ وضعیت قبلی را پیشاپیش هماهنگ کنید.
  5. پس از اقدام، بررسی اصلی را انجام دهید: دو حساب آزمایشی اطلاعات مستقل ببینند و به‌روزرسانی محصول در زمان مناسب نمایش داده شود.
  6. نتیجه و موارد باقی‌مانده را ثبت کنید؛ پایان یک درخواست پشتیبانی لزوماً به معنی پایان همه بررسی‌های لازم نیست.

در مورد برگشت از تغییر، قواعد و تنظیمات قبلی ثبت شوند؛ غیرفعال کردن واسط هم باید با وضعیت DNS و گواهی مبدأ هماهنگ باشد. پیش از اقدام درباره همین موضوع توافق کنید. داشتن راه بازگشت فقط به معنی نگه داشتن یک تصویر از پنل نیست؛ لازم است مشخص باشد چه اطلاعات یا اختیاراتی برای برگشت لازم است. اگر اقدام برگشت‌پذیر نیست، تصمیم باید با آگاهی از همین محدودیت گرفته شود.

اگر هدف اصلی مقاومت در برابر حمله است، امکانات امنیتی، محدودیت بسته و نحوه حفاظت مبدأ را جدا بررسی کنید. توزیع محتوا و کنترل حمله یک قابلیت واحد نیستند. همچنین در دسترس بودن مستقیم مبدأ می‌تواند بر طراحی حفاظت اثر بگذارد؛ این بخش نیازمند پیکربندی درست است.

پاک‌سازی کش را با انتشار محتوا هماهنگ کنید

وقتی قیمت یا موجودی تغییر می‌کند، باید بدانید کدام لایه نسخه قبلی را نگه می‌دارد. روش انتشار محتوا را با قواعد کش هماهنگ کنید تا مدیر مجبور نباشد هر بار تمام سرویس را پاک‌سازی کند. برای صفحات مهم، آزمون بعد از انتشار داشته باشید.

برای فایل‌های ثابت نیز نام‌گذاری نسخه‌دار یا روش مناسب به‌روزرسانی می‌تواند کمک کند. راه‌حل را با ساختار سایت انتخاب کنید. پاک‌سازی بی‌هدف همه کش ممکن است بار مبدأ را بالا ببرد و خودش در زمان شلوغی اثر نامطلوب داشته باشد.

برای مطالعه بیشتر

مطالب مرتبط را در راهنمای هاست سی‌پنل و صفحه سوالات متداول دنبال کنید.

مراجع فنی این مقاله: رفتار پیش‌فرض کش Cloudflare و تنظیم کش ووکامرس.

سوالات متداول

آیا CDN همه صفحات را کش می‌کند؟

نه الزاماً؛ رفتار به سرویس، قواعد و پاسخ برنامه وابسته است.

آیا با قطع هاست، خرید ادامه دارد؟

اگر خرید به مبدأ و پایگاه داده وابسته باشد، نمایش محتوای کش‌شده کافی نیست.

آیا سبد خرید را می‌توان مثل مقاله کش کرد؟

نباید بدون قواعد دقیق چنین کرد؛ محتوای شخصی باید درست جدا شود.

چرا تغییر محصول دیر دیده می‌شود؟

ممکن است نسخه قدیمی در یکی از لایه‌های کش مانده باشد. محل پاسخ را بررسی کنید.

آیا CDN برای سایت نیاز به آزمون امنیتی دارد؟

بله؛ صحت اطلاعات کاربران و تنظیمات مبدأ و HTTPS باید کنار سرعت بررسی شوند.


  • CDN
  • کش سایت
  • سرعت سایت
  • سرور اصلی
  • کش فروشگاه

مقاله‌های مرتبط

ادامه همین موضوع در وبلاگ.

همه مقاله‌ها
کمک فنی

برای اجرای این کار کمک می‌خواهید؟

تیم فنی Wbweb از طراحی سایت تا هاست و سرور کنار شماست؛ درخواستتان را ثبت کنید یا تیکت بزنید.