SHET29

حذف رونوشت‌ها برای بهینه سازی دیتابیس و افزایش سرعت وردپرس(آموزش حذف و محدود کردن رونوشت‌های وردپرس برای بهینه‌سازی دیتابیس (راهنمای کامل))

حذف رونوشت‌ها برای بهینه سازی دیتابیس و افزایش سرعت وردپرس(آموزش حذف و محدود کردن رونوشت‌های وردپرس برای بهینه‌سازی دیتابیس (راهنمای کامل))

اگه مدتیه که با وردپرس کار می‌کنید، حتماً براتون پیش اومده که یه نوشته رو منتشر کنید، بعد برگردید و یه غلط تایپی رو درست کنید، و چند دقیقه بعد هم یه پاراگراف دیگه بهش اضافه کنید. چیزی که شاید بهش دقت نکرده باشید اینه که وردپرس با هر بار ذخیره، یه نسخه‌ی کامل از اون نوشته رو به اسم «رونوشت» توی پایگاه داده نگه می‌داره.

برای یکی دو تا نوشته این موضوع اصلاً مهم نیست. ولی وقتی سایتتون چند صد یا چند هزار مطلب داشته باشه و هر کدوم ده‌ها بار ویرایش شده باشن، این نسخه‌ها کم‌کم جمع می‌شن و دیتابیس رو بی‌دلیل بزرگ می‌کنن.

توی این مقاله اول توضیح می‌دیم رونوشت‌ها دقیقاً چی هستن و واقعاً چقدر روی سایت اثر می‌ذارن. بعد سه روش رو با هم مرور می‌کنیم: محدود کردن تعداد رونوشت‌ها از طریق فایل wp-config.php، پاک‌سازی اون‌ها با افزونه‌ی Optimize Database after Deleting Revisions و در آخر هم یه روش پیشرفته برای کسانی که با خط فرمان یا phpMyAdmin راحت‌ترن.

قبل از هر کاری: حذف رونوشت‌ها برگشت‌پذیر نیست. لطفاً پیش از شروع، حتماً از دیتابیس سایتتون نسخه‌ی پشتیبان بگیرید.

آنچه در این مقاله می‌خوانید

رونوشت (Revision) در وردپرس چیه؟

رونوشت، نسخه‌ای ذخیره‌شده از محتوای یک نوشته یا برگه در یک لحظه‌ی مشخصه. وردپرس این نسخه‌ها رو توی همون جدول wp_posts نگه می‌داره که خود نوشته‌ها هم اونجا ذخیره می‌شن؛ فقط نوع اون‌ها (post_type) برابر با revision ثبت میشه. به همین خاطر، هر رونوشت تقریباً به اندازه‌ی خود نوشته فضا اشغال می‌کنه.

رونوشت چطور و چه زمانی ساخته میشه؟

هر بار که روی دکمه‌ی «ذخیره پیش‌نویس» یا «به‌روزرسانی» کلیک می‌کنید و عنوان، محتوا یا چکیده‌ی نوشته تغییری کرده باشه، وردپرس یه رونوشت جدید می‌سازه. نکته‌ی مهم اینه که وردپرس به‌صورت پیش‌فرض هیچ سقفی برای تعداد رونوشت‌ها در نظر نگرفته؛ یعنی اگه یه نوشته رو صد بار ویرایش کنید، ممکنه صد تا رونوشت ازش داشته باشید.

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

تفاوت رونوشت با ذخیره خودکار (Autosave)

خیلی‌ها این دو تا رو با هم یکی می‌دونن، ولی فرق دارن. ذخیره‌ی خودکار موقع نوشتن و بدون اینکه شما کاری بکنید انجام میشه (به‌صورت پیش‌فرض هر ۶۰ ثانیه یک بار) تا اگه مرورگر بسته شد یا اینترنت قطع شد، کارتون از دست نره.

