رونوشت راهکار بسیار خوبی برای برگرداندن تغییرات نوشته در وردپرس است. اما گاهی اوقات میتوانند تأثیرات منفی زیادی بر عملکرد سایتهای وردپرس داشته باشند. در سایتهای بزرگ با داشتن هزاران مطلب و نوشته، خیلی سریع هزاران ردیف از این رونوشتها به پایگاه داده وردپرس اضافه میشود.
این رو نوشتها بسیاری اوقات بلااستفاده هستند و فقط فضای داخلی پایگاه داده وردپرس را اشغال میکند. هر نوشته در وردپرس ممکن است بیشتر از دهها رونوشت داشته باشد.
هر بار که روی نوشتههای خود تغییراتی اعمال کنید و آن را ذخیره کنید، یک رونوشت جدید از نوشته شما در پایگاه داده وردپرس ذخیره میشود. همانطور که گفته شد با افزایش تعداد رونوشتها حجم گستردهای از پایگاه داده وردپرس اشغال خواهد شد و لازم است که این رونوشتها حذف شوند.
سایتهای قدیمی نیازی ندارند که تمامی رونوشتهای خود را ذخیره کنند. تصور کنید سایتی دارای ۱۰۰۰ صفحه یا نوشته باشد، که هر کدام از آنها دهها رونوشت داشته باشند. در نتیجه حجم بسیار زیادی از پایگاه داده سایت اشغال خواهد شد. در این مطلب سعی میکنیم روشهای مختلفی را برای حذف رونوشتها بررسی کنیم.
غیرفعال کردن رونوشت وردپرس با استفاده از کد
برای آنکه بتوانید رونوشت نوشتههای خود را برای همیشه غیرفعال کنید، باید وارد داشبورد وردپرس شوید و از آنجا فایل wp-config.php را در قسمت ریشه دایرکتوری پیدا کنید و سپس خط زیر را به بالاترین قسمت آن اضافه کنید.
define( ‘WP_POST_REVISIONS’, false );
این کد تمامی رونوشتهای نوشتههای شما را غیرفعال میکند و به آنها اجازه ذخیرهشدن در دیتابیس را نمیدهد. مقدار false قابلیت ایجاد رونوشت را غیرفعال میکند. اگر در آینده بخواهید ذخیرهسازی رونوشتها را مجددا فعال کنید، کافی است به سادگی این خط را با خط زیر جایگزین کنید. مقدار true مقدار پیشفرض وردپرس است و قابلیت ایجاد رونوشت را فعال میکند.
define( ‘WP_POST_REVISIONS’, true );
برای آنکه بتوانید تمام رونوشتها را از پایگاه داده حذف کنید باید این MySQL query را اجرا کنید.
DELETE FROM `wp_posts` WHERE `post_type` = "revision" AND `post_name` LIKE "%revision%"
این کد تمام رونوشتهایی که در پایگاه داده از قبل وجود داشته را حذف خواهد کرد.
حذف رونوشت وردپرس با استفاده از پلاگین
استفاده از پلاگین یکی دیگر از بهترین راهکارها برای حذف رونوشت وردپرس است. پلاگینها میتوانند کمک بسیار زیادی به آزادسازی فضای پایگاه داده بکنند.
هرچند باید در اجرای MySQL query بسیار دقت کنید. چون ممکن است با مرتکب شدن اشتباهاتی، باعث ایجاد خطاهای متعدد در سایت شوید. یکی از بهترین پلاگینهایی که برای حذف رونوشت وردپرس، پلاگین رایگان WP-Sweep است.
نکته: در صورتی که به شیوه صحیح از پلاگینهای پایگاه داده استفاده نکنید، ممکن است باعث ایجاد خسارتهایی در سایت شوید. بنابراین توصیه میکنیم همیشه یک بکآپ از پایگاه داده MySQL خود بگیرید. همچنین بهتر است با یک توسعهدهنده همکاری کنید تا از مشکلات احتمالی پیشگیری کند.
- در مرحله اول پلاگین رایگان WP-Sweep را دانلود و آن را نصب و راهاندازی کنید. این افزونه بیش از ۶۰ هزار نصب فعال در سراسر دنیا دارد و امتیاز بالایی نیز از کاربران وردپرسی دریافت کرده است. میتوانید وارد مخزن وردپرس شوید و آن را دانلود کنید، یا از قسمت داشبورد وردپرس و قسمت اضافه کردن، آن را جستجو، نصب و فعالسازی کنید.
- در مرحله دوم در قسمت ابزارها روی گزینه Sweep کلیک کنید. در این قسمت شما رونوشتها را مشاهده میکنید. میتوانید روی جزئیات رونوشتها کلیک کنید، تا فهرستی از تمام نوشتههای مرتبط با رونوشتها را مشاهده کنید.
- در مرحله سوم بر روی گزینه Sweep کلیک کنید و به رونوشت بعدی بروید. بعد از آن یک تایید کلی از تعداد رونوشتهای حذف شده به شما نشانداده خواهد شد.
محدود کردن تعداد رونوشتها در وردپرس
ممکن است بخواهید به جای حذف رونوشت وردپرس به صورت کامل، تنها تعداد محدودی از آنها را ذخیره کنید.
در مرحله اول باید وارد فایل wp-config.php شوید، چرا که نیاز دارید کدهایی را به آن اضافه کنید. با استفاده از FTP میتوانید وارد قسمت دایرکتوری سایت وردپرس خودتان شوید. در مرحله دوم کد زیر را در قسمت بالای ABSPATH قرار دهید. توجه کنید که اگر کد بالای ABSPATH نباشد کار نخواهد کرد.
define('WP_POST_REVISIONS', 3);
میتوانید به جای عدد ۳ هر عددی را جایگزین کنید. این عدد باعث اعمال محدودیت در تعداد ایجاد رونوشتها میشود. به عنوان مثال اگر مقدار ۵ را تعیین کنید، به ازای هر پست فقط ۵ رونوشت ایجاد میشود و رونوشتهای جدید روی رونوشتهای قبلی بازنویسی میشوند.
این گزینه برای افرادی که از لحاظ حجم پایگاه داده دارای محدودیت هستند و از طرفی تمایل دارند که از قابلیت ایجاد رونوشت استفاده کنند گزینه بسیار مناسبی است. همچنین برای محدود کردن و حتی غیرفعال کردن تعداد رونوشتها میتوانید از پلاگینی مانند perfmatters هم استفاده کنید.
تغییر زمان ذخیره خودکار در وردپرس
در کنار موارد بالا میتوانید بازهی ذخیره خودکار را نیز تغییر دهید. در صورتی که بخواهید برای ذخیره رونوشتها زمان تعیین کنید میتوانید وارد wp-config.php شوید و کد زیر را به آن اضافه کنید:
define('AUTOSAVE_INTERVAL', 600 );
ذخیره خودکار در وردپرس به صورت پیشفرض ۱ دقیقه است. اما میتوان آن را تغییر داد که در اینجا ما زمان را روی ۱۰ دقیقه تنظیم کردهایم. این کد هر ۱۰ دقیقه یک بار نوشتههای شما را ذخیره میکند و مانع از انباشته شدن تعداد زیادی از رونوشتها در پایگاه داده وردپرس خواهد شد
این کد هرچند نمیتواند که رونوشتهای قبلی که در پایگاه داده وجود داشته است را حذف کند. حذف خودکار میتواند برای زمانهایی که احتمال قطع شدن اینترنت وجود دارد بسیار مفید باشد. همچنین میتوان از پلاگینهایی مانند WP Revisions Control و WP-Sweep نیز برای کنترل زمانبندی رونوشتها استفاده کنید.
آموزش حذف رونوشتهای قدیمی از دیتابیس با استفاده از پلاگین
هرچند که حذف کردن رونوشتهای قدیمی میتواند با استفاده از MySQL query بسیار ساده و سریع انجام شود، اما کاربران زیادی هستند که ترجیح میدهند برای این کار از پلاگین استفاده کنند. این روش دیگر نیازی به دانش کدنویسی ندارد و خطرات کمتری نیز برای سایت دارد. پلاگین Revision Control کاربران را قادر میکند تا کنترل کاملتری بر رونوشتهای سایت خود داشته باشند.
کاربرانی که از این پلاگین استفاده میکنند، میتوانند با استفاده از یک کلیک ساده رونوشت خود را فعال یا غیرفعال کنند. Revision Control همچنین کاربران را قادر میسازد محدودیتهایی را در تعداد رونوشتهای ذخیره شده در پایگاه داده وردپرس ایجاد کنند.
همچنین پلاگین Better Delete Revision گزینه دیگری برای حذف رونوشتهای قدیمی از دیتابیس وردپرس است که اکثر وب مسترها و برنامه نویسان از آن استفاده میکنند. هر دو پلاگین به صورت رایگان در اختیار کاربران قرار دارند.