راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اولReviewed by سعید دیدارنو on Sep 6Rating: 5.0راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اولآموزش وردپرس,بهینه سازی پایگاه داده وردپرس,نحوه بهینه سازی پایگاه داده وردپرس,آموزش بهینه سازی پایگاه داده وردپرس,بهینه سازی دیتابیس وردپرس

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

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

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

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت دوم

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

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

با هم نگاهی می اندازیم به آنچه که هر جدول پایگاه داده وردپرس ذخیره می کند:

  • wp_commentmeta: ذخیره سازی متا اطلاعات در مورد نظرات
  • wp_comments: ذخیره سازی نظرات وبسایت شما
  • wp_links: ذخیره سازی لینک های وبلاگ (قابلیت وبلاگ منسوخ شده است، اما می تواند با استفاده از مدیریت لینک اضافه شود)
  • wp_options: گزینه های تعریف شده در ناحیه تنظیمات مدیر را ذخیره می کند
  • wp_postmeta: ذخیره سازی پست متا اطلاعات
  • wp_posts: ذخیره سازی داده های پست ها، صفحات و دیگر انواع پست سفارشی
  • wp_terms: ذخیره سازی تگ های پست و دسته بندی های پست ها و لینک ها
  • wp_term_relationships: ذخیره سازی ارتباطات بین پست ها، دسته بندی ها و تگ ها و ارتباطات بین لینک ها و دسته های لینک
  • wp_term_taxonomy: ذخیره سازی توضیحات در مورد طبقه بندی دسته، لینک یا برچسب در جدول wp_terms
  • wp_usermeta: ذخیره سازی اطلاعات متا در مورد کاربرها
  • wp_users: ذخیره سازی کاربران وبسایت شما

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

برای به دست آوردن اطلاعات بیشتر در مورد جداول اصلی پایگاه داده وردپرس، صفحه توضیحات بانک اطلاعاتی را در WordPress.org بررسی کنید.

نحوه بهینه سازی پایگاه داده وردپرس و تعمیر آن

phpMyAdmin رایج ترین شیوه مدیریت یک پایگاه داده وردپرس است. اگر از cPanel  به عنوان پانل کنترل سرویس میزبانی خود استفاده نمی کنید، برنامه میزبانی شما ممکن است از یک ابزار مدیریت MySQL دیگر برای phpMyAdmin استفاده کند. اما لازم نیست که نگران این موضوع باشید، زیرا بیشتر ابزار مدیریت پایگاه داده دارای یک رابط مشابه هستند و به همان شیوه کار می کنند.

شما همچنین می توانید پایگاه داده وردپرس خود را با استفاده از یک افزونه مانند پلاگین Adminer (که قبلا با عنوان phpMinAdmin شناخته می شود) مدیریت کنید. اگر چه یک پلاگین وردپرس پایگاه داده می تواند دسترسی به پایگاه داده را آسان تر کند، اما این روش مدیریت پایگاه داده وردپرس توصیه نمی شود، زیرا یک خطر امنیتی بزرگ محسوب می شود. اگر پلاگینی مانند Adminer را نصب کرده باشید و یک کاربر غیر مجاز به پایگاه داده وردپرس شما دسترسی پیدا کند، می تواند هر کاری که می خواهد در وبسایت شما انجام دهد.

https://codex.wordpress.org/Database_Description

اگر پایگاه داده وردپرس خود را بررسی کنید، در انتها دو ستون با نام های اندازه (size) و سربار (overhead) را خواهید دید. اندازه یک جدول بستگی به مقدار داده ذخیره شده در آن دارد. اگر ردیف های بیشتری در جدول ذخیره شوند، اندازه جدول افزایش می یابد. سربار فضای دیسک موقت است که توسط پایگاه داده وردپرس شما برای ذخیره سازی جستارها (queries) استفاده می شود. با گذشت زمان، سربار جدول افزایش خواهد یافت.

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

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

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

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

