آیا به دنبال بهترین افزونه کش برای وردپرس هستید و در مورد لزوم استفاده از پلاگین کش شک دارید؟ قبل از انتخاب بهترین افزونه‌ی Cache برای سایت مبتنی بر WordPress، بهتر است با نحوه‌ی عملکرد افزونه‌های کش آشنا شوید و سپس یکی از افزونه‌های کش برتر را نصب کرده و تنظیمات آن را با حوصله و دقت بررسی کرده و حالت‌های مختلف را تست کنید.

در این مقاله به آشنایی با سیستم کش در وردپرس پرداخته و چند افزونه‌ی برتر برای کش کردن صفحات و یا بخش‌هایی از صفحات سایت را معرفی می‌کنیم.

هر وب‌سایت دینامیک که صفحات آن به صورت از پیش آماده طراحی نشده، کم و بیش به کش کردن صفحه یا لااقل بخش‌هایی از صفحه نیاز دارد تا سرعت بارگذاری صفحات بیشتر شود و استفاده از پردازنده و رم سرور یا هاست سایت، کمتر شود. سایت‌های WordPress هم عموماً از نوع دینامیک هستند و صفحه به محض درخواست کاربر، ایجاد می‌شود و برای مرورگر وی ارسال می‌شود.

کش چیست و چرا سایت‌ها به کش نیاز دارند؟

منظور از کش یا حافظه‌ی میانجی، به طور کلی بخشی از حافظه کنار پردازنده، رم یا هارددیسک و SSD است که اطلاعات را برای دسترسی سریع‌تر موقتاً نگهداری می‌کند و پس از مدتی آن را پاک می‌کند.

کش CPU در سخت‌افزار کامپیوتر، اطلاعات لازم را از رم یا هارددیسک دریافت می‌کند و برای سریع‌تر شدن پردازش، درست کنار هسته‌های پردازشی نگهداری می‌کند. به عبارت دیگر اگر کش در کار نباشد، ممکن است پردازش‌های معمولی، ده‌ها برابر بیشتر طول بکشند و پردازنده در انتظار دریافت داده، مدت زیادی بیکار بماند.

در سایت‌ها منظور از کش، داده‌هایی است که برای دسترسی سریع‌تر روی RAM یا حافظه‌ی ذخیره‌سازی که HDD یا SSD است نگهداری می‌شوند و البته موقتی هستند. به عنوان مثال اگر کاربر اول، صفحه‌ی اصلی سایت را باز کند، این صفحه با اجرا شدن کد‌های PHP یا غیره، تولید می‌شود و نتیجه‌ی نهایی به صورت یک فایل ثابت HTML ذخیره می‌شود. اکنون اگر کاربر دوم و سوم و ده‌ها کاربر دیگر همین صفحه را باز کنند، سرور سایت نسخه‌ی HTML از پیش رندر شده را برای کاربران ارسال می‌کند. لذا نیازی به پردازش کامل صفحه و بارها و بارها ساختن آن وجود ندارد.

کش سطوح و روش‌های مختلفی دارد. به عنوان مثال ممکن است طراح وب برای کاهش مراجعه به دیتابیس و بارگذاری متن، تیتر، آدرس فایل‌هایی مثل عکس و غیره، برنامه‌ای بنویسد که فقط همین مراجعه‌های تکراری را کش کند. ممکن است طراح سایت وردپرسی، از API‌ و توابع Transient استفاده کند تا بخش‌هایی از صفحه که به صورت مشابه در بسیاری از صفحات سایت تکرار می‌شوند، یک بار پردازش شده و تا چند ساعت بعد، مرتباً از نتیجه‌ی پردازش اولیه، استفاده شود. به عنوان مثال بخش ستون کناری یا Sidebar‌ سایت و بخش منو و همین‌طور بخش‌های زیر مطلب و فوتر سایت، می‌تواند به صورت کش‌شده، در صفحات تکراری استفاده شود.

چرا استفاده از کش در سایت دینامیک ضروری است؟

برخی سایت‌ها دارای دیتابیس نیستند و صفحات به صورت فایل HTML ساخته شده و روی سرور سایت آپلود شده است و به همین صورت عکس‌ها در آدرس‌های لازم قرار گرفته است. در چنین سایتی، افزونه‌ی کش کار چندانی انجام نمی‌دهد به جز آنکه در هدر برخی فایل‌های درخواستی، کدهایی اضافه می‌کند تا مرورگر اینترنت کاربر مثل گوگل کروم، فایرفاکس و غیره، فایل را کش کند و در مراجعه‌های بعدی، مجدداً فایل را از سرور سایت دانلود نکند.

اما در سایت‌های دینامیک مثل سایت‌های وردپرسی، استفاده از افزونه‌ی Cache معمولاً ضروری است! در واقع در CMS یا نرم‌افزار مدیریت سایت که WordPress معروف‌ترین نمونه‌ی آن است، استفاده از پلاگین یا افزونه کش ضروری است چرا که استفاده از پردازنده و رم را کاهش می‌دهد و همین‌طور سرعت بارگذاری صفحات سایت بیشتر می‌شود.

بیشتر شدن سرعت بارگذاری صفحه توسط مرورگر بازدیدکنندگان سایت، سرعت صفحه یا Page Speed را بیشتر می‌کند و این یکی از عواملی است که به صورت غیرمستقیم روی SEO سایت موثر است چرا که کاربر زمان بیشتری در سایت سپری می‌کند و صفحات بیشتری را باز می‌کند.

سایتی که از افزونه‌ی کش استفاده نمی‌کند و بار پردازشی پردازنده نزدیک به ۱۰۰ درصد شده است، طبعاً صفحه را با تأخیر چند ثانیه‌ای به مرورگر کاربر ارسال می‌کند. در نتیجه ممکن است بازدیدکننده از سایت خارج شود و نرخ پرش بیشتر شده و زمان ماندن در صفحه کمتر شود. هر دو فاکتور از عوامل موثر در سئو سایت است.

