روی هاست لایت‌اسپید، LiteSpeed Cache بهترین افزونه‌ی کش وردپرس است، چون کش را خود وب‌سرور نگه می‌دارد و PHP اصلاً اجرا نمی‌شود. بیشترِ سود از همان یک کلید اول می‌آید: روشن بودن کش صفحه. بقیه‌ی گزینه‌ها (ادغام و تأخیر CSS و JS) سود کمتری دارند و بیشترین خرابی را هم همان‌ها می‌سازند. پس اول کش را روشن کنید، بعد گزینه‌های بهینه‌سازی را یکی‌یکی و با تست. روی هاست رایکت وب‌سرور لایت‌اسپید است و این افزونه کامل کار می‌کند.

نصب

  1. اگر افزونه‌ی کش دیگری دارید، اول غیرفعال و حذفش کنید. دو افزونه‌ی کش با هم، رفتار غیرقابل‌پیش‌بینی می‌سازند.
  2. از مخزن وردپرس LiteSpeed Cache را نصب و فعال کنید.
  3. در منوی LiteSpeed Cache، بخش Cache، کلید Enable Cache باید روشن باشد.

برای تست، سایت را در پنجره‌ی ناشناس باز کنید و در ابزار توسعه‌ی مرورگر، هدر پاسخ را ببینید: x-litespeed-cache: hit یعنی صفحه از کش آمده. بار اول miss است و بار دوم hit.

زبانه‌های بخش Cache

گزینه پیشنهاد چرا
Enable Cache روشن اصل ماجرا
Cache Logged-in Users خاموش برای بیشتر سایت‌ها برای هر کاربر کش جدا می‌سازد و فضا می‌گیرد
Cache Commenters روشن —
Cache REST API روشن —
Cache Mobile خاموش، مگر قالب نسخه‌ی موبایل جدا دارد قالب واکنش‌گرا کش جدا لازم ندارد
Default Public Cache TTL پیش‌فرض (یک هفته) با انتشار مطلب، کش همان صفحه‌ها خودکار پاک می‌شود
Browser Cache روشن تصاویر و فایل‌های ثابت در مرورگر می‌مانند
Purge All On Upgrade روشن بعد از آپدیت، کش قدیمی نماند

ووکامرس

افزونه ووکامرس را می‌شناسد و سبد خرید، تسویه‌حساب و حساب کاربری را خودش از کش بیرون می‌گذارد. دو چیز را بررسی کنید:

  • بعد از افزودن محصول به سبد، عدد سبد در هدر درست عوض شود. اگر نشد، در بخش ESI گزینه‌ی Enable ESI را روشن کنید تا همان تکه جدا ساخته شود.
  • صفحه‌هایی که برای هر کاربر فرق دارند (علاقه‌مندی‌ها، مقایسه، صفحه‌ی افزونه‌های عضویت) را در زبانه‌ی Excludes اضافه کنید.

(چرا ووکامرس کند است)

Page Optimization: با احتیاط

گزینه سود خطر پیشنهاد
CSS Minify و JS Minify کم کم روشن، بعد تست
CSS Combine و JS Combine کم (با HTTP/۲ تقریباً هیچ) زیاد؛ به‌هم‌ریختگی ظاهر و از کار افتادن اسلایدر و منو خاموش
Load JS Deferred خوب متوسط Deferred، بعد تست کامل
Load CSS Asynchronously متوسط زیاد؛ پرش ظاهر صفحه خاموش، مگر Critical CSS کار کند
Lazy Load Images خوب کم روشن؛ تصویر اول صفحه را استثنا کنید
Remove Query Strings، Emoji ناچیز کم اختیاری
Font Display Optimization خوب برای متن کم swap

هر گزینه را جدا روشن کنید، Purge All بزنید و سایت را در پنجره‌ی ناشناس، روی گوشی و کامپیوتر ببینید: منو، اسلایدر، فرم‌ها، سبد خرید. اگر چیزی خراب شد، همان گزینه را خاموش کنید یا فایل مشکل‌ساز را در کادر Excludes بگذارید.

سرویس‌های آنلاین افزونه

بهینه‌سازی تصویر، Critical CSS و CDN این افزونه روی سرورهای QUIC.cloud انجام می‌شود و به اتصال هاست به آن سرویس وابسته است. اگر درخواست‌ها در صف می‌ماند یا خطا می‌دهد، مشکل از سایت شما نیست؛ این بخش‌ها را خاموش بگذارید. کش صفحه به هیچ سرویس بیرونی وابسته نیست. برای تصاویر راه‌های دیگری هم هست. (بهینه‌سازی تصاویر وردپرس)

Object Cache

کش آبجکت نتیجه‌ی کوئری‌های دیتابیس را در حافظه نگه می‌دارد و برای صفحه‌هایی که کش نمی‌شوند (پیشخوان، سبد خرید، کاربر واردشده) بیشترین اثر را دارد. روی سرورهای رایکت Redis نصب است. برای فعال کردنش در زبانه‌ی Object، مشخصات اتصال حساب خودتان را با تیکت بگیرید. اگر مشخصات اشتباه وارد شود، افزونه «Connection Test: Failed» نشان می‌دهد و کش آبجکت بی‌اثر می‌ماند، ولی سایت خراب نمی‌شود.

Crawler

خزنده‌ی افزونه صفحه‌ها را از قبل باز می‌کند تا کش آماده باشد. روی هاست اشتراکی، خزش کل سایت می‌تواند منابع را مصرف کند. اگر روشنش می‌کنید، فاصله‌ها را بلند بگیرید و مصرف را زیر نظر داشته باشید. (Resource Usage)

مشکل‌های رایج

نشانه علت راه
تغییرات سایت دیده نمی‌شود کش قدیمی از نوار بالای پیشخوان Purge All
ظاهر به‌هم‌ریخته Combine یا CSS Async خاموش و Purge All
بازدیدکننده نام کاربر دیگری را می‌بیند صفحه‌ی شخصی کش شده همان صفحه را Exclude کنید؛ ESI را روشن کنید
هدر کش همیشه miss است کوکی یا افزونه‌ای کش را می‌شکند بخش Debug افزونه دلیل را می‌گوید
فرم تماس خطای امنیتی می‌دهد نانس منقضی در صفحه‌ی کش‌شده TTL را کمتر کنید یا آن صفحه را استثنا کنید
فضای هاست پر می‌شود کش برای کاربران واردشده یا موبایل جدا همان گزینه‌ها را خاموش کنید

بعد از تنظیم

سرعت را قبل و بعد بسنجید و عدد TTFB را مقایسه کنید؛ با کش صفحه باید به چند ده میلی‌ثانیه برسد. (تست سرعت سایت، TTFB چیست)

سوال‌های رایج

این افزونه روی هر هاستی کار می‌کند؟

بخش بهینه‌سازی‌اش بله، ولی کش صفحه فقط روی وب‌سرور لایت‌اسپید. (لایت‌اسپید چیست)

با کلودفلر تداخل دارد؟

نه، به شرطی که در کلودفلر کش HTML را روشن نکرده باشید و گزینه‌های بهینه‌سازی دو طرف را همزمان فعال نکنید.

بعد از هر تغییر باید کش را دستی پاک کنم؟

برای انتشار و ویرایش مطلب نه؛ خودکار است. برای تغییر قالب، ابزارک، منو و CSS، بله.