همانطور که در مقالات قبلی اشاره کردیم یکی از راههای افزایش سرعت سایت و بهینهسازی ان از طریق دیتابیس صورت میگیرد که میتوانید با بهینه سازی و کاهش حجم دادههای نامربوط در آن سرعت سایت را به حد مطلوبی افزایش دهید. در مقاله پیشین وردپرس به نحوه بهینهسازی دیتابیس وردپرس از طریق افزونه WP-Sweep پرداختیم، حال در این آموزش نیز قصد داریم تا نسبت به بهینه سازی دیتابیس وردپرس از طریق فایل فانکشن بپردازیم. پس تا انتها با ما همراه باشید.
آموزش بهینه سازی دیتابیس وردپرس با فایل فانکشن
همانطور که میدانید یکی از ویژگیهای وردپرس این است که به صوت خودکار هنگام نوشتن مطلب در زمانهای متعدد و منظمی یک رونوشت از آن تهیه میکند تا در صورت هرگونه قطع ارتباط با سایت نظیر اختلال در اینترنت و.. یک نسخه از آخرین تغییرات نوشته شما در خود به صورت پیش نویس نگهداری کند. برای اینکه بیشتر با رونوشتها آشنا شوید کافی است تا مطابق تصویر زیر به ویرایش یکی از مطالب خود مراجعه کرده و در بخش انتشار نوشته بر روی بخش رونوشتها کلیک کنید.
اما به دلیل اینکه این رونوشت به مرور حجم زیادی را از دیتابیس میگیرد و در هر بار ویرایش پست نیز به روز میشود در سایتهایی که دارای مطالب و دادههایی با حجم بالا میباشند باعث مشکل خواهد شد. لذا ما میتوانیم رونوشتها را در وردپرس به صورت کامل غیرفعال کرده و یا اینکه زمان هر بار به روزرسانی رونوشت را بیشتر کنیم.
کد غیرفعال کردن رونوشتها در وردپرس
با استفاده از کد زیر میتوانید رونوشتهای وردپرس را به صورت کامل غیرفعال کنید، دقیت داشته باشید که با غیرفعال شدن رونوشت هیچگونه تغییراتی به صورت خودکار در نوشته شما تا زمانی که به صورت دستی آن را در حالت پیش نویس و یا انتشار قرار ندهید، ذخیره نخواهد شد. برای غیرفعال کردن رونوشت خودکار وردپرس کد زیر را در فایل فانکشن قالب خود قرار دهید.
function disableAutoSave(){ wp_deregister_script('autosave');} add_action( 'wp_print_scripts', 'disableAutoSave' );
بهینه سازی دیتابیس با تغییر زمان ذخیره خودکار نوشته
اما اگر میخواهید تا ذخیره خودکار نوشته در وردپرس را به صورت کامل غیرفعال نکنید میتوانید با تغییر مدت زمان هر ذخیره خودکار حجم دادههایی را که برای رونوشتها از دیتابیس گرفته میشود را تا حد محسوسی کاهش دهید. برای این منظور کد زیر را در جای مناسبی از فایل wp-congig.php خود قرار دهید.
define('AUTOSAVE_INTERVAL', 300 ); // seconds define('WP_POST_REVISIONS', false );
همانطور که در کد بالا میبینید ما مدت زمان ۳۰۰ ثانیه را برای هر بار ذخیره کردن از نوشته تعیین کردهایم، شما نیز میتوانید به راحتی با تغییر عدد مورد نظر بر حسب ثانیه مدت زمان دلخواه خود را تعیین کنید.
بهینه سازی دیتابیس با حذف رونوشتها در وردپرس
هم اکنون که این مقاله را مشاهده میکنید حتما تعداد زیادی مطالب در سایت شما قرار دارد، لذا رونوشتهای زیادی در دیتابیس سایت وردپرسی شما ذخیره شده است. شاید پیش خود فکر کنید که: “ای دل غافل! حال با این تعداد رونوشت که در سایت قرار دارد چکار کنم؟! 🙁 “
همینجا خیالتان را راحت کنیم که امکان حذف رونوشتها در وردپرس نیز به آسانی وجود دارد، کافیاست تا مطابق تصویر زیر وارد پیشخوان سایت وردپرسی خود شده و به بخش نمایش> ویرایشگر مراجعه کرده و فایل توابع وردپرس (functions.php) را انتخاب کرده و مطابق تصویر زیر کد زیر را در آخرین خط قرار داده و بر روی ذخیره تغییرات کلیک کنید.
نکته: مثل همیشه دقت داشته باشید تا یک کپی از فایل فانکشن خود داشته باشید تا در صورت اشتباه بتوانید به راحتی به حالت قبل برگردید!
$wpdb->query( "DELETE FROM $wpdb->postsWHERE post_type = 'revision'" );
پس از اینکه تغییرات را ذخیره کردید صفحه اصلی سایت خود را یک بار باز کرده و ترجیحا از کلید ترکیبی CTRL + F۵ و یا F۵ یک بار صفحه سایت را ریلود نمایید، سپس کد را مجددا برداشته و فایل فانکشن را به حالت قبل برگردانید، مجددا به ویرایش یکی از نوشتهها مراجعه نمایید خواهید دید که دیگر هیچ رونوشتی برای نوشته (ها) وجود نخواهد داشت.
موفق باشید.
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید