نحوه پاک کردن کش در وردپرس با کرون جاب Cron job
راستش خیلی در مورد اهمیت پاک کردن کش در وردپرس و نحوه انجام آن صحبت کردیم اما راه های جذابش را نگفته بودیم. امروز تقریبا با یک نکته جدید و مفید میان شما دوستان پاورسرور آمده ایم. در حقیقت متوجه می شوید که سیستم های ارائه شده به شما تا چه حد انعطاف پذیر و با قابلیت است. کرون جاب ویژگی مهمی بوده که از سوی سی پنل در اختیارتان قرار گرفته و اتفاقا نقش مهمی در خالی کردن حافظه پنهان سایت ایفا می کند. اگر می خواهید در مورد چگونگی این فرایند اطلاعات بیشتری بدست آورید، همراه ما باشید!
آموزش پاک کردن کش در وردپرس با کرون جاب
اول اینکه باید افزونه 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 ); } }
امیدواریم که مطلب نحوه پاک کردن کش در وردپرس با کرون جاب مورد توجه شما قرار گرفته باشد. وبلاگ پاورسرور سرشار از مطالب مفید و کاربردی است که در دسته های مختلف وجود دارند.