تفاوت اصلی اینجاست: برای هر نوشته و هر کاربر فقط یک ذخیره‌ی خودکار نگه‌داری میشه و هر بار روی نسخه‌ی قبلی نوشته میشه. پس ذخیره‌های خودکار معمولاً عامل حجیم شدن دیتابیس نیستن و اون چیزی که باید مدیریتش کنید، همون رونوشت‌های معمولیه.

رونوشت‌ها به چه دردی می‌خورن؟

قبل از اینکه سراغ حذف بریم، بد نیست بدونید رونوشت‌ها چه کمکی بهتون می‌کنن. فرض کنید یکی از همکارهاتون بخشی از یه مقاله رو اشتباهی پاک کرده یا خودتون تغییری دادید که ازش پشیمون شدید. با رونوشت‌ها می‌تونید خیلی راحت به نسخه‌ی قبلی برگردید.

توی ویرایشگر بلوک (گوتنبرگ)، در ستون تنظیمات نوشته گزینه‌ای به اسم «رونوشت‌ها» همراه با تعدادشون می‌بینید. با کلیک روی اون وارد صفحه‌ای میشید که نسخه‌ها رو کنار هم مقایسه می‌کنه. با جابه‌جا کردن نوار بالای صفحه، نسخه‌ی موردنظر رو پیدا کنید و روی «بازگردانی این رونوشت» کلیک کنید.

پس هدف ما حذف کامل این قابلیت نیست؛ هدف اینه که فقط چند نسخه‌ی آخر رو نگه داریم و بقیه رو پاک کنیم.

آیا رونوشت‌ها واقعاً سایت را کند می‌کنند؟

بیایید منصفانه جواب بدیم: در بیشتر سایت‌های کوچک و متوسط، رونوشت‌ها تأثیر محسوسی روی سرعت بارگذاری صفحات ندارن. وقتی بازدیدکننده یه مطلب رو باز می‌کنه، وردپرس فقط دنبال نوشته‌های منتشرشده می‌گرده و رونوشت‌ها توی این جستجو نقشی ندارن.

با این حال، شرایطی هست که پاک‌سازی رونوشت‌ها واقعاً مفیده:

  • سایت‌های پرمطلب و قدیمی که ده‌ها هزار رونوشت جمع کردن و جدول wp_posts چند برابر حجم واقعیش شده.
  • وقتی حجم نسخه‌های پشتیبان زیاد شده و بکاپ‌گیری یا انتقال سایت به هاست دیگه طول می‌کشه.
  • هاست‌هایی که برای حجم دیتابیس محدودیت دارن.
  • سایت‌هایی که محتوای طولانی دارن و تیمشون روزانه بارها مطالب رو ویرایش می‌کنه.

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

برای اینکه بدونید سایتتون چند رونوشت داره، می‌تونید در phpMyAdmin و از تب SQL این دستور رو اجرا کنید (اگه پیشوند جداول سایتتون چیزی غیر از wp_ هست، اون رو اصلاح کنید):

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

این دستور فقط عدد رو نشون میده و هیچ تغییری توی دیتابیس ایجاد نمی‌کنه. اگه با phpMyAdmin کار نکردید، نگران نباشید؛ افزونه‌ای که جلوتر معرفی می‌کنیم هم قبل از پاک‌سازی یه گزارش کامل بهتون نشون میده.

قبل از شروع: حتماً از دیتابیس بکاپ بگیرید

شاید تکراری به نظر برسه، ولی این مهم‌ترین مرحله‌ی کاره. کافیه یه تنظیم رو اشتباه وارد کنید تا همه‌ی رونوشت‌ها یا حتی موارد داخل زباله‌دان برای همیشه پاک بشن.

بیشتر هاست‌ها از طریق کنترل‌پنل (مثل سی‌پنل یا دایرکت‌ادمین) امکان گرفتن نسخه‌ی پشتیبان از دیتابیس رو دارن. افزونه‌هایی مثل UpdraftPlus هم این کار رو ساده می‌کنن. اگه با این موضوع آشنا نیستید، پیشنهاد می‌کنیم اول آموزش بکاپ‌گیری از وردپرس رو بخونید و بعد برگردید سراغ ادامه‌ی این مقاله.

