بهینه سازی دیتابیس وردپرس از طریق رونوشتها
با سلام خدمت دوستان عزیز وردپرسی!
یکی از راههایی که میتوان از طریق آن سرعت و امنیت سایت را افزایش داد از طریق بهینه سازی دیتابیس صورت میگیرد که میتوانید با بهینه سازی و کاهش حجم دادههای نامربوط در آن سرعت و امنیت سایت را به حد مطلوبی افزایش دهید.
در مقاله پیشین وردپرس به نحوه افزایش سرعت سایت با استفاده از قابلیت cookie free-domain پرداختیم، حال در این آموزش قصد داریم تا نسبت به بهینه سازی دیتابیس وردپرس از طریق فایل فانکشن و فایل کانفیگ بپردازیم. پس تا انتها با ما همراه باشید.
رونوشت وردپرس چیست؟
قبل از شروع کار بیایید ببینیم اصلا منظور از رونوشت چیست؟!
همانطور که میدانید یکی از ویژگیهای وردپرس این است که به صوت خودکار هنگام نوشتن مطلب در زمانهای معین شده و منظمی یک رونوشت یا ذخیره خودکار از آن تهیه میشود تا در صورت هرگونه قطع ارتباط با سایت نظیر اختلال در اینترنت و.. یک نسخه از آخرین تغییرات نوشته شما در خود به صورت پیش نویس نگهداری کند. برای اینکه بیشتر با رونوشتها آشنا شوید کافی است تا مطابق تصویر زیر به ویرایش یکی از مطالب خود مراجعه کرده و در بخش انتشار نوشته بر روی بخش رونوشتها کلیک کنید.
پس از اینکه بر روی رونوشتهای نوشته کلیک کردید وارد صفحهای مشابه تصویر زیر خواهید شد که در آن میتوانید تمامی رونوشتها را با اسکرول کردن نوار مشخص شده در تصویر مشاهده و جهت ویرایش بازیابی کنید.
اما به دلیل اینکه این رونوشت به مرور حجم زیادی را از دیتابیس میگیرد و در هر بار ویرایش پست نیز به روز میشود در سایتهایی که دارای مطالب و دادههایی با حجم بالا میباشند باعث مشکل خواهد شد. لذا ما میتوانیم رونوشتها را در وردپرس به صورت کامل غیرفعال کرده و یا اینکه زمان هر بار به روزرسانی رونوشت را بیشتر کنیم.
کد غیرفعال کردن رونوشتها در وردپرس
با استفاده از کد زیر میتوانید رونوشتهای وردپرس را به صورت کامل غیرفعال کنید، دقت داشته باشید که با غیرفعال شدن رونوشت هیچگونه تغییراتی به صورت خودکار در نوشته شما تا زمانی که به صورت دستی آن را در حالت پیش نویس و یا انتشار قرار ندهید، ذخیره نخواهد شد.
برای غیرفعال کردن رونوشت خودکار وردپرس کد زیر را در فایل فانکشن (functions.php) قالب خود قرار دهید:
function disableAutoSave(){ wp_deregister_script('autosave');}add_action( 'wp_print_scripts', 'disableAutoSave' );
بهینه سازی دیتابیس با تغییر زمان ذخیره خودکار نوشته
اما اگر میخواهید تا ذخیره خودکار نوشته در وردپرس را به صورت کامل غیرفعال نکنید میتوانید با تغییر مدت زمان هر ذخیره خودکار، حجم دادههایی را که برای رونوشتها از دیتابیس گرفته میشود را تا حد محسوسی کاهش دهید. برای این منظور کد زیر را در جای مناسبی از فایل wp-config.php خود قرار دهید.
نکته: مثل همیشه یک کپی از فایل wp-config.php داشته باشید تا در صورت هرگونه مشکلی بتوانید وضعیت را به حالت قبل برگردانید!
define('AUTOSAVE_INTERVAL', 300 ); // secondsdefine('WP_POST_REVISIONS', false );
همانطور که در کد بالا میبینید ما مدت زمان 300 ثانیه را برای هر بار ذخیره کردن از نوشته تعیین کردهایم، شما نیز میتوانید به راحتی با تغییر عدد مورد نظر بر حسب ثانیه مدت زمان دلخواه خود را تعیین کنید.
بهینه سازی دیتابیس با حذف رونوشتها در وردپرس
هم اکنون که این مقاله را مشاهده میکنید حتما تعداد زیادی مطلب در سایت شما قرار دارد، لذا رونوشتهای زیادی در دیتابیس سایت وردپرسی شما ذخیره شده است.
شاید پیش خود فکر کنید که: “ای دل غافل! حالا با این همه رونوشت که تو سایته چکار کنم؟! 🙁 “
همینجا خیالتان را راحت کنیم که امکان حذف رونوشتها در وردپرس نیز به آسانی وجود دارد ! ، کافیاست تا مطابق تصویر زیر وارد پیشخوان سایت وردپرسی خود شده و به بخش نمایش> ویرایشگر مراجعه کرده و فایل توابع وردپرس (functions.php) را انتخاب کرده و کد زیر را در آخرین خط قرار داده و بر روی ذخیره تغییرات کلیک کنید.
$wpdb->query( "DELETE FROM $wpdb->postsWHERE post_type = 'revision'" );
نکته: مثل همیشه دقت داشته باشید تا یک کپی از فایل فانکشن خود داشته باشید تا در صورت اشتباه بتوانید به راحتی به حالت قبل برگردید!
پس از اینکه تغییرات را ذخیره کردید صفحه اصلی سایت خود را یک بار باز کرده و ترجیحا با استفاده از کلیدهای ترکیبی CTRL + F5 ، CTRL + R و یا F5 یک بار صفحه سایت را ریلود نمایید، سپس کد را مجددا برداشته و فایل فانکشن را به حالت قبل برگردانید، مجددا به ویرایش یکی از نوشتهها مراجعه نمایید، خواهید دید که دیگر هیچ رونوشتی برای نوشته (ها) وجود ندارد.
منبع: wpbeginner
شاد باشید
sadegh306 6 سال User of HamyarWp
سلام
کد حذف رونوشت ها مشکل داره و با خطا همراه هستش و قالب اون رو ذخیره سازی نمی کنه …
کد غیر فعال کردن رونوشت ها هم اثر نمیکنه و با اینکه در قالب قرار داده میشه، با همچنان تعداد رونوشت ها افزایش پیدا می کنه!…
اگر لطف بفرمایید و بررسی کنید ممنون میشیم.
با تشکر از تیم فوق العاده همیار وردپرس
ریحانه
سلام. من کد حذف رو گذاشتم اما دیگه نمیتونم وارد پنل کاربری بشم. خطا میده “Not available.”
قبلا چشم بسته به کدها و افزونه های شما اعتماد میکردم اما الان انگار …
بهاره کوهستانی 11 سال User of HamyarWp
سلام
دوست عزیز بعضی از قالب ها دارای function.php حساسی هستند و این ارتباطی به خرابی کد نداره. شما کدها رو از داخل پنل هاست از فایل مربوطه حذف کنید.
حسین
ما کد را گذاشتیم اما بالای قالبمون کد دیده میشه چرا ؟؟؟؟؟
حسین
قالب بهم میریزه
عباس صادقی 8 سال User of HamyarWp
احتمالا کد رو اشتباه گذاشتید، دقت کنید توی فایل فانکشن باشه و بعد از اینکه سایت رو یک بار لود کردید مجددا کد رو بردارید!
ورمی کمپوست بیوتوپراق
ممنون
محمد
سلام
یک سوال ساده ، (کد sql می خوام)
از جدول wp_posts با دو فیلد post-title و post-content می خواهم مقدار post-title به ابتدای مقدار post-content اضافه شود.
دستور زیر را اجرا کردم انجام میشه ولی مقدار کاراکتر 0 در post-content قرار میگیره.
UPDATE wp_posts
SET post_content=post_title + post_content
ممنون میشم کمکم کنی تا این کار رو انجام بدم.
با سپاس
ارمين
با سلام ببخشيد ايا امكان اين هست كه فايلي وعكس هاي كه در وردپرس اپلود مي كنيم در ديتابس ذخيره نشوند.. چون در phpadminسايتم نگاه كردم در كنار نوشته هر عكس هم اپلود كردم يه پست مثل پستها موجود مي باشدكه با3000 پست حدود65مگ حجم ديتابس شده است با تشكر
عباس صادقی 8 سال User of HamyarWp
سلام؛ فایلها تو دیتابیس ذخیره نمیشن، بلکه آدرس اونها هستن، اگرم آدرسها ذخیره نشه که تو رسانه به آدرس فایلا دسترسی ندارید! 😀
sitesazberoz 8 سال User of HamyarWp
با سلام
من کد بهینه سازی دیتابیس با حذف رونوشتها در وردپرس را گذاشتم و مراحل را طبق مراحل ذکر شده انجام دادم ولی رونوشت ها حذف نشد | مشکل از کجاست
عباس صادقی 8 سال User of HamyarWp
سلام؛ بعد از درج کد یکبار آدرس سایتتون رو در حالتی که لاگین کردین باز کنید، ترجیحا صفحه سایت رو هم یه رفرش بکنید!
سیامک
سلام
ممنون از این مقاله مفید.
کد قسمت حذف رونوشت ها ایراد داره لطفا اصلاح کنید.
حسین
آره کلا ایراد داره
sitesazberoz 8 سال User of HamyarWp
با سلام
در قسمت انتشار مطلب در پنل خودم هر مطلبی که بذارم مشکلی نداره ؟ | یعنی مثلا مطلبی در مورد سیستم های وبلاگ دهی مثل بلاگفا یا در مورد نرم افزار های اندرویدی یا ویندوزی یا در مورد تلگرام یا در مورد الکسا رتبه الکسا و هر چیز دیگه ای که با الکسا ربط داشته باشه یا موتور های جستجو مثل گوگل یا آموزش ساخت پسورد قوی و تست کردن آن یا در مورد مرورگرها و سایتها یا مطالبی در مورد اچ تی ام ال و جاوااسکریپت یا آموزش بالا بردن بازدید سایت و خرید بازدید یا …..
ممنون میشم جوابمو از طریق ایمیل بدید و این دیدگاه را منتشر نکنید به صورت خصوصی میاشد
حسین
آره کلا ایراد داره
سایت ساز بروز
با سلام
من میخوام این مطلب را در سایت ساز بروز انتشار بدم !
میخواستم بدونم اگه در آخر این مطلب بنویسم :
” منبع : همیار وردپرس ” و کلمه همیار وردپرس را با آدرس این صفحه لینک کنم مشکلی نداره کپی کردنم ؟
ممنون میشم پاسخم را بدید ؟
با تشکر
حسین رحیمی 11 سال User of HamyarWp
با احترام
در صورت لینک دادن به همیار وردپرس، مشکلی نیست.
only.sadeghi 8 سال User of HamyarWp
بسیار عالـــی 🙂
sitesazberoz 8 سال User of HamyarWp
با سلام
سپاس
از الان به بعد بعضی از مطالبتون رو در سایت ساز بروز با لینکتون قرار میدم
با تشکر از تیم همیار وردپرس
only.sadeghi 8 سال User of HamyarWp
این خیلی خوبه که منبع ذکر میکنید 🙂 متاسفانه نویسنده چندتا از سایتهای پرترافیک همین مطلب رو درج کردن بدون ذکر منبع و یا نویسنده، وقتی هم نظری ارسال میکنی تایید نمیکنن 😐