آموزش پاک کردن کش از طریق Cron Job در وردپرس
در این مقاله میخوانید
- اهمیت پاک کردن فضای کش با کرون جاب
- نحوه پاک کردن کش در وردپرس با کرون جاب
- پیشنیاز لازم برای پاک کردن کش در وردپرس با کرون جاب
- مرحله اول: ایجاد یک فایل PHP
- مرحله دوم: قرار دادن کد پاکسازی کش در فایل PHP
- مرحله سوم: قرار دادن فایل در در دایرکتوری اصلی وردپرس
- مرحله چهارم: غیرفعال کردن Cron Job وردپرس
- مرحله پنجم: اضافه کردن کرون جاب جدید
- بارگذاری صفحات خاص و پاک کردن کش در وردپرس با Cron job
- جمعبندی
- سؤالات متداول
پاک کردن کش در وردپرس با کرون جاب یک راهکار هوشمندانه برای پاکسازی و بهروزرسانی کش وردپرس است. کرون جاب در زمانبندی که شما قبلاً برایش تعریف کردید، مانند یک آلارم هشدار عمل کرده و کار پاک کردن فضای کش را انجام میدهد. به بیانی سادهتر، پاک کردن کش در وردپرس با 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 را تنظیم کنید
اکنون میخواهیم کرون جاب را طوری تنظیم کنیم که هر ۵ دقیقه یکبار اجرا شود. برای این کار، قالب زیر را در کادر ۱ وارد میکنیم:
*/5 * * * *
همچنین میتوانید بهصورت دستی و دلخواه، در کادر دو زمانبندی مناسب را تعیین کنید. درصورتیکه در نوشتن دستورات Cron Job، تسلط کافی ندارید، از ابزارهای رایگانی همچون Crontab.guru یا Crontab Generator برای تولید اعداد دقیق زمان میتوانید استفاده کنید.
گام چهارم: دستور موردنظرتان را وارد کنید
در بخش Command نیاز است آدرس فایلی را وارد کنید که قصد اجرای آن را دارید. ما برای اجرای لینک زیر از دستور wget بهجای آدرس فایل استفاده کردیم:
wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
بهجای https://yourdomain.com، نام دامنه سایتتان را وارد کنید.
درنهایت، روی گزینه Add New Cron Job کلیک کنید.
برای آشنایی با آموزش ایجاد کرون جاب در دایرکت ادمین مقاله زیر را از دست ندهید.
۲. اضافه کردن کرون جاب در دایرکت ادمین
مشابه سیپنل، برای اضافه کردن Cron Job در دایرکت ادمین نیاز است در صفحه اصلی کنترل پنل از بخش تنظیمات پیشرفته روی گزینه Cron Jobs کلیک کنید.
همانند سیپنل، صفحهای برایتان باز خواهد شد که در آن میتوانید زمانبندی و آدرس فایلی که قصد دارید آن را اجرا کنید، انجام دهید. پس از ایجاد کرون جاب در دایرکت ادمین، ادامه تنظیمات را بهصورت زیر پیش خواهیم برد.
گام پنجم: ایجاد Cron Job جدید برای اجرای پاکسازی کش PHP
پس از اجرای کرون جاب روی سرور، نیاز است یک کرون جاب جدید برای پاکسازی و بارگیری کش PHP ایجاد کنیم. برای این کار، مانند مرحله قبل پس از وارد کردن ایمیل، دستور زیر را در قسمت Command وارد خواهیم کرد:
wget -q -O https://yourdomain.com/rocket-clear-cache-cron.php >/dev/null 2>&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
روی گزینه Add New در بالای صفحه بزنید تا یک Cron Event جدید ایجاد کنید.
گام سوم: تنظیمات را تکمیل کنید
:Event Type
در بخش Event type، تیک گزینه Standard Cron Event را بزنید.
:Hook name
نامی که در این بخش وارد میکنید، طبق نام فایل PHP است که در ابتدای مقاله نحوه ساخت آن را آموزش دادیم.
:Next run
زمانبندی اجرای کش را میتوانید از بین سه گزینه همین حالا، فردا یا سفارشی انتخاب کنید.
:Argument
این قسمت برای وارد کردن آرایههای JSON است. برای تنظیم پاکسازی کش وردپرس میتوانید آن را با خیال راحت خالی بگذارید.
گام چهارم: روی Add Event کلیک کنید
درصورتیکه روال را با موفقیت پشت سر گذاشته باشید، در صفحه Cron Event، لیست Hook که ساختید، خواهید دید.
گام پنجم: ایجاد کرون جاب جدید برای اجرای پاکسازی
برای پاک کردن کش در وردپرس با کرون جاب، پس از ایجاد آن، نیاز است یکی کرون جاب دیگر برای پاکسازی و بارگذاری اولیه کش بسازید. سپس کد زیر را در دایرکتوری روت و در فایل 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 کلیک کنید.
بازه زمانی جدید، در لیست کنار صفحه برایتان ظاهر خواهد شد.
به بخش 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 برای پاکسازی و بارگذاری اولیه کش در وردپرس میتوانید اقدام کنید.