آموزش پاک کردن کش از طریق Cron Job در وردپرس

آموزش پاک کردن کش از طریق Cron Job در وردپرس
Avatar
نویسنده: علیرضا برزودی
چهارشنبه 25 مرداد 1402
مطالعه: ۱۴ دقیقه ۰ نظر ۸۲۵ بازدید

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

اهمیت پاک کردن فضای کش با کرون جاب

روش‌های مختلفی برای پاک کردن کش وب‌سایت وجود دارد. یکی از این روش‌ها استفاده از Cron Job است. Cron Job یک برنامه با دستورات و تنظیماتی است که شما می‌توانید با برنامه‌ریزی آن، در زمان و شرایط خاصی، اقداماتی مانند پاکسازی کش سایت را به او بسپارید تا به‌صورت دوره‌ای پاکسازی کش را انجام دهد. بدون اینکه نیاز باشد خودتان به‌صورت دستی این کار را انجام دهید؛ درنتیجه می‌توانید با تعیین زمان‌بندی مشخص در ساعاتی که ترافیک سایت کمتر است، کار پاک کردن کش را به کرون جاب سپرده و انرژی و زمان خودتان را صرف سایر کارهای مدیریت وب‌سایت کنید.

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

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

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

کش وب‌سایت چیست؟

نحوه پاک کردن کش در وردپرس با کرون جاب

در وردپرس، قابلیتی به نام WP-Corn وجود دارد که مسئول انجام کارهای زمان‌بندی شده است. تنظیم فایل wp-cron.php و تعریف یک‌ وظیفه برنامه‌ریزی شده برای پاکسازی خودکار کش در وردپرس به شما کمک می‌کند تا به‌راحتی و به‌طور خودکار کش را پاک کنید. برای این کار نیاز است یک Cron Job مشخص تعریف کرده که در زمان‌بندی خاص فایل WP-Cron را اجرا کند.

خرید هاست وردپرس

پیش‌نیاز لازم برای پاک‌ کردن کش در وردپرس با کرون جاب

پیش از راه‌اندازی کرون جاب نیاز است افزونه قدرتمند WP Rocket روی سایت وردپرسی شما نصب و فعال باشد. در فعال‌سازی و نصب این افزونه، حتما از نسخه اصلی استفاده کنید. نسخه غیر اورجینال افزونه، نه‌تنها کمکی به پاکسازی کش سایتتان نمی‌کند، بلکه باعث اختلال در عملکرد سایت نیز خواهد شد. افزونه WP Rocket از یک‌سری توابع سفارشی برای پاک کردن کش در وردپرس استفاده می‌کند. پیش از بارگذاری کش، نیاز است گزینه Preload Options را در افزونه فعال کنید. در ادامه، نحوه تنظیم کرون جاب برای پاک کردن کش در وردپرس را خواهیم گفت.

برای پاک کردن فضای کش با کرون جاب در زمان برنامه‌ریزی شده نیاز است ابتدا یک فایل PHP ایجاد کنیم و کد پاکسازی کش را در آن قرار دهیم. سپس برای اقدامی که درنظر داریم، یعنی پاکسازی کش، Cron Job تعریف خواهیم کرد. گام‌هایی که باید طی کنیم، به‌صورت زیر است:

  • ایجاد فایل PHP
  • قرار دادن کد پاکسازی در فایل PHP
  • قرار دادن فایل در دایرکتوری اصلی سایت
  • غیرفعال کردن Cron Job وردپرس
  • اضافه کردن کرون جاب در سرور و با افزونه

مرحله اول: ایجاد یک فایل PHP

در اولین گام پاک کردن کش در وردپرس با کرون جاب یک فایل ساده PHP ایجاد می‌کنیم که حاوی توابع کوچکی برای پاکسازی کش HTML و CSS/JS است. شما می‌توانید فایل را با استفاده ویرایشگر موردنظرتان بسازید. اگر از سی‌پنل برای میزبانی سایتتان استفاده می‌کنید، از طریق صفحه اصلی کنترل پنل و از بخش File Manager، یک فایل PHP بسازید. ما اسم این فایل را rocket-clear-cache-cron.php نامگذاری کردیم.

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

 مرحله دوم: قرار دادن کد پاکسازی کش در فایل PHP

برای پاک کردن کش در وردپرس با کرون جاب دستور زیر را در فایل قرار دهید:

<?php 

// Load WordPress.

require( 'wp-load.php' );

// Clear cache

// Also preload the cache if the Preload is enabled.

if ( function_exists( 'rocket_clean_domain' ) ) {

   rocket_clean_domain();

 }


