آموزش های وردپرس

حل مشکل سنگین بودن حجم جدول wp_options در وردپرس

حل مشکل سنگین بودن حجم جدول wp_options در وردپرس

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

پادکست صوتی این مقاله

می‌توانید نسخه صوتی این آموزش را گوش دهید و در زمان صرفه جویی کنید

تمامی کد های ذکر شده در پادکست در پایین قرار داده شده اند.

جدول wp_options در وردپرس چیست؟

جدول wp_options شامل انواع مختلفی از دیتای سایت های وردپسی مانند موارد زیر می‌باشد :

  • آدرس سایت، آدرس صفحه اصلی، ایمیل مدیریت، دسته بندی پیشفرض، تعداد پست در صفحات، فرمت زمان و …

حل مشکل سنگین بودن حجم جدول wp_options در وردپرس

جداول wp_options شامل فیلد های زیر می باشد:

  • option_id
  • option_name
  • option_value
  • autoload

حل مشکل سنگین بودن حجم جدول wp_options در وردپرس

یکی از نکات مهمی که باید درباره جدول wp_options در وردپرس بدانید فیلدی به نام autoload است. این فیلد دارای مقدار «yes» یا «no»  است. این مقدار تعیین می‌کند که داده مربوطه توسط تابع wp_load_alloptions بارگذاری شود یا نه. داده‌هایی که دارای autoload هستند در هر بار بارگذاری صفحات سایت وردپرسی به صورت خودکار بارگذاری می‌شوند. همان‌طور که پیش‌تر آموزش دادیم چگونه می‌توان برخی اسکریپت‌ها را از بارگذاری در تمام صفحات سایت غیرفعال کرد، اینجا هم همان منطق برقرار است. ویژگی autoload به‌صورت پیش‌فرض برای توسعه‌دهندگان روی «yes» تنظیم شده است اما از نظر تئوری لازم نیست هر افزونه‌ای داده‌های خود را در تمام صفحات بارگذاری کند.

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

تاثیر افزونه‌ها در سنگین شدن جدول

مشکلی که ممکن است سایت‌های وردپرسی با آن مواجه شوند زمانی است که حجم زیادی از داده‌های autoload شده در جدول wp_options ذخیره شود. این مشکل معمولاً به دلایل زیر اتفاق می‌افتد:

  • داده‌ها توسط یک افزونه به‌صورت خودکار (autoload) بارگذاری می‌شوند در حالی‌که در واقع باید مقدار autoload برای آن‌ها روی «no» تنظیم شود. یک مثال خوب در این زمینه افزونه‌های فرم تماس هستند. آیا واقعاً لازم است این افزونه داده‌های خود را در تمام صفحات بارگذاری کند؟ پاسخ کوتاه است، خیر!
  • افزونه‌ها یا قالب‌هایی از سایت وردپرسی حذف شده‌اند، اما تنظیمات آن‌ها همچنان در جدول wp_options باقی مانده‌اند. این موضوع می‌تواند باعث شود داده‌های autoload شده غیرضروری در هر درخواست فراخوانی شوند.
  • توسعه‌دهندگان افزونه و قالب داده‌های خود را به‌جای استفاده از جداول اختصاصی در جدول wp_options ذخیره می‌کنند. برای این موضوع نظرات مختلفی وجود دارد، چراکه برخی توسعه‌دهندگان ترجیح می‌دهند افزونه‌هایی استفاده کنند که جداول جداگانه‌ای ایجاد نمی‌کنند. با این حال جدول wp_options نیز برای نگهداری هزاران ردیف طراحی نشده است.
یکی از افزونه هایی که تاثیر مستقیمی روی حجم جدول wp_options دارد افزونه String Locator می باشد، اگر از این پلاگین استفاده می کنید آن را غیر فعال کنید و حجم دیتابیس را مجدد بررسی کنید.

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

راهکارهای سبک‌سازی جدول wp_options

یکی از روش های بهینه سازی جدول wp_options استفاده از کوئری هایی است که به وسیله آن بتوانیم داده های اضافی این جدول را شناسایی و حذف کنیم.

دستور SQL زیر را در phpMyadmin وارد کنید این دستور داده های wp_options را از کم به زیاد لیست خواهد کرد و شما می توانید داده های اضافی را شناسایی و حذف کنید.

توجه داشته باشید که ممکن است پیشوند دیتابیس شما با WP شروع نشود و نیاز باشد که زمانی که دستور بالا را کپی می کنید ابتدا پیشوند آن را تغییر دهید.

استفاده از افزونه Autoload Checker

افزونه Autoload Checker یک ابزار کاربردی برای وردپرس است که به شما امکان می‌دهد وضعیت داده‌های autoload را در جدول wp_options پایگاه داده‌ی سایت خود بررسی کنید. این داده‌ها اطلاعاتی هستند که در هر بار بارگذاری صفحه چه مورد نیاز باشند و چه نباشند به‌صورت خودکار بارگیری می‌شوند. در نتیجه اگر تعداد افزونه‌های نصب‌شده زیاد باشد این موضوع می‌تواند باعث کندی و افت عملکرد سایت شود.

نکته‌ی مهم اینجاست که افزونه Autoload Checker صرفاً نقش نظارتی دارد و هیچ تغییری در داده‌های پایگاه داده ایجاد نمی‌کند. اطلاعاتی که این افزونه در اختیار شما قرار می‌دهد شامل حجم کل داده‌های autoload و فهرستی از سنگین‌ترین ورودی‌های ثبت‌شده است که بر اساس حجم مرتب شده‌اند.

با استفاده از این گزارش‌ها می‌توانید به‌سادگی تشخیص دهید که کدام افزونه‌ها یا قالب‌ها بیشترین تأثیر را بر حجم داده‌های خودکار دارند. این بینش به شما کمک می‌کند تصمیم بگیرید آیا نیاز به بهینه‌سازی یا حتی حذف برخی از این منابع دارید یا خیر.

نتیجه‌گیری

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

ندا شهسواری

ندا شهسواری هستم با چندین سال تجربه در زمینه دیجیتال مارکتینگ و عشقی عمیق به دنیای تولید محتوا. از زمانی که وارد این مسیر شدم همیشه سعی کردم با خلق محتوای هدفمند، مفید و تأثیرگذار، به رشد و دیده‌شدن کسب‌وکارها کمک کنم. چند سالی هست که به‌عنوان مسئول تولید محتوا در وب آیدین فعالیت می‌کنم جایی که آموختم چطور استراتژی، خلاقیت و تحلیل را کنار هم بگذارم تا نتیجه‌ای حرفه‌ای و کارآمد به دست بیاد. من باور دارم در دنیای دیجیتال، محتوا فقط یک ابزار نیست؛ بلکه قلب تپنده‌ی ارتباط مؤثر با مخاطبه.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا