کاهش حجم دیتابیس وردپرس | بهینه سازی پایگاه داده وردپرس

بهینه سازی پایگاه داده وردپرس
پایگاه داده وردپرس چیست؟
پیش از این که در این مقاله بخواهیم پایگاه داده یا همان دیتابیس وردپرسی مان را بهینه سازی کنیم ابتدا می بایست با مفهوم پایگاه داده در وردپرس آشنا بشویم . پایگاه داده در وردپرس در واقع همان جایی است که تمام اطلاعات سایت شما ذخیره میشود؛ از نوشتهها و برگهها گرفته تا تنظیمات قالب، اطلاعات کاربران، دیدگاهها و حتی افزونهها. وردپرس از MySQL برای ساخت پایگاه داده استفاده میکند و با هر نصب جدید، بهصورت پیشفرض جداول اصلی مورد نیاز را ایجاد میکند.
نام پایگاه داده در وردپرس معمولاً در مرحله نصب مشخص میشود و در فایل wp-config.php قابل مشاهده و در صورت نیاز قابل تغییر است.
ساخت پایگاه داده برای وردپرس
همان طور که می دانید در نصب دستی وردپرس، باید ابتدا از طریق کنترلپنل هاست (مثل cPanel یا DirectAdmin) یک پایگاه داده ایجاد می کنید. این مراحل شامل موارد زیر هستند:
-
انتخاب نام پایگاه داده
-
تعیین نام کاربری و رمز عبور
-
وارد کردن این اطلاعات در فایل wp-config.php برای اتصال وردپرس به پایگاه داده
اگر این مرحله بهدرستی انجام نشود، ممکن است با خطای پایگاه داده در وردپرس مواجه شوید.
میزبان پایگاه داده در وردپرس
میزبان پایگاه داده (Database Host) معمولاً مقدار localhost
است، اما در برخی هاستها ممکن است آدرس متفاوتی داشته باشد. این مقدار مشخص میکند وردپرس برای اتصال به پایگاه داده به کدام سرور باید درخواست بفرستد.
معرفی کوتاه جداول پیشفرض پایگاه داده وردپرس
پایگاه داده وردپرس بهصورت پیشفرض شامل چندین جدول مهم است که هر کدوم وظیفه خاصی در عملکرد سایت بر عهده دارند. در ادامه، خلاصهای از این جداول رو میبینید:
-
wp_posts: شامل همه نوشتهها، برگهها، پیوستها، محصولات و حتی برخی اطلاعات افزونههاست.
-
wp_postmeta: متادیتای (اطلاعات اضافی) مربوط به نوشتهها در این جدول ذخیره میشه.
-
wp_users: اطلاعات مربوط به کاربران سایت در این جدول قرار میگیره.
-
wp_usermeta: تنظیمات و اطلاعات اضافی مربوط به هر کاربر اینجا ذخیره میشه.
-
wp_comments: دیدگاههایی که کاربران در سایت میذارن در این جدول ثبت میشن.
-
wp_commentmeta: اطلاعات اضافی دیدگاهها مثل امتیازدهی یا فلگ اسپم.
-
wp_terms: دستهها، برچسبها و طبقهبندیهای سفارشی در این جدول قرار دارن.
-
wp_termmeta: متادیتای دستهها و برچسبها.
-
wp_term_relationships: رابطه بین نوشتهها و دستهها/برچسبها رو مشخص میکنه.
-
wp_term_taxonomy: مشخص میکنه که یک term (مثلاً یک برچسب) به چه نوع طبقهبندیای تعلق داره.
-
wp_options: تنظیمات کلی سایت و افزونهها در این جدول ذخیره میشن.
-
wp_links: برای مدیریت پیوندهای خروجی (در نسخههای قدیمیتر وردپرس بیشتر استفاده میشد).
همه این جداول با پیشوندی مثل wp_
شروع میشن (مگر اینکه شما موقع نصب وردپرس پیشوند رو تغییر داده باشید). هر جدول نقشی حیاتی در عملکرد سایت داره و حذف اونها باعث اختلال کامل میشه. اما جدولهایی که افزونهها اضافه میکنن، معمولاً با پیشوند مشابه میان ولی لزوماً ضروری نیستن.
چرا باید پایگاه داده وردپرس را بهینه کنیم؟
با نصب و حذف مکرر افزونهها، گاهی جداول اضافی در دیتابیس باقی میمانند. همچنین پیشنویسهای قدیمی، دیدگاههای اسپم، دادههای کش شده و اطلاعات بلااستفاده دیگر به مرور زمان انباشته شده و باعث سنگینی پایگاه داده در وردپرس میشوند.
بهینهسازی منظم پایگاه داده، علاوه بر کاهش حجم دیتابیس، باعث بهبود سرعت سایت و عملکرد کلی آن میشود.
حذف پایگاه داده در وردپرس
حذف کامل پایگاه داده در وردپرس معمولاً در شرایط خاص مثل حذف کل سایت یا نصب مجدد وردپرس انجام میشود. این کار باعث از بین رفتن تمام اطلاعات میشود، بنابراین با دقت انجام دهید. برای حذف آن میتوانید از phpMyAdmin در هاست استفاده کنید.
در صورتی که فقط نیاز به حذف جداول بلااستفاده دارید (مثلاً بعد از حذف یک افزونه)، استفاده از یک افزونه پایگاه داده وردپرس راهکار ایمنتری است.
افزونههای مناسب برای بهینهسازی پایگاه داده وردپرس
یکی از افزونههای معروف برای این کار، Plugins Garbage Collector است. این افزونه میتواند جداولی که به وردپرس یا افزونههای فعال تعلق ندارند را شناسایی کند و به شما امکان حذف آنها را بدهد که در ادامه به آموزش نصب و راه اندازی این افزونه می پردازیم.
آموزش کاهش حجم دیتابیس وردپرس
وقتی افزونهای را در وردپرس نصب میکنید، بهطور خودکار فایلها، پوشهها و جداول مربوط به آن افزونه در پایگاه داده (دیتابیس) ایجاد میشوند تا افزونه به درستی کار کند. اما نکتهای که کمتر به آن توجه میشود، این است که وقتی آن افزونه را غیرفعال یا حذف میکنید، معمولاً همه این دادهها و جداول به صورت کامل پاک نمیشوند. این موضوع میتواند به مرور زمان باعث حجیم شدن دیتابیس سایت وردپرسی شما شود.
مثلاً خود من (طبیعتا ادمین پروان وب منظورمون هست که اینجا داره مقاله رو می نویسه) یک بار افزونهای را حذف کردم و بعد متوجه شدم که بیش از ۲۰ جدول مختلف از آن همچنان در دیتابیس باقی ماندهاند، در حالی که فایلها و پوشههای مربوط به آن افزونه از روی هاست حذف شده بودند.
در بیشتر مواقع، توسعهدهندگان افزونهها عمداً تصمیم میگیرند که هنگام حذف افزونه، جداول دیتابیس آن را پاک نکنند. این تصمیم معمولاً با هدف حفظ اطلاعات کاربر، تنظیمات و دادههایی که در طول استفاده از افزونه ذخیره شده، گرفته میشود؛ تا اگر کاربر در آینده دوباره افزونه را نصب کرد، همه چیز سر جایش باشد.
در نگاه اول، این کار منطقی به نظر میرسد. حفظ تنظیمات و اطلاعات کاربر میتواند تجربه کاربری بهتری ایجاد کند. اما مشکلی که اینجا پیش میآید این است که وقتی تعداد زیادی افزونه در طول زمان نصب و حذف میشوند، حجم دیتابیس سایت شما بهطور قابل توجهی افزایش پیدا میکند. این جداولی که از افزونههای حذفشده باقی ماندهاند، نه تنها بدون استفاده هستند، بلکه میتوانند باعث سنگینی دیتابیس و حتی مشکلات امنیتی احتمالی شوند.
خوشبختانه، حذف این جداول بلااستفاده کار سختی نیست. در ادامه نحوه انجام این کار را توضیح میدهم تا با چند کلیک ساده، دیتابیس سایتتان را سبک و بهینه کنید.
حذف جداول بلااستفاده افزونهها از پایگاه داده
نکته مهم: قبل از هرگونه تغییر در پایگاه داده، حتماً از آن بکاپ تهیه کنید.
مراحل استفاده از افزونه Plugins Garbage Collector:
-
وارد پیشخوان وردپرس شوید و از بخش “افزونهها → افزودن” عبارت “Plugins Garbage Collector” را جستجو کنید.
-
افزونه را نصب و فعال کنید.
-
از منوی “ابزارها → Plugins Garbage Collector” وارد صفحه افزونه شوید.
-
گزینه “Search non-WP tables” را انتخاب کرده و روی “Scan Database” کلیک کنید.
-
پس از اسکن، فهرستی از جدولهای بدون استفاده را خواهید دید.
-
حالا با دقت لیست رو بررسی کنید. جدولهایی که مطمئن هستید بهشون نیازی ندارید رو انتخاب کنید، و در نهایت روی دکمه حذف جداول کلیک کنید. (باز هم تأکید میکنم: مطمئن بشید که بکاپ دارید!)
-
اگر همه چیز به درستی پیش بره، جداول اضافه پاک میشن و سایت هم بدون هیچ مشکلی به کار خودش ادامه میده.
برای بهینهسازی بیشتر پایگاه داده، میتوانید از افزونههایی مانند WP-Optimize نیز استفاده کنید. این افزونهها نسخههای قدیمی پستها، کشها و دادههای غیرضروری را نیز پاک میکنند.
نتیجهگیری: بهینهسازی و کاهش حجم پایگاه داده وردپرس
با این آموزش، میتوانید پایگاه داده وردپرس سایت خود را سبک و بهینه نگه دارید. حذف جداول بلااستفاده و دادههای زائد، هم باعث کاهش حجم پایگاه داده میشود و هم به افزایش سرعت سایت کمک میکند.
به یاد داشته باشید که تعمیر پایگاه داده وردپرس و نگهداری منظم آن، بخشی حیاتی از مدیریت یک سایت حرفهای است. اگر سؤالی دارید، خوشحال میشوم در بخش نظرات پاسخگو باشم. 😊
وحید رنجبر هستم مهندس برنامه نویسی و یکی از طرفداران پروان وب حدود 5 سال است که در زمینه سایت وردپرس مشغول به کار هستم.
لیست نظرات