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

0 44

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

آموزش پاک کردن کش در وردپرس با کرون جاب

اول اینکه باید افزونه WP Rocket را حتما روی وردپرس نصب و فعال کرده باشید. این افزونه قدرتمند برخی از توابع سفارشی را برای پیش بارگذاری (به لاتین preloading) و پاک کردن کش در وردپرس فراهم می کند. به منظور اجرای این توابع در هر زمان از روز، باید از یک کرون جاب Cron job استفاده کنید. برای کسب اطلاعات بیشتر در مورد این قابلیت حتما پست آموزش فعال کردن Cron Jobs در سی پنل را مطالعه کنید.

تنظیم کرون جاب برای پاک کردن کش در وردپرس

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

اول – یک فایل PHP ایجاد کنید و نام آن را به عنوان مثال rocket-clean-domain.php بگذارید.

دوم – برای پاک کردن کش در وردپرس باید کدهای زیر را در فایل مذکور قرار دهید:

<?php

// Load WordPress.

require( 'wp-load.php' );

// Clear cache.

if ( function_exists( 'rocket_clean_domain' ) ) {

                rocket_clean_domain();

 }

سوم – این فایل را در دایرکتوری اصلی سایت Public_html قرار دهید.

چهارم – از این اطمینان حاصل کنید که مسیر rocket-clean-domain.php را به درستی در تنظیمات کرون جاب قرار داده اید.

تا اینجا نحوه پاک کردن کش در وردپرس با کرون جاب را توضیح دادیم اما همیشه موارد خاصی هم وجود دارند که در ادامه به آن ها خواهیم پرداخت.

پاک کردن کش و راه اندازی پیش بارگذاری

در توضیحات بالا کدی را به شما معرفی کردیم که فقط حافظه پنهان یا همان کش را پاک می کرد و کاری به پیش بارگذاری نداشت. به منظور راه اندازی پیش بارگذاری از تابع run_rocket_sitemap_preload() استفاده نمایید. البته پیش از آن مطمئن شوید که پیش بارگذاری نقشه سایت در تنظیمات WP Rocket فعال باشد. باید قابلیت تشخیص اتوماتیک برای Yoast و افزونه های دیگر فعال شود یا URL نقشه سایت مشخص گردد. کدهای مربوطه به شرح زیر اعلام می شود:

<?php

// Load WordPress.

require( 'wp-load.php' );

// Clear cache.

if ( function_exists( 'rocket_clean_domain' ) ) {

                rocket_clean_domain();

}

// Preload cache.

if ( function_exists( 'run_rocket_sitemap_preload' ) ) {

                run_rocket_sitemap_preload();

}

اگر می خواهید فقط پیش بارگذاری مبتنی بر صفحه اصلی را فعال نمایید، به جای run_rocket_sitemap_preload از تابع run_rocket_bot استفاده کنید. البته این مورد هم منوط به روشن فعالسازی پیش بارگذاری در WP Rocket است.

برای اینکه از عدم پاک سازی کش و اجرای پیش بارگذاری به صورت اتوماتیک اطمینان حاصل کنید، باید موارد زیر را در نظر بگیرید:

  • تنظیم Cache Lifespan روی عدد 0
  • غیرفعال کردن پاک کردن کش اتوماتیک

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

به جای اینکه کش را در کل سایت خود پاک کنید، می توانید یک URL را در نظر داشته باشید. البته پیش از آن الزاماتی را باید رعایت کرد:

  • به جای https://example.com/page_url_1، آدرس اینترنتی مورد نظر برای پاک کردن کش را وارد نمایید.
  • کلیه خط هایی که در کد زیر دارای URL هستند، مثال آورده شده اند. بنابراین آدرس URL دلخواه خود را جایگزین کنید.
<?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 );

                }

}

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

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.