بنابراین استفاده از افزونه‌ی کش فقط با هدف کاهش استفاده از منابع هاست یا سرور انجام نمی‌شود بلکه در بهینه‌سازی سئو سایت‌ها هم موثر است.

در ادامه به معرفی چند مورد از افزونه‌های برتر کش برای وردپرس در سال ۲۰۱۸ می‌پردازیم.

WP Rocket

افزونه‌ی موشک یا دقیق‌تر بگوییم WP Rocket‌ یکی از افزونه‌های کش برای وردپرس است که تنظیمات ساده‌ای دارد و مدیران سایت که تجربه‌ی زیادی ندارند را سردرگم نمی‌کند. در عین حال عملکرد افزونه‌ی موشک بسیار عالی است و کارهای زیادی برای بهینه کردن سرعت سایت انجام می‌دهد.

از امکانات این افزونه‌ی کش می‌توان به قابلیت مینیفای و یکپارچه کردن فایل‌های استایل یا همان CSS و جاوااسکریپت، کش کردن صفحات و قابلیت پاکسازی کش در زمان انتشار پست یا به صورت دستی و در زمان دلخواه، استفاده از شبکه‌ی توزیع محتوا یا CDN و ایجاد نسخه‌ی کش‌شده‌ی صفحات به صورت پیشاپیش و قبل از درخواست صفحه توسط بازدیدکننده و فعالسازی خودکار و ساده‌ی فشرده‌سازی با gzip اشاره کرد.

با افزونه‌ی موشک حتی می‌توانید بارگذاری تنبل یا Lazy Loading‌ عکس‌ها را فعال کنید تا عکس‌های صفحات سایت وردپرسی، حین اسکرول کردن صفحه و به تدریج بارگذاری شوند.

تنها اشکال افزونه‌ی WP Rocket این است که پولی است و البته نسخه‌های نال‌شده آن در سایت‌های مختلف موجود است که با توجه به ریسک آلوده بودن و باگ‌های امنیتی در نسخه‌های آپدیت‌نشده، استفاده از آن توصیه نمی‌شود.

W3 Total Cache

افزونه‌ی قدرتمند W3 Total Cache هم از بهترین افزونه‌های کش برای وردپرس است که تنظیمات جامع و کاملی دارد و البته رایگان است! شاید در شروع استفاده، کاربر از دیدن گزینه‌ها و تنظیمات مختلف متعجب شود و تصور کند که W3 Total Cache بسیار پیچیده و تخصصی است اما پس از مدتی مطالعه در مورد گزینه‌ها و تنظیمات مختلف و با کمی حوصله و سعی و خطا، می‌توانید تنظیمات بهینه را برای هر سایت وردپرسی پیدا کنید. به علاوه می‌توانید از تمام پیکربندی افزونه، خروجی گرفته و در سایت مشابه دیگری، تنظیمات را ایمپورت کنید.

از قابلیت‌های این افزونه می‌توان به کش کردن صفحات با استفاده از حافظه و دیسک، قابلیت مینیفای کردن و ترکیب کردن فایل‌های CSS و JavaScript به روش‌های مختلف، کش کردن آبجکت‌ها و فعالسازی ساده‌ی gzip‌ و همین‌طور اضافه کردن هدر به فایل‌هایی که حالت استاتیک دارند اشاره کرد. تنظیماتی برای استفاده از سرویس‌های CDN نیز در این افزونه پیش‌بینی شده است.

نقطه قوت افزونه‌ی W3 Total Cache این است که مدیر سایت کنترل کاملی روی تنظیمات کش دارد، چیزی که در اغلب افزونه‌های کش ناقص‌تر و محدودتر است.

WP Super Cache

پلاگین WP Super Cache هم یکی از پلاگین‌های قدیمی کش برای وردپرس است که همواره رایگان بوده و مرتباً بروزرسانی شده است. به همین علت است که بسیاری از هاستینگ‌های WordPress، استفاده از این افزونه را توصیه می‌کنند.

از امکانات اصلی افزونه‌ی WP Super Cache می‌توان به قابلیت کش کردن صفحات، ساختن کش به صورت پیشاپیش یا Pre-Load و فعالسازی خودکار و ساده‌ی gzip و همین‌طور پشتیبانی از CDN اشاره کرد.

تنظیمات این افزونه به کاملی W3 Total Cache‌ نیست اما در چندین تب مختلف مرتب شده و بسیار جامع و عالی است.

WP Fastest Cache

افزونه‌ی کش WP Fastest Cache هم یکی از افزونه‌های برتر کش است که مثل افزونه‌ی WP Rocket استفاده از آن برای مبتدیان وردپرس هم ساده است و علاوه بر این عملکرد بسیار خوبی دارد.

از قابلیت‌های این افزونه می‌توان به ساخت نسخه‌ی HTML صفحات سایت به عنوان کش، مینیفای یا فشرده‌سازی CSS و JavaScript، فعالسازی کش مرورگر کاربر برای عکس‌ها و فایل‌های استاتیک و همین‌طور فشرده‌سازی HTML و فعالسازی آسان gzip اشاره کرد. استفاده از CDNها با وجود این افزونه، بسیار ساده خواهد بود.

افزونه‌ی WP Fastest Cache نسخه‌ی رایگان و پولی دارد و طبعاً در نسخه‌ی پولی قابلیت‌ها بیشتر است. به عنوان مثال می‌توان فایل‌های استایل و جاوااسکریپت را در هدر یا فوتر سایت به تناسب نیاز، بارگذاری کرد.