کش نتیجه یک کار پرهزینه را برای استفاده دوباره نگه میدارد. در وردپرس، این نتیجه میتواند فایل داخل مرورگر، HTML کامل صفحه، پاسخ Query یا نسخهای از تصویر روی سرور نزدیک کاربر باشد. مشکل زمانی رخ میدهد که چند لایه بدون شناخت روی هم قرار میگیرند و صفحه خصوصی یا سبد خرید مثل محتوای عمومی ذخیره میشود.
چهار لایه رایج کش
- کش مرورگر: فایل CSS، JavaScript، فونت و تصویر را براساس Header نگه میدارد.
- Page Cache: HTML آماده صفحه عمومی را ذخیره میکند تا PHP و دیتابیس دوباره اجرا نشوند.
- Object Cache: نتیجه داده و Queryهای پرتکرار را در حافظه نگه میدارد.
- CDN: فایل یا صفحه قابل کش را از نقطه نزدیکتر به کاربر تحویل میدهد.
مرز محتوای عمومی و شخصی
مقاله و صفحه معرفی برای بیشتر کاربران یکسان است و گزینه مناسبی برای Page Cache محسوب میشود. حساب کاربری، Checkout، نتیجه پرداخت و صفحه دارای Nonce یا اطلاعات نقش کاربر نباید با نسخه عمومی اشتباه گرفته شود. Cookie ورود، سبد و زبان را در قواعد کش لحاظ کنید.
استثناها را پیش از فعالسازی بنویسید
- ورود، ثبتنام، بازیابی رمز و پنل کاربر؛
- سبد، پرداخت و رسید سفارش؛
- API یا درخواست AJAX دارای داده شخصی؛
- پیشنمایش و صفحه مدیریتی؛
- نشانیهایی که براساس Query String خروجی متفاوت دارند.
پاک شدن کش بخشی از طراحی است
بعد از ویرایش محصول، چه صفحههایی باید تازه شوند؟ فقط همان URL یا دستهبندی، صفحه اصلی و API هم وابستهاند؟ پاککردن کل کش بعد از هر تغییر ساده است اما در ترافیک بالا موج درخواست سنگین میسازد. Purge هدفمند را براساس وابستگی محتوا طراحی کنید.
آزمون از سه زاویه
- بهعنوان مهمان، Headerهای HIT و MISS و زمان پاسخ را مقایسه کنید.
- بهعنوان کاربر واردشده، حساب و اطلاعات شخصی را بررسی کنید.
- در پنجره جدا، دو سبد و دو نشست متفاوت بسازید تا نشت داده رخ ندهد.
پس از تغییر قیمت یا محتوا، سایت را از شبکه دیگر یا مرورگر بدون ورود ببینید. موفقیت در پنل مدیریت تضمین نمیکند لبه CDN نسخه تازه را نشان دهد.
اشتباههای پرتکرار
دو افزونه Page Cache همزمان، Minify تکراری، کش طولانی HTML پویا، نادیده گرفتن Object Cache خراب و پاککردن کش در هر درخواست از نمونههای رایجاند. هر لایه باید مالک و دلیل مشخص داشته باشد. اگر هاست صفحه را کش میکند، ممکن است افزونه دوم فقط پیچیدگی ایجاد کند.
کش خوب نامرئی است: محتوای عمومی را سریعتر میکند و هرگز باعث نمیشود کاربر داده قدیمی یا متعلق به شخص دیگر ببیند.