هر پایگاه داده ای در طول زمان نیاز به نوعی نگهداری دارد تا در سطح عملکرد مطلوب باقی بماند. پاک کردن ردیف های حذف شده، تعویض مجدد، فشرده سازی، مدیریت مسیرهای شاخص، یکپارچه سازی و… اعمالی هستند که به عنوان فرآیند بهینه سازی در mysql و دیگر پایگاه های داده شناخته می شوند. به عنوان مثال در IBM DB2/400 به عنوان سازماندهی مجدد فیزیکی فایل عضو شناخته می شود. بهینه سازی پایگاه داده مانند نوعی تعویض روغن ماشین یا انجام تون آپ است.  شما ممکن است فکر کنید که این کار لازم نیست، اما با انجام این کار ماشین شما بهتر عمل می کند و مصرف سوخت ماشین شما بهتر می شود. یک ماشین وقتی مسافتی را طی می کند، بیشر اوقات نیاز به تون آپ دارد. پایگاه داده نیز وقتی سنگین می شود نیاز به عملی مشابه دارد. اگر شما بروزرسانی یا حذف بسیار انجام دهید و به ویژه اگر جداول شما دارای ستون هایی با اندازه متغیر باشد (VARCHAR، TEXT و…) شما نیاز به نگه داری تنظیم مجدد دارید.

شما می توانید جداول پایگاه داده وردپرس را که تحت تاثیر سربارها هستند را با استفاده از دستور OPTIMIZE TABLE بهینه سازی کنید. برای مثال می توانید جدول wp_posts را با اجرای این جستار SQL بهینه سازی کنید:

OPTIMIZE TABLE ‘wp_posts’

نیازی به استفاده از یک دستور SQL برای آن که phpMyAdmin اجازه دهد تا جداول را از منوی کشویی اصلی بهینه سازی کنید، نیست. تنها چیزی که برای بهینه سازی پایگاه داده وردپرس خود نیاز دارید این است که بر روی جعبه “Check All” کلیک کنید، “Optimize table” را از منوی کشویی انتخاب کنید و سپس بر روی دکمه “Go” کلیک کنید.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

پس از بهینه سازی پایگاه داده وردپرس، phpMyAdmin تایید می کند که جداول شما بهینه شده اند.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

وردپرس دارای یک ابزار است که به شما اجازه می دهد که پایگاه داده خود را تعمیر و بهینه سازی کنید.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

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

define( ‘WP_ALLOW_REPAIR’, true );

زمانی که خط فوق را به wp-config.php اضافه و فایل را ذخیره کردید، می توانید به ابزار بهینه سازی پایگاه داده وردپرس خود در http://www.yourwebsite.com/wp-admin/maint/repair.php دسترسی پیدا کنید.

https://codex.wordpress.org/Editing_wp-config.php#Automatic_Database_Optimizing

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

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

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

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

اگر شما گزینه “Repair and Optimize Database” را انتخاب کنید، وردپرس هر جدولی که تا به حال بهینه نشده است را بهینه سازی می کند.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

برای اجرای ابزار بهینه سازی وردپرس لازم نیست که وارد سیستم شوید. نکته این است که هر کسی می تواند به اسکریپت شما دسترسی پیدا کرده و آن را اجرا کند. بنابراین باید پس از استفاده از ابزار بهینه سازی، خط WP_ALLOW_REPAIR را از فایل wp-config.php خود حذف کنید.

نحوه حذف Bloat (سربار) از پایگاه داده وردپرس

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

بیایید با هم نگاهی به علت های اصلی بار در یک پایگاه داده وردپرس بیاندازیم:

تجدید نظرها