// Clear minified CSS and JavaScript files.

if ( function_exists( 'rocket_clean_minify' ) ) {

   rocket_clean_minify();

}

مرحله سوم: قرار دادن فایل در در دایرکتوری اصلی وردپرس

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

 require( 'wp-load.php' );

به‌این‌ترتیب، تا این مرحله یک فایل PHP تعریف و کد پاک‌کردن کش وردپرس با کرون جاب را در آن قرار دادیم.

مرحله چهارم: غیرفعال کردن Cron Job وردپرس

بسیار خب، برای شروع نیاز است از طریق کنترل پنل سرور میزبانی خود، فایل wp-options.php را ویرایش کنید. این فایل در پوشه روت در محل نصب وردپرس قرار گرفته است. پس از پیدا کردن فایل، آن را باز کرده و به سمت پایین اسکرول کنید تا خط زیر را بیابید:

That’s all, stop editing! Happy publishing.’

سپس کد زیر را در قبل از خط بالا قرار دهید:

define('DISABLE_WP_CRON', true);

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

مرحله پنجم: اضافه کردن کرون جاب جدید

برای پاک کردن فضای کش با کرون جاب به‌طور خودکار، نیاز است یک کرون جاب تنظیم کنیم که هر روز در ساعتی مشخص، حافظه کش وردپرس را پاک کند. سپس به‌جای قرار دادن آن در فایل Wp-cron آن را روی فایل PHP آپلود خواهیم کرد. برای این کار، دو راهکار پیش‌رو خواهیم داشت:

  • تنظیم کرون جاب از طریق سرور
  • تنظیم کرون جاب با افزونه

روش اول: تنظیم کرون جاب از طریق سرور

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

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

ساخت کرون جاب در سی‌پنل

۱. اضافه کردن کرون جاب در سی‌پنل

گام اول: وارد پنل کاربری سی‌پنل شوید

برای دسترسی به Cron Job در سی‌پنل وارد پنل کاربری خود شوید و در صفحه اصلی سی‌پنل، از بخش Advanced روی گزینه Cron Job کلیک کنید.

پاک کردن کش در وردپرس با کرون جاب
ورود به کنترل پنل سی پنل و انتخاب گزینه Cron Job
گام دوم: آدرس ایمیل مدنظرتان را وارد کنید تا گزارش‌های Cron Job به آن ارسال شود
نحوه پاک کردن فضای کش با کرون جاب
واردکردن ایمیل مورد نظر برای ارسال گزارش‌های کرون جاب
گام سوم: زمان‌بندی Cron Job را تنظیم کنید

اکنون می‌خواهیم کرون جاب را طوری تنظیم کنیم که هر ۵ دقیقه یک‌بار اجرا شود. برای این کار، قالب زیر را در کادر ۱ وارد می‌کنیم:

*/5 * * * *

همچنین می‌توانید به‌صورت دستی و دلخواه، در کادر دو زمان‌بندی مناسب را تعیین کنید. درصورتی‌که در نوشتن دستورات Cron Job، تسلط کافی ندارید، از ابزارهای رایگانی همچون Crontab.guru یا Crontab Generator برای تولید اعداد دقیق زمان می‌توانید استفاده کنید.

آموزش پاک کردن کش در وردپرس با Cron job
تنظیم زمان‌بندی Cron Job
گام چهارم: دستور موردنظرتان را وارد کنید

در بخش Command نیاز است آدرس فایلی را وارد کنید که قصد اجرای آن را دارید. ما برای اجرای لینک زیر از دستور wget به‌جای آدرس فایل استفاده کردیم:

wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron &gt;/dev/null 2&gt;&amp;1

به‌جای https://yourdomain.com، نام دامنه سایتتان را وارد کنید.

پاک کردن فضای کش به صورت اتوماتیک با cron job
واردکردن دستور مورد نظر

درنهایت، روی گزینه Add New Cron Job کلیک کنید.

برای آشنایی با آموزش ایجاد کرون جاب در دایرکت‌ ادمین مقاله زیر را از دست ندهید.

ایجاد کرون جاب در دایرکت‌ادمین

۲. اضافه کردن کرون جاب در دایرکت ادمین

مشابه سی‌پنل، برای اضافه کردن Cron Job در دایرکت ادمین نیاز است در صفحه اصلی کنترل پنل از بخش تنظیمات پیشرفته روی گزینه Cron Jobs کلیک کنید.

آموزش ایجاد کرون جاب در کنترل‌پنل دایرکت‌ادمین
آموزش اضافه کردن کرون جاب در دایرکت ادمین

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

