در یکی از پروژه‌های فروشگاهی، مدیر سایت با اعتماد کامل گفت «کش را که نصب کردم، سایت سریع نشد؛ یعنی کش فایده ندارد». وقتی پرسیدم کدام افزونه، معلوم شد W3 Total Cache را با تنظیمات پیش‌فرض نصب کرده، روی هاستی که خودش کش سروری داشت. نتیجه: دو لایه کش روی هم که همدیگر را نقض می‌کردند. این سناریو را ده‌ها بار دیده‌ام. موضوع افزونهٔ کش، یک بحث «کدام قوی‌تر است» نیست؛ بحث «کدام برای بستر شما درست است» است. این مقاله همان چارچوب انتخاب است.

سه لایه کش که باید از هم جدا کنید

نیمی از سردرگمی‌ها در انتخاب افزونهٔ کش، از قاطی‌کردن سه لایهٔ متفاوت می‌آید:

  1. کش صفحه (Page Cache): نسخهٔ آمادهٔ HTML که به بازدیدکنندهٔ بعدی همان را تحویل می‌دهد. اثرش مستقیم روی TTFB.
  2. کش مرورگر (Browser Cache): فایل‌های CSS/JS/تصویر با تاریخ انقضا. اثرش روی بازدیدکنندهٔ برگشتی.
  3. کش آبجکت (Object Cache): نتایج کوئری‌های دیتابیس با Redis یا Memcached. اثرش روی پیشخوان و ووکامرس.

هر افزونهٔ کش، در یک یا دو لایه از این‌ها قوی است. تفکیک این سه را در بهینه‌سازی سرعت سایت چیست باز کرده‌ام؛ اینجا روی انتخاب افزونه تمرکز می‌کنیم.

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

گام صفر: هاست شما چه کشی دارد؟

پیش از هر انتخابی، باید بدانید هاست شما چه امکان کشی دارد:

نوع هاستکش موجود
LiteSpeedکش سطح سرور با LSCache
Nginx + Redisکش آبجکت و FastCGI Cache
Apache سادهفقط کش افزونه
هاست وردپرس مدیریت‌شدهکش سروری معمولاً از پیش فعال

اگر هاست شما LiteSpeed است، انتخاب اکثر مواقع LiteSpeed Cache است. اگر هاست وردپرس مدیریت‌شده دارد، افزونهٔ کش شما معمولاً با آن یکپارچه شده. منطق انتخاب هاست و کش، در تأثیر هاست بر سرعت سایت به تفصیل آمده.

WP Rocket: پول بده، سریع تمام کن

انتخاب پیش‌فرض من برای سایتی که صاحبش نمی‌خواهد مهندس شود. رابطش طوری ساخته شده که تنظیمات پیش‌فرضش کار می‌کند: کش صفحه فعال، فایل‌ها فشرده، تصاویر lazy-load، فونت‌های بیرونی به تأخیر. در پروژه‌هایی که هدف «سریع بدون دردسر» است، همین سه تنظیمات اضافه، به نتیجهٔ تمیز می‌رسد.

نقطهٔ ضعفش، قیمت است. لایسنس سالانه دارد و برای سایت‌های شخصی صرفه‌جو گران است. ضعف دیگرش این است که روی قالب‌های بدکد، فعال‌کردن همهٔ گزینه‌های بهینه‌سازی می‌تواند صفحه را بشکند. توصیهٔ من: اول فقط کش صفحه و کش مرورگر را روشن کنید؛ ترکیب/فشرده‌سازی فایل‌ها را در هفتهٔ دوم اضافه کنید. مقایسه‌اش با W3 را در WP Rocket در برابر W3 Total Cache آورده‌ام.

LiteSpeed Cache: سلطان هاست‌های LiteSpeed

اگر هاست شما LiteSpeed است، این افزونه بی‌رقیب است؛ چون کش را در سطح سرور می‌سازد، پیش از رسیدن ریکوئست به PHP. یعنی رایگان اما جلوتر از خیلی از پولی‌ها. کنارش، بهین‌سازی CSS/JS، lazy-load تصویر، و کش آبجکت با Redis هم دارد.

در پروژه‌هایی که از هاست معمولی به LiteSpeed مهاجرت کردیم و LSCache را فعال کردیم، TTFB به نصف رسید. ولی پنل تنظیماتش برای مبتدی پیچیده است: چهل زبانه، گزینه‌های فنی. یک تیک اشتباه در Exclude، کل کش را بی‌اثر می‌کند بدون اینکه متوجه شوید. توصیه: فقط پروفایل‌های آماده را بزنید و ووکامرس را در فهرست استثنا بگذارید.