روش اول: محدود کردن تعداد رونوشت‌ها با فایل wp-config.php

بهترین کار اینه که قبل از پاک‌سازی، جلوی تولید بی‌رویه‌ی رونوشت‌ها رو بگیرید. وگرنه بعد از مدتی دوباره همون وضعیت قبلی تکرار میشه. این کار با اضافه کردن یک خط کد به فایل wp-config.php انجام میشه.

تعیین حداکثر تعداد رونوشت‌ها

از طریق فایل‌منیجر هاست یا FTP وارد پوشه‌ی اصلی سایت بشید و فایل wp-config.php رو باز کنید. کد زیر رو قبل از خطی که با عبارت That's all, stop editing! شروع میشه اضافه کنید:

define( 'WP_POST_REVISIONS', 5 );

با این کد، وردپرس برای هر نوشته حداکثر ۵ رونوشت آخر رو نگه می‌داره. عدد ۵ رو می‌تونید به دلخواه تغییر بدید؛ برای بیشتر سایت‌ها عددی بین ۳ تا ۱۰ کافیه.

یک نکته رو در نظر داشته باشید: این کد رونوشت‌های قبلی رو یک‌جا پاک نمی‌کنه. وردپرس فقط وقتی دوباره یه نوشته رو ذخیره کنید، رونوشت‌های اضافه‌ی همون نوشته رو حذف می‌کنه. برای پاک کردن رونوشت‌های قدیمیِ همه‌ی مطالب، باید سراغ روش دوم یا سوم برید.

غیرفعال کردن کامل رونوشت‌ها (توصیه نمی‌شه)

اگه به‌جای عدد، مقدار false یا 0 رو قرار بدید، وردپرس دیگه هیچ رونوشتی نمی‌سازه:

define( 'WP_POST_REVISIONS', false );

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

تغییر فاصله‌ی ذخیره خودکار

اگه دوست دارید ذخیره‌ی خودکار با فاصله‌ی بیشتری انجام بشه، می‌تونید این خط رو هم اضافه کنید. عدد به ثانیه است و در این مثال، ذخیره هر ۲ دقیقه یک بار انجام میشه:

define( 'AUTOSAVE_INTERVAL', 120 );

البته همون‌طور که گفتیم، ذخیره‌ی خودکار تأثیر زیادی روی حجم دیتابیس نداره. پس این تنظیم کاملاً اختیاریه.

روش دوم: حذف رونوشت‌ها با افزونه Optimize Database after Deleting Revisions

Optimize Database after Deleting Revisions یه افزونه‌ی رایگان و قدیمی در مخزن وردپرسه که سال‌هاست توسط کاربران زیادی استفاده میشه و الان تیم NerdPress پشتیبانی و به‌روزرسانیش رو بر عهده داره. کارش ساده است: رونوشت‌ها رو با شرایطی که شما تعیین می‌کنید پاک می‌کنه و بعد جداول دیتابیس رو بهینه‌سازی می‌کنه. مزیت اصلیش نسبت به خیلی از رقبا اینه که می‌تونید تعیین کنید برای هر نوشته چند رونوشت آخر باقی بمونه.

نصب و فعال‌سازی افزونه

از پیشخوان وردپرس به بخش «افزونه‌ها > افزودن» برید، عبارت Optimize Database after Deleting Revisions رو جستجو کنید، روی «هم‌اکنون نصب کن» و بعد «فعال‌سازی» کلیک کنید. اگه ترجیح میدید، می‌تونید افزونه رو از صفحه‌ی رسمی آن در مخزن وردپرس دانلود کنید.

نصب و فعال‌سازی افزونه
نصب و فعال‌سازی افزونه

بعد از فعال‌سازی، تنظیمات افزونه در منوی «تنظیمات» و خود بهینه‌ساز در منوی «ابزارها» قرار می‌گیره. بسته به نسخه‌ی افزونه، ممکنه اسم منوها کمی متفاوت باشه.