نحوه ایجاد کرون جاب در دایرکت ادمین
آموزش ایجاد کرون جاب در دایرکت ادمین
گام پنجم: ایجاد Cron Job جدید برای اجرای پاکسازی کش PHP

پس از اجرای کرون جاب روی سرور، نیاز است یک کرون جاب جدید برای پاکسازی و بارگیری کش PHP ایجاد کنیم. برای این کار، مانند مرحله قبل پس از وارد کردن ایمیل، دستور زیر را در قسمت Command وارد خواهیم کرد:

wget -q -O https://yourdomain.com/rocket-clear-cache-cron.php &gt;/dev/null 2&gt;&amp;1

 به‌جای https://yourdomain.com، نام دامنه سایتتان را وارد کنید. همچنین، به‌جای rocket-clear-cache-cron.php، نام فایل PHP را وارد کنید که در مرحله اول ساختید.

سپس زمان مناسب اجرای کرون جاب را به‌صورت زیر تنظیم می‌کنیم:

30 4 * * *

پاک کردن کش در وردپرس با Cron job در مثال بالا، یعنی در ساعت ۴:۳۰ هر روز صبح، کرون جاب دستور پاکسازی کش را اجرا خواهد کرد. شما می‌توانید دقیقه، ساعت، ماه، روز از هفته و روز از ماه را به همین طریق تنظیم کنید.

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

بهترین روش‌های پاک کردن کش وردپرس

بارگذاری صفحات خاص و پاک کردن کش در وردپرس با Cron job

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

<?php

// Load WordPress.

require( 'wp-load.php' );

define( 'WP_USE_THEMES', false );

// Add one page/post per line.

$pages_to_clean_preload = [

'https://example.com/page_url_1',//copy this line as many times as necessary.

'https://example.com/page_url_2',//copy this line as many times as necessary.

];


if ( function_exists( 'rocket_clean_post' ) ) {


foreach( $pages_to_clean_preload as $page_to_clean) {

rocket_clean_post( url_to_postid ( $page_to_clean ) );

}

}

if ( function_exists( 'get_rocket_option' ) ) {

if( 1 == get_rocket_option( 'manual_preload' ) ) {

$args = array();

if( 1 == get_rocket_option( 'cache_webp' ) ) {

$args[ 'headers' ][ 'Accept' ]      = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8';

$args[ 'headers' ][ 'HTTP_ACCEPT' ] = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8';

}

// Preload desktop pages/posts.

rocket_preload_page( $pages_to_clean_preload, $args );

if( 1 == get_rocket_option( 'do_caching_mobile_files' ) ) {

$args[ 'headers' ][ 'user-agent' ] = 'Mozilla/5.0 (Linux; Android 8.0.0;) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36';

// Preload mobile pages/posts.

rocket_preload_page(  $pages_to_clean_preload, $args );

}

   }

}


function rocket_preload_page ( $pages_to_preload, $args ){




foreach( $pages_to_preload as $page_to_preload ) {

wp_remote_get( esc_url_raw ( $page_to_preload ), $args );

}

}<br>

 به‌جای https://example.com/page_url_1 و ‘https://example.com/page_url_2 فقط کافیست URL‌های موردنظرتان را قرار دهید.

روش دوم: استفاده از افزونه WP-Cron برای پاکسازی کش

اگر راه‌اندازی کرون جاب از طریق سرور برایتان پیچیده است، روش دوم کارتان را راحت کرده است. پیش‌نیاز انجام این روش، نصب و فعال‌سازی افزونه WP Control است.

گام اول: نصب و فعال‌سازی افزونه WP Control

به WP Admin بروید و از قسمت Tools، گزینه Cron Event را انتخاب کنید.

پاک کردن کش به صورت خودکار از طریق کران جاب
آموزش ایجاد یک Cron Event

گام دوم: ایجاد یک Cron Event

 روی گزینه Add New در بالای صفحه بزنید تا یک Cron Event جدید ایجاد کنید.

پاک کردن کش به صورت خودکار از طریق کران جاب
آموزش ایجاد یک Cron Event

گام سوم: تنظیمات را تکمیل کنید

:Event Type

در بخش Event type، تیک‌ گزینه Standard Cron Event را بزنید.

:Hook name

نامی که در این بخش وارد می‌کنید، طبق نام فایل PHP است که در ابتدای مقاله نحوه ساخت آن را آموزش دادیم.

:Next run

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

:Argument

این قسمت برای وارد کردن آرایه‌های JSON است. برای تنظیم پاکسازی کش وردپرس می‌توانید آن را با خیال راحت خالی بگذارید.