W3 Total Cache: کهنه‌سرباز پرقدرت

قدیمی‌ترین غول رایگان، و هنوز بی‌رقیب در عمق تنظیمات. اگر آدم فنی هستید، W3 روی هر هاستی کار می‌کند. اگر نیستید، همان W3 سایت را می‌خواباند. بررسی کاملش را در نقد W3 Total Cache نوشته‌ام.

تجربهٔ شخصی: در یک سایت سازمانی که LSC ممکن نبود، W3 با Object Cache روی Redis، پیشخوان را که با ۶۰ کاربر همزمان کند شده بود، نجات داد. در آن پروژه، WP Rocket از پس مشکل پیشخوان برنمی‌آمد چون فقط روی کش صفحه تمرکز دارد.

کش سروری: رقیبی که در فهرست‌ها نمی‌بینید

خیلی از هاست‌ها (SiteGround، Hostinger، هاست‌های cPanel ایرانی) خودشان لایهٔ کش سروری دارند. روی این هاست‌ها، نصب یک افزونهٔ کش بزرگ، عملاً دو کش روی هم می‌سازد و در بدترین حالت، دو بار invalidation رخ می‌دهد. قاعده‌ای که در پروژه‌ها رعایت می‌کنم: اگر هاست شما کش سروری فعال دارد و راضی‌تان می‌کند، افزونهٔ کش را برای دو چیز نگه دارید: کش آبجکت و بهینه‌سازی فایل.

پیکربندی صحیح کش در cPanel را در cPanel چیست توضیح داده‌ام. برای فروشگاه‌ها هم سیاست استثنای صفحات پویا در انتخاب هاست برای فروشگاه آمده.

Object Cache: قهرمان خاموش

لایه‌ای که اکثر بحث‌ها از آن غافل‌اند. کش صفحه، صفحه را نجات می‌دهد؛ کش آبجکت، دیتابیس را. روی سایت‌های ووکامرس، کش آبجکت با Redis می‌تواند تفاوت محسوسی در سرعت سبد خرید و پیشخوان بسازد. روی هاست‌های اشتراکی معمولی، Redis در دسترس نیست؛ ولی روی VPS و هاست‌های مدیریت‌شده، فعالش کنید. مسیر کلی این لایه را در تأثیر دیتابیس بر سرعت سایت توضیح داده‌ام.

کش صفحه، HTML را نجات می‌دهد؛ کش آبجکت، دیتابیس را. هیچ‌کدام جای دیگری را نمی‌گیرد.

تست قبل و بعد: عدد یا افسانه؟

هر افزونه‌ای را که انتخاب کردید، اثرش را با عدد بسنجید. روش من:

  1. سه صفحه، دو تکرار: خانه، یک نوشته، یک صفحهٔ فروشگاه یا تماس.
  2. پنج عدد: TTFB، LCP، مجموع بایت، تعداد درخواست، مصرف CPU در پنل هاست.
  3. تست بازدید دوم: کش برای بازدیدکنندهٔ برگشتی طراحی شده؛ بازدید اول همیشه کندتر است.
  4. بررسی هدر پاسخ: x-litespeed-cache: hit یا cf-cache-status: HIT. بدون این، تمام اعداد حدس است.

ابزارها را در بهترین ابزارهای تست سرعت سایت معرفی کرده‌ام. اگر بعد از نصب کش، سایت کندتر شد، نگاهی هم به عیب‌یابی سرعت سایت بیندازید؛ معمولاً مسئله در تنظیمات است نه در خود افزونه.

انتخاب نهایی

مقایسه افزونه‌های کش وردپرس در سه جمله خلاصه می‌شود: اگر هاست شما LiteSpeed است، LiteSpeed Cache؛ اگر بدون تنظیم می‌خواهید سریع تمام شود، WP Rocket؛ اگر فنی هستید و کنترل کامل می‌خواهید، W3 Total Cache. اما مهم‌تر از انتخاب، این است که بدانید هاست شما چه کشی دارد و چه چیزی را می‌خواهید حل کنید — کش صفحه، کش مرورگر یا کش آبجکت. اگر ترکیب جالبی از این افزونه‌ها در پروژهٔ خودتان جواب داده، در دیدگاه‌ها بنویسید؛ تجربه‌های واقعی همیشه از مقایسه‌های رسمی دقیق‌ترند. 🧊