آشنایی با تنظیمات افزونه

صفحه‌ی تنظیمات افزونه چند گزینه داره که بهتره تک‌تک اون‌ها رو با دقت بررسی کنید. گزینه‌ها رو به ترتیبی که معمولاً توی صفحه می‌بینید توضیح میدیم.

تنظیمات افزونه
تنظیمات افزونه

انتخاب نوع پست‌ها (Delete revisions of): اینجا مشخص می‌کنید رونوشت‌های کدام پست‌تایپ‌ها پاک بشن. معمولاً تیک نوشته‌ها (post) و برگه‌ها (page) کافیه. اگه از قالب بلوکی استفاده می‌کنید، موقع انتخاب مواردی مثل wp_template، wp_template_part و wp_global_styles دقت کنید؛ حذف رونوشت این‌ها یعنی دیگه نمی‌تونید تغییرات ظاهری قالب رو به نسخه‌ی قبلی برگردونید.

حذف رونوشت‌های قدیمی‌تر از یک تاریخ (Delete revisions older than): با فعال کردن این گزینه تعیین می‌کنید رونوشت‌هایی که از چند روز پیش قدیمی‌تر هستن پاک بشن. مثلاً عدد ۹۰ یعنی رونوشت‌های بیشتر از سه ماه پیش حذف میشن.

تعداد رونوشت‌های قابل نگهداری (Maximum number of most recent revisions to keep): این به نظر ما کاربردی‌ترین گزینه‌ی افزونه است. مثلاً اگه عدد ۵ رو وارد کنید، برای هر نوشته پنج رونوشت آخر باقی می‌مونه و بقیه پاک میشن.

نکته: اگه این گزینه رو فعال کنید و عدد صفر رو وارد کنید، همه‌ی رونوشت‌های پست‌تایپ‌های انتخاب‌شده حذف میشن. پس عدد رو با دقت وارد کنید.

حذف موارد زباله‌دان (Delete trashed items): نوشته‌ها، برگه‌ها و دیدگاه‌هایی که توی زباله‌دان هستن برای همیشه پاک میشن. قبل از فعال کردنش یه نگاهی به زباله‌دان بندازید؛ شاید چیزی اونجا باشه که هنوز لازمش دارید.

حذف دیدگاه‌های اسپم (Delete spammed items): دیدگاه‌هایی که به‌عنوان جفنگ علامت خوردن حذف میشن. این گزینه معمولاً بی‌خطره.

حذف برچسب‌های بلااستفاده (Delete unused tags): برچسب‌هایی که به هیچ نوشته‌ای اختصاص داده نشدن پاک میشن. اگه برچسبی رو از قبل برای مطالب آینده ساختید، این گزینه رو فعال نکنید.

گزینه‌های دیگه: بسته به نسخه‌ی افزونه، گزینه‌هایی مثل حذف داده‌های موقت منقضی‌شده (Transients)، پینگ‌بک‌ها و ترک‌بک‌ها، کش oEmbed و متادیتای یتیم هم وجود داره. داده‌های موقت و کش oEmbed دوباره ساخته میشن و حذفشون مشکلی ایجاد نمی‌کنه. فقط ممکنه چند صفحه‌ی اول بعد از پاک‌سازی کمی کندتر بارگذاری بشن تا کش دوباره ساخته بشه.

مستثنی کردن جداول و نوشته‌ها: اگه جدولی دارید که نمی‌خواید بهینه‌سازی بشه، مثلاً جدول مربوط به یه افزونه‌ی حساس، می‌تونید تیک اون رو از فهرست جداول بردارید. افزونه امکان مستثنی کردن نوشته‌ها یا برگه‌های خاص از حذف رونوشت رو هم داره؛ برای صفحه‌های مهمی که ممکنه بخواید تاریخچه‌ی کامل ویرایششون رو داشته باشید.

زمان‌بندی بهینه‌سازی خودکار