آموزش تنظیم افزونه کش وردپرس با کرون جاب
آموزش تنظیم پاکسازی کش وردپرس

گام چهارم: روی Add Event کلیک کنید

درصورتی‌که روال را با موفقیت پشت سر گذاشته باشید، در صفحه Cron Event، لیست Hook که ساختید، خواهید دید.

حذف حافظه کش وردپرس ازطریق کرون جاب
گزینه Add Event را انتخاب کنید

گام پنجم: ایجاد کرون جاب جدید برای اجرای پاکسازی

برای پاک کردن کش در وردپرس با کرون جاب، پس از ایجاد آن، نیاز است یکی کرون جاب دیگر برای پاکسازی و بارگذاری اولیه کش بسازید. سپس کد زیر را در دایرکتوری روت و در فایل function.php قرار دهید:

// Clear cache

// Also preload the cache if the Preload is enabled.

if ( function_exists( 'rocket_clean_domain' ) ) {

   rocket_clean_domain();

 }


// Clear minified CSS and JavaScript files.

if ( function_exists( 'rocket_clean_minify' ) ) {

   rocket_clean_minify();

}

گام‌ ششم: تعیین زمان و ذخیره Cron Job

از داشبورد وردپرس گزینه Setting را انتخاب کرده و از آن‌جا به بخش Cron Scheduled بروید. در این قسمت، می‌توانید بازه‌های زمانی جدید برای کرون جاب ایجاد کنید. در بخش Internal Name نام فایل PHP که ساختید، وارد کرده و در Display Name مقدار ۱۰ دقیقه قرار دهید درنهایت، روی Add Cron Schedule کلیک کنید.

پاکسازی کش در وردپرس با کرون جاب
زمان‌بندی Cron Job را مشخص کنید

بازه زمانی جدید، در لیست کنار صفحه برایتان ظاهر خواهد شد.

پاکسازی فضای کش با کرون جاب
نمایش بازه زمانی جدید

به بخش Tools و سپس Cron Event برگردید. در صفحه‌ای که برایتان باز شده است، یک بخش جدید به نام Edit Cron Event خواهید دید. از قسمت Recurrence مقدار 10 Minutes را انتخاب کنید تا هر ۱۰ دقیقه، پاک کردن فضای کش به صورت اتوماتیک با Cron Job انجام شود. درنهایت، با زدن گزینه Update Event، مقدار موردنظر شما ذخیره خواهد شد و کش وردپرس به‌طور خودکار با کرون جاب پاک می‌شود.

پاک کردن کش در وردپرس با کرون جاب
پاکسازی فضای کش با کرون جاب هر ده دقیقه یک‌بار

جمع‌بندی

پاک کردن کش در وردپرس با کرون جاب را از دو روش تنظیم سرور و نصب افزونه بررسی کردیم. به‌کمک Cron Job می‌توانید به‌طور خودکار و در زمان‌بندی مشخص کش وردپرس را پاک کنید. بدون اینکه نیاز باشد خودتان به‌صورت دستی و مداوم کار پاک‌کردن کش در وردپرس را انجام دهید، محتوای کش سایت همیشه به‌روز خواهد ماند. درصورتی‌که نیاز به‌ راهنمایی بیشتر در این زمینه دارید، سوالاتتان را می‌توانید در انتهای همین مقاله بنویسید. کارشناسان پارس پک مشتاق پاسخگویی و راهنمایی به شما خواهند بود.

در نظر داشته باشید که:

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

سؤالات متداول

۱. چه تفاوتی بین WP-Cron و Cron وجود دارد؟

WP-Cron یک برنامه مبتنی بر وب است که سیستم‌عامل Cron یونیکس را شبیه‌سازی می‌کند. WP-Cron تمام فعالیت‌های مربوط به Cron Job را مدیریت می‌کند.

۲. Cron Job در وردپرس در کجا قرار گرفته است؟

کرون جاب در وردپرس را از طریق افزونه‌هایی مانند WP Crontrol یا WP Cron Manager و همچنین در فایل Wp-Config.php در سرور قرار دارد.

۳. نحوه پاک کردن کش در وردپرس با کرون جاب چگونه است؟

در ابتدا، نیاز است یک فایل PHP جدید بسازید و کد Cron Job را در آن قرار دهید. سپس، از طریق سرور یا نصب افزونه Wp-cron برای پاکسازی و بارگذاری اولیه کش در وردپرس می‌توانید اقدام کنید.

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

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


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.

با خدمات ابری پارس پک آشنا شوید

اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم