تا ۳۰ درصد تخفیف هفتگی بهرام‌شید در کانال تلگرام سون هاست

مشاهده تخفیف‌ها
آموزش وردپرس

افزایش فوق العاده سرعت سایت با فعال سازی opcache در وردپرس

مطمئنم که همه شما با انواع افزونه‌های کش وردپرس آشنایی دارید و بارها نیز در وبلاگ سون هاست ضمن معرفی این افزونه‌ها در مقالاتی که در خصوص افزایش سرعت وردپرس تهیه کرده‌ایم، از بسیاری از این روش‌ها استفاده می‌کنید. اما آیا تا به‌حال چیزی به نام opcache در وردپرس که برای پیاده سازی کش سایت است به گوشتان خورده؟

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

opcache چیست و چه کاربردی دارد؟

برای دانستن اینکه opcache چیست باید ابتدا نگاهی به ساختار وردپرس و زبان برنامه نویسی php داشته باشیم. با توجه به اینکه وردپرس با این زبان برنامه‌نویسی ساخته شده، کدهای ما در این زبان چه در هسته وردپرس و چه کدهای مربوط به قالب و افزونه‌ها، در زمان اجرای کد لازم است که به bytecode کامپایل شده و در نهایت اسکریپت ما اجرا شود.

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

از ورژن ۵.۵ زبان PHP ساختار opcache به این زبان افزوده شد که نوعی Bytecode Caching Engine است. حالا کاری که opcache برای وردپرس انجام می‌دهد این است که به محض کامپایل کردن و اجرای کدها ما، آن را در حافظه موقت RAM یا روی فایل دیسک (هارد سرور یا همان مسیر file manager هاست) ذخیره خواهد کرد که به صورت کش شده هستند.

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

راهنمای فعال سازی opcache در وردپرس

برای فعال سازی opcache در وردپرس افزونه‌های مختلفی این امکان را فراهم کرده‌اند. اما از آنجا که خود این افزونه‌ها نیز بار اضافی برای کامپایل و اجرا هستند، چرا از روش ساده‌تر استفاده نکنیم؟

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

برای فعال سازی op کش در وردپرس کافی است ۲ مرحله زیر را طی کنید:

فعال سازی opcache در وردپرس

مرحله اول: دانلود فایل php از گیت هاب و آپلود در سایت

ابتدا روی دکمه زیر کلیک کرده و از صفحه گیت هاب پروژه، مشابه تصویر بالا روی دکمه دانلود فایل object-cache.php کلیک کنید.

بعد از دانلود، باید این فایل را در مسیر wp-content آپلود کنید. برای این منظور پس از اینکه وارد هاست سی پنل شدید، مشابه تصویر زیر روی گزینه File Manager کلیک کنید.

فایل منیجر سی پنل

سپس مشابه تصویر زیر به مسیری که وردپرس نصب شده مراجعه کرده و وارد پوشه wp-content شوید. در تصویر زیر فرض بر این است که وردپرس روی دامنه اصلی نصب شده و درون ساب‌فولدر یا ساب دامنه نصب نشده است که در این صورت باید فایل در مسیر public_html/wp-content آپلود شود.

فعال سازی opcache در وردپرس

برای آپلود نیز کافی است روی گزینه آپلود در همین مسیر کلیک کرده و فایل را به صورت Drag & Drop یا انتخاب دکمه Select که در تب جدید برای آپلود فایل باز می‌شود انتخاب کنید تا در این مسیر قرار گیرد.

مرحله دوم: فعال سازی opcache در هاست سی پنل

بعد از آپلود فایل مورد نظر، باید دو کار زیر را انجام دهید که اولی فعال کردن تیک گزینه opcache هاست و دومی قرار دادن یک سری کد در فایل php.ini است. لذا برای این منظور وارد صفحه اصلی هاست خود شده و مشابه تصویر زیر روی گزینه Select PHP Version کلیک کنید.

cpanel select php version

در مرحله بعد در صفحه تغییر نسخه php هاست قبل از هرچیزی به این نکته دقت کنید که برای استفاده از opcache حتما باید از ورژن بالاتر ۵.۵ وردپرس استفاده کنید. حال روی تب Extensions کلیک کرده و از لیست موجود، مشابه تصویر زیر یک بار روی گزینه opcache کلیک کنید تا تیک آن فعال گردد.

enable opcache cpanel

با فعال کردن این گزینه پیغام سبز رنگ به شما نمایش داده خواهد شد. حالا باید به صفحه اصلی سی پنل برگردید و مجددا از بخش Software این بار روی گزینه MultiPHP INI Editor کلیک کنید.

MultiPHP INI Editor cpanel

در این مرحله وارد صفحه‌ای مشابه تصویر زیر خواهید شد.

فعال سازی opcache در وردپرس
  1. ابتدا روی تب Editor Mode کلیک کنید تا حالت ویرایشگر به شما نمایش داده شود.
  2. سپس از لیست انتخابی دامنه مورد نظر خود را انتخاب کنید. در صورتی از ساب دامنه استفاده کنید، در این لیست نمایش داده می‌شود که در این مرحله باید مسیری که می‌خواهید این تنظیمات برای فایل php.ini اعمال گردد را باید تعیین کنید.
  3. در مرحله بعد کدهای زیر را به فایل اضافه کنید.