در بخش زمان‌بندی (Scheduler) می‌تونید تعیین کنید بهینه‌سازی به‌صورت خودکار ساعتی، روزی دو بار، روزانه یا هفتگی و در ساعت مشخصی اجرا بشه. برای بیشتر سایت‌ها اجرای هفتگی کاملاً کافیه. ساعتی رو انتخاب کنید که سایت کمترین بازدید رو داره، مثلاً بامداد.

یادتون باشه که زمان‌بندی‌های وردپرس به بازدید سایت وابسته‌ هستن. اگه توی ساعت تعیین‌شده بازدیدی نباشه، کار با کمی تأخیر انجام میشه. بعد از بررسی همه‌ی گزینه‌ها، روی دکمه‌ی ذخیره‌ی تنظیمات کلیک کنید.

اجرای بهینه‌سازی و بررسی گزارش

حالا روی دکمه‌ی رفتن به بهینه‌ساز (Go To Optimizer) کلیک کنید یا از منوی «ابزارها» وارد صفحه‌ی بهینه‌سازی بشید. پیشنهاد ما اینه که اول از گزینه‌ی تحلیل (Analyze) استفاده کنید. این گزینه بدون حذف چیزی نشون میده چند رونوشت، دیدگاه اسپم و موارد دیگه پاک خواهند شد.

اگه اعداد منطقی بودن، روی دکمه‌ی شروع بهینه‌سازی (Start Optimization) کلیک کنید. بعد از چند ثانیه یا چند دقیقه، بسته به حجم دیتابیس، گزارشی می‌بینید که مشخص می‌کنه چه مواردی حذف شدن و چه مقدار فضا آزاد شده.

اگه قصد دارید این کار رو زیاد انجام بدید، می‌تونید در تنظیمات گزینه‌ی نمایش لینک بهینه‌سازی با یک کلیک در نوار مدیریت رو هم فعال کنید.

روش سوم (پیشرفته): حذف رونوشت‌ها با WP-CLI یا phpMyAdmin

این بخش برای کاربرانیه که با خط فرمان یا دستورات SQL آشنا هستن. اگه تجربه‌ی کافی ندارید، همون روش دوم برای شما کافیه و بهتره سراغ این روش نرید.

با WP-CLI: اگه هاستتون دسترسی SSH و WP-CLI داره، با دستور زیر همه‌ی رونوشت‌ها حذف میشن:

wp post delete $(wp post list --post_type='revision' --format=ids) --force

در سایت‌هایی که تعداد رونوشت‌ها خیلی زیاده، ممکنه این دستور به‌خاطر طولانی بودن فهرست شناسه‌ها خطا بده. بعد از حذف هم می‌تونید جداول رو با این دستور بهینه کنید:

wp db optimize

با phpMyAdmin: وارد phpMyAdmin بشید، دیتابیس سایت رو انتخاب کنید و در تب SQL دستور زیر رو اجرا کنید. این دستور علاوه بر رونوشت‌ها، اطلاعات وابسته به اون‌ها رو هم پاک می‌کنه:

DELETE a, b, c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

هشدار: اگه پیشوند جداول سایتتون wp_ نیست، حتماً اون رو در دستور اصلاح کنید. این دستور هیچ مرحله‌ی تأییدی نداره و بلافاصله اجرا میشه؛ پس بدون بکاپ اصلاً سراغش نرید.

مقایسه افزونه‌های پاک‌سازی دیتابیس وردپرس

Optimize Database after Deleting Revisions تنها گزینه‌ی موجود نیست. دو افزونه‌ی محبوب دیگه هم در این زمینه وجود داره که بسته به نیازتون ممکنه انتخاب بهتری باشن:

ویژگیOptimize Database after Deleting RevisionsWP-OptimizeAdvanced Database Cleaner
تمرکز اصلیحذف رونوشت‌ها و بهینه‌سازی جداولبهینه‌سازی کلی سرعت سایتپاک‌سازی دقیق و جزئی دیتابیس
امکانات جانبیمحدود و سادهکش، فشرده‌سازی تصاویر و فشرده‌سازی کدهامدیریت جداول، تنظیمات و کران‌جاب‌ها
نسخه‌ی پولیندارددارددارد
سادگی کارخیلی سادهساده، ولی تنظیمات زیادی داردنیاز به دقت و آشنایی بیشتر
مناسب برایکسانی که فقط پاک‌سازی رونوشت می‌خواهندکسانی که یک افزونه‌ی همه‌کاره برای سرعت می‌خواهندسایت‌های قدیمی با داده‌های باقی‌مانده از افزونه‌های حذف‌شده

اگه از قبل یه افزونه‌ی کش یا بهینه‌سازی روی سایت دارید، اول بررسی کنید که همون افزونه امکان پاک‌سازی دیتابیس داره یا نه. نصب چند افزونه با کاربرد مشابه فقط کار رو پیچیده‌تر می‌کنه. اگه هم هنوز افزونه‌ی سرعتی نصب نکردید، بخش بعدی به کارتون میاد.

بهینه‌سازی دیتابیس کنار افزایش سرعت کل سایت

تا اینجا دیدید که پاک‌سازی رونوشت‌ها فقط یک بخش کوچک از بهینه‌سازی وردپرسه. سرعت واقعی سایت به عوامل دیگه‌ای مثل کش، حجم تصاویر و نحوه‌ی بارگذاری فایل‌های CSS و JS هم بستگی داره. به همین خاطر ما در تیممون افزونه‌ی رخش رو ساختیم تا بیشتر این کارها رو از یک جا مدیریت کنید و مجبور نباشید برای هر کدوم یه افزونه‌ی جدا نصب کنید.

افزونه رخش
افزونه رخش

امکانات رخش برای دیتابیس و سرور

چون موضوع این مقاله دیتابیسه، اول سراغ امکاناتی از رخش میریم که مستقیم به همین بحث مربوط میشن:

  • بهینه‌سازی زمان‌بندی‌شده‌ی دیتابیس: می‌تونید تعیین کنید بهینه‌سازی دیتابیس در زمان‌های مشخص و به‌صورت خودکار انجام بشه.
  • کش آبجکت با Redis: نتیجه‌ی کوئری‌های پرتکرار در حافظه نگه‌داری میشه تا وردپرس مجبور نباشه هر بار همون اطلاعات رو از دیتابیس بخونه. این قابلیت مخصوصاً برای فروشگاه‌ها و سایت‌های پربازدید تفاوت محسوسی ایجاد می‌کنه.
  • پایش کوئری‌های کند: رخش کوئری‌هایی رو که بیشتر از حد معمول طول می‌کشن شناسایی می‌کنه تا بدونید کندی سایت دقیقاً از کجاست.
  • گرم‌کردن OPcache: کدهای PHP از همون ابتدا در حافظه‌ی سرور آماده میشن.
  • تنظیم Heartbeat: درخواست‌های پشت‌سرهم وردپرس به سرور کنترل میشه تا فشار بی‌دلیل روی هاست کم بشه.

بقیه‌ی امکانات رخش

کش صفحه: رخش صفحه‌ها رو به‌صورت HTML استاتیک کش می‌کنه و می‌تونید عمر کش، کش مرورگر و کش جداگانه برای موبایل رو تنظیم کنید. فشرده‌سازی gzip هم پشتیبانی میشه. صفحه‌های سبد خرید، تسویه‌حساب و ورود، و همین‌طور کاربرانی که وارد حسابشون شدن، به‌صورت خودکار از کش مستثنی میشن و می‌تونید آدرس‌ها و کوکی‌های دلخواهتون رو هم به این فهرست اضافه کنید. بعد از هر بار پاک‌سازی، کش به‌طور خودکار دوباره گرم میشه و خزنده‌ی نقشه‌ی سایت صفحه‌ها رو از قبل آماده می‌کنه تا اولین بازدیدکننده با صفحه‌ی کند روبه‌رو نشه.

