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