opcache.enable=1
opcache.memory_consumption=4096
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=32500
opcache.validate_timestamps=1
opcache.save_comments=1
opcache.revalidate_freq=1000
opcache.fast_shutdown=1
opcache.enable_cli=1
  1. در پایان روی دکمه Save کلیک کنید.

با انجام این کار امکان استفاده از کش opcache در وردپرس برای شما فراهم خواهد شد و اگر همین حالا سایت خود را در صفحات مختلفی مثل برگه اصلی، نوشته‌ها، دسته‌بندی و… باز کنید خواهید دید که افزایش بسیار محسوسی در سرعت سایت خود داشته‌اید.

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

نحوه پاک کردن کش opcache در وردپرس

آنطور که در ابتدا گفتم، این روش با کش کردن کدهای کامپایل شده php بر روی دیسک یا حافظه RAM به افزایش سرعت سایت کمک می‌کند. بنابراین، برای حذف فایل‌های کش شده کافی است به ترتیب زیر عمل کنید.

حذف فایل های کش opcache وردپرس

مشابه تصویر بالا اگر به مسیر وارد شده دقت کنید، کلیه فایل‌هایی که توسط این روش برای کش کدها ایجاد می‌شوند در مسیر public_html/wp-content/cache قرار می‌گیرد که شامل بخش‌های مختلف وردپرس است.

افزونه‌هایی که استفاده می‌کنید، پست تایپ‌ها، دسته و برچسب، دیدگاه‌ها و به طور کلی هر ساختار اضافی که در سایت شما وجود داشته باشد، هر یک از فایل‌های مورد نیاز آن در پوشه مربوطه قرار می‌گیرد.

برای خالی کردن کش کافی است مثل تصویر بالا در این مسیر یک بار روی گزینه Select All کلیک کرده و سپس روی دکمه Delete کلیک کنید. با پاک کردن کلیه پوشه‌ها و فایل‌های داخلی آنها از مسیر public_html/wp-content/cache می‌توانید کش سایت خود را خالی کنید.

در پایان هر سوال یا مشکلی در خصوص این آموزش داشتید، می‌توانید از بخش دیدگاه‌ها آن را مطرح کنید تا شما را راهنمایی کنم.

امتیاز نوشته:

میانگین امتیازها: 5 / 5. تعداد آرا: 2

به این نوشته امتیاز دهید.

عباس صادقی

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

نوشته های مشابه

‫۶ دیدگاه ها

  1. این قابلیت فقط در هاست های وردپرس سون هاست فعال هست یا روی لینوکس هم قابلیت استفاده دارد؟

  2. سلام وقت به خیر
    ممنون از آموزشتون

    هاستی که ازتون تهیه کردم وب مستر لایت اسپید کش هست و افزونه لایت اسپید رو هم نصب کردم

    حالا نیازه که این کاری رو که گفتین انجام بدم؟

    ممنونم

  3. با سلام.
    با تشکر از مطلب مفیدتون، چند سوال داشتم ازتون ، ممنون میشم پاسخ بدین. واقعا همچین مطلبی به سختی در کل نت پیدا میشه …
    1- این شکل از کش رو بهتره چند وقت یکبار پاک کنیم؟ و اینکه تحت چه شرایطی باید حتما پاک بشه؟ بعنوان مثال اگر صفحه اصلی رو اپدیت کردیم باید پاک بشه؟ یا مثلا اگر افزونه ای اپدیت میشه باید پاک بشه؟
    2- آیا راه بهتری برای پاک کردنش هست؟ اگر از افزونه لایت اسپید کش استفاده کنیم داخلش op cache رو هم داره. ولی متاسفانه wp-rocket مدتیه opcache رو از تنظیماتش حذف کرده و اینکه مدام بخایم دستی از طریق هاست پاکش کنیم سخته.

    در مورد کش های memecache و memecached و redis هم ممنون میشم اگر فرصت شد مقاله ای کار بشه.

    1. درود بر شما
      ۱. زمانی که وردپرس، افزونه‌ها یا پوسته آپدیت میشه بهتره که کش رو پاک کنید تا مجددا فایل‌ها بر اساس آخرین تغییرات ایجاد شده در فایل‌های php و سایر فایل‌ها ایجاد بشن.
      ۲. روشی که در این مطلب معرفی کردم فاقد حذف خودکار هست. اما اگر از افزونه‌های پرمیوم یا سایر افزون‌ها استفاده کنید که این ویژگی رو دارن میشه خودکار پاکشون کرد. هرچند که بهتره از همین روش استفاده کنید. چرا که افزونه‌ها جدایی از این ساختار کش امکانات متعدد دیگه دارن. اگر هدف شما صرفا کش باشه با نصب افزونه امکاناتی رو اضافه می‌کنید که لزوما نیازی بهشون ندارید و در دراز مدت بیشتر باعث شلوغ شدن جداول دیتابیس هستند.
      در مورد سایر کش‌ها هم حتما مقالاتی تهیه می‌کنیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
خرید هاست وردپرس نامحدود کلیک کنید ×