تصاویر: تبدیل خودکار تصاویر JPG، PNG، GIF و BMP به فرمت‌های WebP و AVIF با امکان کنترل کیفیت، حذف اطلاعات EXIF و IPTC، افزودن خودکار ابعاد تصاویر و بارگذاری تنبل برای تصاویر، آی‌فریم‌ها و ویدیوها (همراه با پیش‌نمایش).

CSS و JS: فشرده‌سازی فایل‌های CSS، JS و HTML، حذف CSS بلااستفاده، بارگذاری تأخیری CSS، JS و jQuery و به تعویق انداختن اجرای JS تا اولین تعامل کاربر. قابلیت اجبار font-display: swap هم باعث میشه متن‌ها قبل از بارگذاری کامل فونت نمایش داده بشن.

امکانات پیشرفته: پیش‌بارگذاری فونت‌ها، dns-prefetch و preconnect، پیش‌واکشی صفحه‌ها با نگه داشتن نشانگر موس روی لینک، و غیرفعال‌سازی بخش‌هایی از وردپرس که خیلی از سایت‌ها لازمشون ندارن؛ مثل گراواتار، فونت‌های گوگل، ایموجی، oEmbed، فایل comment-reply.js و CSS بلاک‌های گوتنبرگ. یکپارچگی با Cloudflare و بازنویسی آدرس CDN هم در این بخش قرار داره.

ووکامرس: بهینه‌سازی فایل‌های ووکامرس، غیرفعال‌سازی ردیابی و فایل‌های بلاک ووکامرس در صفحه‌هایی که به اون‌ها نیازی ندارن.

پایش و عیب‌یابی: داشبورد آمار و PageSpeed، گزارش Core Web Vitals، پنل عیب‌یابی کش، تحلیل ساختاری سایت، تشخیص خودکار وب‌سرور و تولید خودکار قوانین nginx و .htaccess. رخش ارتباطات خروجی سایت رو هم کنترل می‌کنه و هاست‌های کندی رو که باعث تایم‌اوت میشن مسدود می‌کنه. پنل مدیریت افزونه هم کاملاً بومیه و برای بارگذاری به هیچ CDN خارجی وابسته نیست؛ نکته‌ای که برای سایت‌های ایرانی اهمیت زیادی داره.

رخش یا Optimize Database after Deleting Revisions؟

اگه فقط دنبال پاک‌سازی رونوشت‌ها هستید و سایتتون از نظر سرعت مشکلی نداره، همون Optimize Database after Deleting Revisions کافیه. اما اگه می‌خواید سرعت کل سایت رو بهتر کنید، رخش گزینه‌ی کامل‌تریه.

اگه هر دو افزونه رو کنار هم استفاده می‌کنید، زمان‌بندی بهینه‌سازی دیتابیس رو فقط در یکی از اون‌ها فعال کنید تا این کار دو بار انجام نشه. محدود کردن رونوشت‌ها با فایل wp-config.php رو هم فراموش نکنید؛ این تنظیم مستقل از هر افزونه‌ای کار می‌کنه.

اشتباهات رایج هنگام حذف رونوشت‌ها

توی این سال‌ها چند اشتباه رو بارها دیدیم که بهتره شما تکرارشون نکنید.

نگرفتن بکاپ. بله، باز هم تکرارش می‌کنیم! بیشتر مشکلاتی که کاربران بعد از پاک‌سازی دیتابیس گزارش میدن، با یه نسخه‌ی پشتیبان در چند دقیقه قابل حل بود.

وارد کردن عدد صفر بدون دقت. خیلی‌ها فکر می‌کنن صفر یعنی «محدودیتی نباشه»، در حالی که در این افزونه یعنی همه‌ی رونوشت‌ها حذف بشن.

حذف رونوشت‌های قالب بلوکی. اگه روی ظاهر سایت با ویرایشگر سایت کار می‌کنید، حذف این رونوشت‌ها امکان برگشت به طراحی قبلی رو از بین می‌بره.