سیستم تجدید نظر وردپرس باعث می شود که بسیاری از بانک های اطلاعاتی وردپرس غیر ضروری بزرگ شوند. این سیستم اولین بار در وردپرس ۲٫۶ معرفی شد. این ویژگی یک نسخه از هر پیش نویس و بروزرسانی پست ها بلاگ را ذخیره می کند. این یک ویژگی بسیار مفید است، زیرا این امکان را می دهد که شما به نسخه های قدیمی مقالات بازگردید و پیش نویس ها را بررسی کنید.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

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

برای کاهش تعداد نسخه های تجدید نظر که ذخیره شده اند، می توان به راحتی کد زیر را به فایل your wp-config.php اضافه کرد.

define( ‘WP_POST_REVISIONS’, 2 );

نسخه های تجدید نظر پست ها را می توان با اضافه کردن کد زیر به فایل wp-config.php به طور کامل غیر فعال کرد.

define( ‘WP_POST_REVISIONS’, false );

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

هنگامی که یک مقاله منتشر شد، نیازی به حفظ نسخه های تجدید نظر آن نیست. بنابراین ممکن است بخواهبد که حذف تمام نسخه های تجدید نظر را از پست های منتشر شده  بررسی کنید. تعدادی افزونه وردپرسی وجود دارد که اجازه می دهد این کار را انجام دهید (همچنین می توانید نسخه های تجدید نظر را با استفاده از MySQL حذف کنید، اما باید آگاه باشید که اگر دستور را به درستی استفاده نکنید، ممکن است مشکلاتی رخ دهد).

مثلا می توان از افزونه Optimize Database after Deleting Revisions برای کاهش اندازه پایگاه داده وردپرس استفاده کرد. این پلاگین به شما اجازه می دهد که تعداد ذخیره سازی نسخه های تجدید نظر را مشخص کنید. همچنین به شما اجازه می دهد که موارد پاک شده، هرزنامه ها، برچسب های استفاده نشده و منقضی شده را حذف کنید. به علاوه، جداول خاص پایگاه داده وردپرس را می توان از فرایند بهینه سازی خارج کرد. این افزونه قابلیت زمانبندی نیز دارد. بنابراین می توان بهینه سازی پایگاه داده وردپرس سایت را به صورت خودکار یک بار در ساعت، دوبار در روز، یک بار در روز یا یکبار در هفته، انجام داد.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

گزینه ای دیگر برای حذف نسخه های تجدید نظر پست ها استفاده از پلاگین Better Delete Revision است. این افزونه فهرستی از تمام تجدید نظرهای ذخیره شده در وبسایت را ارائه می دهد. متاسفانه، هیچ گزینه ای بار حذف تجدید نظرها به صورت جداگانه وجود ندارد و فقط یک گزینه برای حذف تمام تجدید نظرها در یک زمان وجود دارد. اما این افزونه دارای یک گزینه باری بهینه سازی جداول پایگاه داده وردپرس جهت کاهش سربار، است.

راهنمای کامل و اصولی بهینه سازی پایگاه داده وردپرس | قسمت اول

من همچنین به طور خلاصه در مورد ذخیره سازی خودکار autosave صحب خواهم کرد. ویژگی ذخیره سازی خودکار وردپرس، هر ۶۰ ثانیه یک ذخیره خودکار از مقاله شما ایجاد می کند. می توان این فاصله را با اضافه کردن کد زیر به فایل wp-config.php تغییر داد.

define( ‘AUTOSAVE_INTERVAL’, 160 ); // Seconds

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

امیدوارم از قسمت اول آموزش بهینه سازی پایگاه داده وردپرس لذت برده باشید. در قسمت دوم مقاله بقیه موارد دیگری که باعث افزایش بار در بانک اطلاعاتی وردپرس می شوند را معرفی و بررسی خواهم کرد و در ادامه چند پلاگین برای انجام بهینه سازی پایگاه داده وردپرس سایت را معرفی می کنم.

آموزش وردپرس

درباره سعید دیدارنو

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

دیدگاه خود را بیان کنید

12 − نه =