سایت های وردپرسی برای افزایش سرعت لود سایت نیاز به کش دارند ولی با توجه به تنوع افزونه ها و همچنین ویژگی های زیاد هر کدام، انتخاب افزونه مناسب دشوار است. در این مقاله دو افزونه قدرتمند کشینگ به نام های LiteSpeed Cache و W3 Total Cache با یکدیگر مقایسه و نحوه عملکرد هر کدام مورد بررسی قرار می گیرد تا در انتخاب افزونه مناسب به شما کمک کند. لازم به ذکر است اطلاعات موجود در این مقاله مربوط به زمان نگارش آن است و ممکن است با بروز رسانی افزونه ها، موارد فعلی تغییر یابند.
تصویر(1)
مقایسه LiteSpeed Cache و W3 Total Cache
برای بررسی دقیق تر دو افزونه، ابتدا کش و نحوه عملکرد آن بررسی و سپس دو افزونه معرفی و مقایسه خواهند شد.
کش صفحات وب
کشینگ در وردپرس یک مبحث مهم و ضروری است. صفحات وردپرس از طریق کدهای PHP و فراخوانی اطلاعات از پایگاه داده ساخته می شوند. لود صفحات از این طریق بسیار زمانبر است و مصرف منابع را افزایش می دهد. در صورتی که از افزونه کش استفاده شود یک کپی از صفحات سایت تهیه و در درخواست های بعدی از این صفحات در لود سایت استفاده خواهند شد. با توجه به محتوای استاتیک این صفحات، سرعت لود بهبود خواهد یافت.
ارائه محتوای استاتیک بسیار سریعتر از محتوای پویا است. صفحات وردپرس تقریبا با هم یکسان هستند و دلیل منطقی برای استفاده از کش را فراهم می آورند. استفاده از کشینگ یک عنصر مهم برای بهبود تجربه کاربر در استفاده از سایت و همچنین افزایش سرعت لود سایت است.
نحوه عملکرد کش
کشینگ یک موضوع بسیار مهم است. سایت های ساده و تازه کار می توانند با کش صفحات کنار بیایند ولی سایت های شخصی سازی شده که محتوای خصوصی زیادی دارند از این قابلیت استفاده نمی کنند. هر دو افزونه مورد بحث در این مقاله یعنی LSCache و W3 Total Cache، برای اینگونه سایت های پیچیده نیز راهکارهایی دارند.
معرفی W3 Total Cache
W3 Total Cache یکی از محبوب ترین افزونه های کشینگ در وردپرس است و با بیش از 1 میلیون نصب فعال جزء افزونه های مهم در این زمینه به شمار می آید. با این حال نقطه ضعف اصلی این افزونه تنظیمات کد نویسی (backend) بسیار زیاد آن می باشد که کار را برای مبتدیان سخت می کند.
این افزونه متن باز (open source) و رایگان می باشد و تمام ویژگی های آن در دسترس است. از مواردی که این افزونه پوشش می دهد می توان به صرفه جویی در پهنای باند از طریق کوچک سازی (minifications)، فشرده سازی درخواست های HTTP و بهینه سازی فید feed، (داده ای است که برای ارائه مداوم محتوای به روز شده به کاربران استفاده می شود) اشاره نمود.
معرفی LiteSpeed Cache
LiteSpeed Cache نسبت به سایر افزونه های این حوزه کمی متفاوت است زیرا این افزونه پا را فراتر نهاده و در صورتی که وب سرور هاستینگ مورد استفاده، لایت اسپید باشد علاوه بر ویژگی های خود، امکانات بیشتری را در اختیار کاربر خواهد گذاشت.
LiteSpeed Cache یک فناوری سمت سرور است و در هاستینگ هایی که از وب سرور لایت اسپید استفاده می کنند، می توانید از این قابلیت بهره مند شوید. در صورتی که وب سرور هاست شما لایت اسپید نباشد، نمی توانید از قابلیت LiteSpeed Cache استفاده کنید.
در ادامه این دو افزونه، در موارد زیر با یکدیگر مقایسه می شوند:
- نحوه عملکرد کش
- پاکسازی کش در صورت درخواست
- مدیریت کش منقضی و پاک شده
- تفاوت های کش
- Preload و بازسازی کش
- فشرده سازی
- تجارت الکترونیک
- ابزارهای Premium
1- نحوه عملکرد کش
کشینگ یک موضوع مهم در حوزه مدیریت سایت است. سایت های ساده که در ابتدای کار قرار دارند با کش صفحات راحت کنار می آیند ولی سایت های شخصی سازی شده از این قابلیت استفاده نمی کنند. البته هر دو افزونه مورد بحث در این مقاله، برای اینگونه سایت ها نیز راهکارهایی دارند.
W3 Total Cache
W3 Total Cache دو روش برای ذخیره صفحه ارائه می دهد: Disk: Basic mode و Disk: Enhanced mode
Disk: Enhanced mode: از دستورات و کدهای فایل htaccess استفاده می کند. به عبارت دیگر به طور کامل کدهای PHP را با HTML تغییر خواهد داد.
Disk: Basic mode: محتوا توسط PHP ارائه می شود.
W3TC می تواند اطلاعات کاربرانی که وارد سیستم شده اند را کش کند اما کش به صورت خصوصی یا جداگانه ذخیره نمی شود. اطلاعات کش کاربرانی که وارد سیستم شده اند در همان مجموعه ای از فایل هایی ذخیره می شود که کش کاربران وارد نشده در آن وجود دارد. ذخیره سازی اطلاعات کش کاربرانی که وارد سیستم شده اند توصیه نمی شود زیرا فقدان کش خصوصی می تواند باعث شود کاربران مهمان محتوای مربوط به کاربران وارد شده را مشاهده کنند.
LiteSpeed
یکی از موارد مهمی که کش لایت اسپید را از سایر پلاگین ها متمایز می کند، یکپارچگی و هماهنگی آن با وب سرور لایت اسپید است که پیش تر به آن اشاره شد. بنابراین، وقتی در مورد قابلیت های افزونه صحبت می شود، اغلب قابلیت سرور مد نظر می باشد. توابع اصلی LiteSpeed Cache برای کار کردن به سرور LiteSpeed نیاز دارند، زیرا کش اصلی در سطح سرور و توسط ماژول کش داخلی وب سرور LiteSpeed ذخیره می شود.
همانطور که ذکر شد، LiteSpeed Cache بسیار شبیه حالت Enhanced در W3TC، عمل می کند با یک تفاوت مهم و آن اینکه LSCache با کمک وب سرور خود عملیات کش را انجام می دهد. این افزونه به عنوان یک راه آسان برای ارتباط وردپرس با Cache engine ارائه شده است اما هیچ یک از وظایف کشینگ را انجام نمی دهد و فایل های کش در وردپرس ذخیره نمی شوند.
LiteSpeed Cache، مانند حالت Enhanced در افزونه W3TC از دستورات و کدهای فایل htaccess استفاده می کند و به طور کامل استفاده از PHP را دور می زند. افزونه های کش معروف، سعی در عدم استفاده از PHP دارند چون زمان پردازش مورد نیاز آن زیاد می باشد.
برخلاف W3TC، افزونه LiteSpeed می تواند برای کاربرانی که وارد شده اند محتوای خصوصی ذخیره کند. همچنین LiteSpeed میتواند محتوای پویا را در صفحات استاتیک قرار دهد. در ادامه در مورد تجارت الکترونیک و جزئیات بیشتری از نحوه کار آن صحبت خواهد شد.
ESI یک زبان نشانه گذاری است و این امکان را فراهم می آورد تا بخش های مختلف از یک صفحه وب سایت را به صورت مجزا ایجاد و سپس با هم ادغام نمایید. به زبان ساده تر، ESI این امکان را فراهم می آورد تا در صفحه ای که به صورت عمومی کش شده است مواردی را به صورت خصوصی کش نمایید.
2- پاکسازی کش در صورت درخواست
زمان نگهداری کش صفحات نامحدود نیست و هر دو افزونه در هنگام کانفیگ از کاربر می خواهند تا یک TTL (عمر مشخص برای کش) انتخاب کنند. TTL وظیفه دارد در زمان مورد نظر کش را منقضی و حذف نماید و کش جدید ایجاد کند. با این حال، گاهی اوقات لازم است پیش از موعد کش پاک شود. نحوه عملکرد این فرآیند در دو افزونه متفاوت است که در ادامه به بررسی آن پرداخته خواهد شد.
W3 Total Cache
اگر یک پست اصلاح یا یک نظر (کامنت) ارسال شود، کپی HTML کش شده آن، به طور خودکار حذف خواهد شد. همچنین می توانید یک دستور پاکسازی تعریف کنید که در آن بروز رسانی یک پست، موجب پاکسازی تمام صفحات مرتبط انتخاب شده گردد. W3TC توصیه میکند که front page, Post page و Blog feed را به صورت پیشفرض انتخاب کنید ولی انتخاب آنها ممکن است عملکرد سرور را کاهش دهد.
LiteSpeed
LiteSpeed نیز کپی HTML کش شده هر پستی را که اصلاح شده است، پاک می کند. همچنین بر اساس دستورات پاکسازی تعریف شده، محتوا را از کش حذف خواهد کرد. برخلاف W3TC، افزونه LSCache میتواند تمام محتوای مرتبط را بدون کاهش عملکرد سرور پاک کند. سیستم پاکسازی هوشمند LiteSpeed با کمک وب سرور LiteSpeed کار می کند. این مورد به LSCache اجازه میدهد تا محتوای مربوط به ورودیهای کش را به خاطر بسپارد، در حالی که سایر پلاگینها این قابلیت را ندارند و پس از ایجاد یا ویرایش محتوا، به طور موثر عمل نمی کنند. این قابلیت در LSCache، امکان پاکسازی دستی کل کش یا فقط یک صفحه را فراهم می کند.
3- مدیریت کش منقضی و پاک شده
پاکسازی فایل های اضافی برای هر افزونه کش مهم است. همیشه یک دایرکتوری کش روی سرور وجود دارد که فضا را اشغال می کند. در ادامه نحوه اصلاح این مورد، در این دو افزونه بررسی خواهد شد.
W3 Total Cache
با W3 Total Cache، می توانید یک بازه زمانی برای پاکسازی فایل های اضافی تعیین کنید. این کار در زمانبندی مشخص اجرا شده و فایل های HTML کش و منقضی شده را پاکسازی می کند. اگر از cache fragments (کش قسمتی از یک صفحه) استفاده می نمایید، می بایست یک زمان بندی جداگانه نیز برای آن مشخص کنید.
LiteSpeed
سیستم مبتنی بر تگ LiteSpeed نه تنها برای پاکسازی مفید است بلکه با حذف کش منقضی شده باعث می شود تأثیر آن بر عملکرد سرور کاهش یابد. هنگامی که سرور LiteSpeed دستور پاکسازی را دریافت میکند، با علامتگذاری برچسبهای مرتبط تحت عنوان "purged" (پاک شده)، بدون حذف واقعی فایلهای سیستم، از ورودی/خروجی زیاد دیسک، جلوگیری میکند.
4- تفاوت های کش
دو افزونه قدرتمند مورد بحث در این مقاله، از لحاظ کارایی و ویژگی ها، تفاوت هایی نیز با یکدیگر دارند که نیاز است این تفاوت ها بررسی و مقایسه شوند تا در انتخاب افزونه کارآمد تر به شما کمک کنند.
W3 Total Cache
W3 Total Cache هم از عامل (agent) کاربران و هم از موتورهای جستجو پشتیبانی می کند. در هر دو مورد، می توانید قوانینی را برای اختصاص بازدیدکنندگان به گروههای خاص تعریف کنید که هر کدام به گونهای پیکربندی شوند تا به URL متفاوتی مراجعه یا از یک موضوع متفاوت استفاده کنند. برای هر گروه نیز یک کش جداگانه ایجاد می شود.
LiteSpeed
Cache engine سمت سرور لایت اسپید به آن اجازه می دهد تا از متغیرهای کوکی برای ارائه نسخه های مختلف کش استفاده کند. متغیرها می توانند بر اساس مواردی مانند تلفن همراه، دسکتاپ، موقعیت جغرافیایی، کوکی و گروه کاربر باشند.
5- Preload و بازسازی کش
هر دو افزونه قابلیت Preload کش را دارند. خزندههای کش، سایت را بررسی کرده و هر صفحهای را که کش نشده باشد، کش میکنند و موجب کاهش زمان انتظار کاربر برای لود صفحات می شوند.
W3 Total Cache
خزنده W3 Total Cache یک کاربر ناشناس را در رایانه شبیه سازی می کند.
LiteSpeed
خزنده LiteSpeed Cache نیز به صورت پیش فرض یک بازدید از دسکتاپ، بدون ورود به سیستم را شبیه سازی می کند، اما برخلاف W3TC خزیدن کش در لایت اسپید متفاوت است. در واقع، اگر منابع مورد نیاز موجود باشد، میتوان دهها خزنده را به طور همزمان استفاده نمود که انواع کاربر نظیر موبایل و دسکتاپ، مشتریان خردهفروشی و عمدهفروشی، بازدیدکنندگان با یک کوکی affiliate (کسب در آمد) و غیره را شبیهسازی میکنند.
6- فشرده سازی
هر دو افزونه، فشرده سازی محتوا را پشتیبانی می کنند و تفاوتی از این بابت وجود ندارد.
7- تجارت الکترونیک
سایت فروشگاهی به خودی خود، ذخیره سازی یا کش صفحه را انجام نمی دهد. صفحه سبد خرید و آخرین محصول بازدید شده و بخش های دیگری از یک وب سایت فروشگاهی وجود دارند که نمی توان آن ها را به صورت عمومی ذخیره کرد. هر دو افزونه روش خاص خود را برای مدیریت محتوای خصوصی در صفحات عمومی دارند که در ادامه به تفصیل بررسی خواهد شد.
W3 Total Cache
W3TC مکانیزمی برای صفحات سایت های فروشگاهی که امکان کش شدن ندارند ارائه می دهد. توصیه می شود این نوع صفحات را به هیچ وجه کش نکنید زیرا ممکن است اطلاعات خصوصی یکی از مشتریان به صورت عمومی برای کاربران سایت به نمایش گذاشته شود.
نسخه پرو W3TC قابلیت «Fragment Caching» را ارائه می دهد که یک لایه کش جداگانه با استفاده از API وردپرس است. بعضی صفحات نظیر سبد خرید سایت های فروشگاهی، ناحیه کاربری سایت ها و … را نمی توان از روش معمول ذخیره و کش نمود. این بدان معنی است که پیکربندی Fragment Caching در سایتهای فروشگاهی برای ارائه محتوای ذخیره شده، نیاز به کدنویسی دارد. این قابلیت شکاف بین کش کل صفحه یا عدم کش صفحه را پر می کند. API موقت وردپرس به توسعه دهندگان این امکان را می دهد تا بدون محاسبات پیچیده و انجام فعالیت خاصی این کار را انجام دهند.
LiteSpeed
پیاده سازی (ESI (Edge Side Includes لایت اسپید این امکان را فراهم می آورد تا ووکامرس و سایر صفحات سایت فروشگاهی به طور کامل کش شوند. همانطور که پیشتر گفته شد با ESI، حفره هایی در صفحات عمومی ایجاد می شود که با دادههای سبد خرید و سایر محتوای خصوصی پر می شود. سپس، محتوای ترکیبی را می توان به خریدار ارائه داد و به طور کامل و ایمن در کش ذخیره کرد. ووکامرس از پیاده سازی ESI LiteSpeed آگاه بوده و برای تبدیل سبد خرید و سایر ابزارک های ووکامرس به بلوک های ESI از قبل پیکربندی شده است، بنابراین، تغییر به کش ترکیبی در ووکامرس آسان می باشد.
8- ابزارهای Premium
LiteSpeed Cache بهینه سازی تصویر، تولید CSS بحرانی (Critical CSS) و Lazy Load را به صورت رایگان ارائه می دهد. این خدمات بر روی سرورهای LiteSpeed اجرا می شود تا بار اضافی روی هاست کاربر وارد نشود. در حالی که W3TC هیچ خدمات Premium مشابهی ارائه نمی دهد.
مستندات
LiteSpeed دارای مجموعه مقالاتی است که عملکرد همه افزونه ها را مستند می کند و به طور مداوم با اطلاعات جدید و نکات عیب یابی به روز می شود ولی W3TC مستندات کمتری دارد.
هزینه
W3 Total Cache رایگان است، اما اشتراک Pro آن را می توان با قیمت 99 دلار در سال تهیه نمود. پشتیبانی ویژه نیز ارائه می شود و قیمت آن از 200 تا 350 دلار متغیر است.(این قیمت ها مربوط به زمان نگارش مقاله می باشد)
افزونه LiteSpeed Cache صد در صد رایگان است اما برای استفاده از کش سمت سرور به وب سرور LiteSpeed نیاز می باشد و بسته به نیاز ممکن است هزینه هایی برای این خدمات دریافت شود. می توانید از نسخه رایگان و منبع باز (OpenLiteSpeed) استفاده نموده یا نسخه شرکتی آن را خریداری کنید.
LiteSpeed پشتیبانی رایگان را از طریق انجمن WP و Slack یا تیکت پشتیبانی ارائه می دهد.
مقایسه مدیریت و زمان پاسخگویی به درخواست ها
تصویر(2)
برای بررسی دقیق تر، در نمودار بالا "LiteSpeed Web Server + LSCache" با افزونه های دیگر از جمله W3 Total Cache مقایسه شده است.
نتایج نشان داد که "Apache + W3 Total Cach"در حدود 1300 درخواست در ثانیه را پاسخ می دهد.
"LiteSpeed Web Server + W3 Total Cache" حدود 4700 درخواست در ثانیه را پاسخگو است.
همچنین وب سرور "LiteSpeed + LSCache" می تواند تا 5200 درخواست در ثانیه را مدیریت نماید.
مقایسه ویژگی ها
برخی از ویژگی های خاص LSCache و W3 Total Cache در ادامه مقایسه خواهند شد. در جدول زیر از سه شکل ذیل برای بررسی استفاده شده است :
✅ = دارای ویژگی مد نظر است.
💰 = دارای ویژگی مد نظر است اما علاوه بر هزینه لایسنس، هزینه اضافی نیز دارد.
❌ = فاقد ویژگی مد نظر می باشد.
ویژگی های کش
LiteSpeed Cache و W3 Total Cache عملکردهای متفاوتی دارند، اما کش کردن وظیفه اصلی هر دو افزونه است. در حالی که هر دو افزونه کل صفحات را کش می کنند اما کش LiteSpeed هوشمند و منعطف است و این امکان را می دهد که کش کاملتری از صفحات وب سایت خود را برای بازدیدکنندگان ذخیره کنید. LSCache قابلیتهای کش خصوصی را نیز فراهم میکند و این امکان را میدهد که اطلاعات ورود و فروشگاهی کاربران کش شوند، در حالی که W3TC اینگونه عمل نمی کند.
برای استفاده از ویژگیهای LSCache، میزبانی (هاست) مبتنی بر LiteSpeed نیز مورد نیاز است.
ویژگی ها |
LiteSpeed Cache |
W3 Total Cache |
کش تمام صفحه |
** |
|
"پاکسازی هوشمند" مبتنی بر برچسب |
** |
|
یکپارچگی با سرور |
** |
![]() |
Edge Side Includes (ESI) |
** |
![]() |
خزنده (Cache Preloading) |
** |
|
پشتیبانی از چند سایت وردپرس |
** |
|
حافظه پنهان برای کاربران وارد شده (توصیه نمی شود) |
** |
|
کش جداگانه برای موبایل |
** |
|
کش کاربران وارد شده |
** |
|
کش با توجه به موقعیت جغرافیایی و نوع ارز |
** |
|
کش REST API |
** |
|
پاکسازی URL های انتخاب شده را در یک برنامه زمانی |
** |
![]() |
پشتیبانی از کش مرورگر |
** |
|
علامت ** در جدول فوق به این معنا است که ویژگی در نسخه های قانونی LiteSpeed با قابلیت کش، فعال است.
ویژگی های بهینه سازی
اگر از ابزار های ارزیابی وب سایت مانند PageSpeed Insights Google و GTmetrix استفاده می کنید، به چند ویژگی نیاز است.
برخلاف ویژگیهای کش که در بالا ذکر شد، ویژگیهای بهینهسازی LiteSpeed Cache می تواند توسط هر کاربر با هر وب سروری (LiteSpeed، Apache، nginx و غیره) استفاده شود.
ویژگی ها |
LiteSpeed Cache |
W3 Total Cache |
پشتیبانی از CDN |
|
|
بهینه سازی پایگاه داده |
|
|
بهینه سازی CSS |
|
|
ترکیب CSS |
|
|
پشتیبانی از CSS HTTP/2 |
|
|
بهینه سازی JavaScript |
|
|
ترکیب جاوا اسکریپت |
|
|
پشتیبانی از JavaScript HTTP/2 |
|
|
دانلود CSS به صورت غیرهمزمان |
![]() |
|
به تعویق انداختن دانلود جاوا اسکریپت |
|
|
بهینه سازی HTML |
|
|
حذف URI ها از بهینه سازی |
|
|
حذف رشته های کوئری |
|
|
حذف فونت گوگل |
|
![]() |
تصاویر Lazy Load |
|
![]() |
آی فریم های Lazy Load |
|
![]() |
استفاده از Wildcard در پشتیبانی CDN |
|
|
خدمات ارائه شده
LiteSpeed خدمات بهینه سازی خوبی را در سرورهای خود به کاربران ارائه می دهد.
سرویس |
LiteSpeed Cache |
W3 Total Cache |
CSS بحرانی (Critical CSS) |
|
|
بهینه سازی تصویر |
|
|
تولید Placeholder Lazy Load ریسپانسیو |
|
|
هزینه ها
افزونه LiteSpeed Cache رایگان است اما برای استفاده از قابلیت ذخیره سازی، یک وب سرور LiteSpeed مورد نیاز است و شامل هزینه خواهد بود. عملکرد بهینهسازی، که جدا از کش است، ممکن است توسط هر کاربر با هر وب سروری مورد استفاده قرار گیرد.
سرویس |
LiteSpeed Cache |
W3 Total Cache* |
هزینه افزونه |
**رایگان |
رایگان یا 99 دلار در سال |
هزینه پشتیبانی |
رایگان |
رایگان یا 200 تا 350 دلار |
**این ویژگی در نسخه های قانونی با وب سرور LiteSpeed فعال است.
نتیجه
LiteSpeed Cache در وردپرس سریعتر از W3 Total Cache است و انعطاف بیشتری در سایت های فروشگاهی، کاربرانی که وارد شده اند و کش های مختلف از خود نشان می دهد. هر دو افزونه بسته به نیاز سایت به صورت رایگان یا با هزینه های اضافی قابل استفاده هستند.