زمان‌بندی بیش از حد. اجرای ساعتی بهینه‌سازی برای بیشتر سایت‌ها لازم نیست و فقط فشار بی‌دلیل روی سرور میاره.

و در آخر، پاک‌سازی بدون محدود کردن. اگه روش اول رو انجام ندید، رونوشت‌ها بعد از چند ماه دوباره جمع میشن.

سوالات متداول

آیا حذف رونوشت‌ها روی سئوی سایت تأثیر داره؟

نه. رونوشت‌ها صفحه‌ی عمومی ندارن و موتورهای جستجو اون‌ها رو نمی‌بینن. حذفشون هیچ اثری روی رتبه یا ایندکس مطالبتون نداره.

بعد از حذف، امکان بازگردانی رونوشت‌ها وجود داره؟

از داخل وردپرس خیر. تنها راه، برگردوندن نسخه‌ی پشتیبانیه که قبل از پاک‌سازی گرفتید.

چرا بعد از بهینه‌سازی، حجم دیتابیس در هاست کمتر نشد؟

چند دلیل ممکنه داشته باشه. گاهی کنترل‌پنل هاست حجم دیتابیس رو با تأخیر به‌روز می‌کنه. همچنین در بعضی تنظیمات MySQL، فضای آزادشده بلافاصله به دیسک برگردونده نمیشه و فقط برای داده‌های جدید دوباره استفاده میشه. اگه تعداد رونوشت‌ها هم از اول کم بوده، طبیعتاً تفاوت محسوسی نمی‌بینید.

آیا بعد از پاک‌سازی می‌تونم افزونه را حذف کنم؟

بله. اگه قصد ندارید از زمان‌بندی خودکار استفاده کنید و محدودیت رونوشت‌ها رو هم در wp-config.php تنظیم کردید، می‌تونید بعد از پاک‌سازی افزونه رو غیرفعال و حذف کنید.

برای هر نوشته چند رونوشت کافیه؟

عدد دقیقی وجود نداره، اما برای بیشتر سایت‌ها ۳ تا ۱۰ رونوشت کافیه. اگه چند نفر روی مطالب کار می‌کنن یا محتوای سایت حساسه، عدد بزرگ‌تری انتخاب کنید.

جمع‌بندی

رونوشت‌ها یکی از قابلیت‌های مفید وردپرس هستن و قرار نیست کامل کنارشون بذاریم. فقط کافیه تعدادشون رو کنترل کنیم تا دیتابیس بی‌دلیل بزرگ نشه.

پیشنهاد ما ترکیب دو روش اوله: با یک خط کد در wp-config.php تعداد رونوشت‌ها رو محدود کنید و یک بار هم با افزونه‌ی Optimize Database after Deleting Revisions رونوشت‌های قدیمی رو پاک کنید. اگه سایت پرمطلبی دارید، زمان‌بندی هفتگی افزونه رو هم فعال کنید تا دیگه نگران این موضوع نباشید.

پاک‌سازی دیتابیس فقط یکی از قدم‌های بهینه‌سازی سایته. اگه می‌خواید کش، تصاویر، فایل‌های CSS و JS و دیتابیس رو یک‌جا مدیریت کنید، افزونه رخش رو امتحان کنید. برای آشنایی با بقیه‌ی روش‌ها هم مقاله‌ی آموزش افزایش سرعت وردپرس رو بخونید. اگه سوالی داشتید یا موقع کار با افزونه به مشکلی خوردید، توی بخش دیدگاه‌ها برامون بنویسید.

نظر شما در این مورد چیه؟

  1. کاربر مهمان۵ آبان ۱۳۹۷

    سلام، افزونه کش راکت نمی تواند کار این افزونه را انجام دهد؟ در توضیحات ذکر نشده بود. به همین خاطر پرسیدم.

    • تیم پشتیبانیتیم پشتیبانی۶ آبان ۱۳۹۷

      سلام
      بله این کار انجام میدهد.

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

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.