فهرست محتوا
یکی از موارد و مسائلی که وب مسترها همیشه با آن دستوپنجه نرم میکردهاند سرعت سایتی است که دارند. سرعت میتواند یکی از مقولههای مهمی باشد که اهمیت آن باعث شده است به یک دغدغه اساسی تبدیل شود. روشهای مختلفی برای افزایش سرعت سایت وجود دارد که میتوان از آنها به کارکردی که پایگاه داده دارد اشاره کنیم. در واقع پایگاه داده یکی از اصلیترین المانها در تعیین سرعت سایت است و اگر پایگاه داده سایت ما به درستی کار کند میتوان گفت یک گام بلند در بالا بردن سرعت برداشتهایم. این مفهوم که چطور میتوان این پایگاه داده را بهینهسازی کرد، یکی از مهمترین کارهایی است که یک وبمستر برای سرپا نگه داشتن یک سایت وردپرس باید انجام دهد و همین موضوع بهینهسازی دیتابیس وردپرس را به یک اولویت بالا تبدیل میکند و ما را به این سمت میبرد که کار پیچیده بهینهسازی دیتابیس را انجام دهیم.
در واقع باید گفت که بهینهسازی دیتابیس وردپرس چندان هم کار سختی نیست و بهراحتی انجام میگیرد اما با توجه به این مسئله که دیتابیس و پایگاه داده از حساسترین بخشهای یک سایت به شمار میروند و دستکاری آنها میتواند اوضاع را حسابی به هم بریزد. در این مقاله بهترین آموزش ممکن برای بهینهسازی دیتابیس وردپرس را ارائه خواهیم کرد اما قبل از ورود به آن لازم است که برای درست انجام شدن این کار بدانیم که دقیقا بهینهسازی دیتابیس وردپرس چه کاری را روی پایگاه داده سایت ما انجام میدهد و اصلا قرار است به چه میدانی پا بگذاریم.
کارایی دیتابیس و تاثیر آن در سرعت
وقتی که یک برنامه کامپیوتری بخواهد برای ما کار کند موارد متعددی وجود دارند که باید برای این منظور در کنار هم قرار بگیرند. یکی از مهمترین المانها برای کار یک برنامه کامپیوتری پایگاه داده یا همان دیتابیس است. در واقع این بخش است که این برنامه اطلاعات مربوط به خود را در آن ذخیره میکند و باید گفت که تمامی موارد اطلاعاتی برنامهای که با آنها سروکار دارد در این بخش بهصورت طبقهبندی شده در کنار هم قرار میگیرند. در مورد سایتهای مختلف و وردپرس هم باید گفت که ما با یک برنامه کامپیوتری طرف هستیم و این برنامه هم مانند سایر برنامهها به پایگاه دادهای نیاز دارد تا بتواند اطلاعات خود را در آن ذخیره کند.
وردپرس و سایر سیستمهای مدیریت محتوا از سیستم صفحات پویا استفاده میکنند به این صورت که وقتی درخواستی برای سرور میرسد که یک صفحه از سایت مثلا یک نوشته وبلاگ برای کاربر نمایش داده شود، لازم است که این صفحه در هسته وردپرس بهصورت کامل ساخته شده و برای کاربر ارسال شود. در زمان ساخته شدن، اطلاعات ریزودرشت زیادی موردنیاز است که ممکن است از رنگ فهرست محتوایی که در بالای هر محتوا قرار میگیرد، تا وضعیت لینک و اطلاعات کلی صفحه و حتی محتوایی که سایت دارد را از پایگاه داده استخراج کرده و با استفاده از آنها کار را به انجام برساند.
این سیستم کاری در ابتدا برای ما بهخوبی کار خواهد کرد و مشکلی پیش نمیآید اما باید گفت که داستان از جایی شروع خواهد شد که مدتی از کار سایت گذشته باشد و شما افزونههای مختلف زیادی را روی سایت خود نصب کرده باشید که در این حالت اوضاع کمی سخت خواهد شد. این کار میتواند باعث شود که پایگاه دادههایی که در سیستم مدیریت محتوای وردپرس خدمت میکنند به یک پایگاه داده شلوغ و بزرگ تبدیل شده که جزئیات ریزودشتی در آنها وجود داشت باشند و بعضا خیلی از آنها به کار ما نمیآید و پیدا کردن اطلاعاتی که سیستم لازم دارد سخت خواهد شد.
این موضوع میتواند باعث پایین آمدن سرعت سایت شود. در صورتی که این سوال برای شما پیش آمده است که این اوضاع چطور سرعت را پایین میآورد در بخش بعدی آن را توضیح خواهیم داد.
تاثیر پایگاه داده روی سرعت
در رابطه با تاثیراتی که پایگاه داده میتواند روی سرعت داشته باشد و باعث شده است که گذر ما به کارهایی مانند بهینهسازی دیتابیس وردپرس بیفتد باید گفت که پایگاه داده و دیتابیس یکی از پررنگترین نقشها را در سرعت سایت دارد. اگر بخواهیم این مورد را بهتر باز کنیم، باید یک تعریف از سرعت سایت ارائه کنیم. وقتی که میگوییم سرعت یک سایت چه اندازه است در واقع منظور ما این است که از زمانی که درخواستی از طرف کاربر برای دسترسی به یک صفحه از سایت به طرف سرور ارسال شده، این درخواست توسط سرور خوانده شود و پاسخ مناسب به آن داده شده و صفحه برای کاربر نمایش داده شود، چه اندازه طول میکشد. هر چه این زمان کمتر باشد سایت ما سرعت بیشتری دارد.
در رابطه با این زمان باید گفت که عوامل زیادی دخیل هستند و موارد مختلف زیادی میتوانند روی این زمان اثر بگذارند. اول از همه مدت زمانی که طول میکشد درخواست به سرور برسد و سرور آن را بخواند. عموما این زمان به سرویس کاربر و فاصله وی از ما بستگی دارد و آنقدر کم است که در این محاسبه حساب نخواهد شد. زمان بعدی زمانی است که وبسرور درخواست را گرفته و آن را روی سایت ما تحلیل میکند و با استفاده از کدهای php که وردپرس دارد درخواست را آنالیز میکند. مدت زمان بعدی زمانی است که این فایلهای php بهسراغ پایگاه داده آمده و دادههای موردنیاز خود را برداشته و صفحه را برای کاربر ایجاد میکنند.
بعد از ایجاد این صفحه بهصورت کامل برای کاربر ارسال شده و کد آن در مرورگر کاربر به نمایش در میآید. همه این مراحل برای یک سایت خوب و با سرعت قابلقبول بین سه تا 5 ثانیه نباید بیشتر طول بکشد. البته این زمان مربوط به سال میشود و زمانی است که گوگل از طریق آمارهایی که از ماندن کاربران در سایتها گرفته است به دست آمده و در صورتی که نمایش صفحه بیشتر از ثانیه طول بکشد نیمی از کاربران سایت شما را ترک خواهند کرد و راهکاری که در اینجا داریم این است که زمانهای گفته شده را کاهش دهیم.
در این میان بعضی از عوامل زمانی در دست ما نیست و ما روی آنها کنترلی نداریم که از آنها به زمان رسیدن درخواست اشاره کردیم. اما دو معیار اساسی که میتواند روی سرعت تاثیر بسیار زیادی داشته باشد زمان ارسال شدن و دانلود شدن دادههای سایت روی سیستم کاربر است که برای آن بهینهسازیهای مربوطه روی ظاهر سایت مانند بهینه کردن عکسها که بهصورت کامل آن را در مقاله بهینه سازی عکس برای سایت بررسی کردیم و دیدیم که چطور انجام میشود. مورد مهم دیگر زمان دستیابی به اطلاعات پایگاه داده است که اکنون میخواهیم با بهینهسازی دیتابیس وردپرس این کار را انجام دهیم.
در واقع تاثیر زمان دستیابی به اطلاعات موردنیاز برای کاربر از روی هاست یکی از مهمترین المانها و مواردی است که در زمان کلی دسترسی کاربر به سایت تاثیر دارد و باید آن را یکی از مهمترین عوامل پایین آمدن سرعت در دیتابیسهای شلوغ دانست. وقتی که یک دیتابیس اوضاع بههمریختهای داشته باشد و جداول زیادی در آن قرار داشته باشند، زمان دسترسی به آن بالاتر رفته و پیدا کردن دادهها در بین این همه داده که بعضا خیلی از آنها هم بهدردنخور است بیشتر میشود.
در واقع باید گفت که دیتابیسهای بزرگتر کندتر هستند. پس برای اینکه ما یک دیتابیس سبک و سرحال برای سایت وردپرسی خود داشته باشیم که بهترین بازدهی را داشته باشد لازم است که بهینهسازی دیتابیس وردپرس را انجام دهیم. در مورد اینکه بهینهسازی دیتابیس وردپرس دقیقا چه کاری را میکند در بخش بعدی صحبت میکنیم.
با بهینهسازی دیتابیس وردپرس چه اتفاقی میافتد
قبل از اینکه بهینهسازی دیتابیس وردپرس را شروع کنیم بهتر است بدانیم که این کار دقیقا قرار است چه بلایی را سر دیتابیس ما بیاورد. در بخشهای قبلی به صورت کلی این مورد که چطور دیتابیس میتواند باعث پایین آمدن سرعت سایت ما شود و باید چه کار کنیم تا پایگاه دادهای که داریم بتواند به خوبی کار کند را بررسی کردیم و گفتیم که اگر پایگاه داده ما روبهراه باشد و سریع عمل کند تاثیر مثبتی روی سایت ما دارد. اما این سرحال بودن پایگاه داده دقیقا با چه فرایندهایی همراه میباشد.
لازمه اینکه بدانیم برای بهینهسازی دیتابیس وردپرس چه کاری قرار است انجام شود این است که بدانیم بعد از گذشت مدتی از فعالیت سایت چه بلایی سر دیتابیس میآید. در این مورد باید گفت که اتفاقات متعددی میتواند پایگاه داده ما را بزرگ کند و ما را با کندی مواجه کند و محتوایی که ما در سایت قرار میدهیم، محتوای ناخواستهای وارد سایت میشود و حتی ممکن است به کاربر نمایش داده نشود و همینطور اطلاعات مربوط به افزونهها از اصلیترین دلایلی هستند که پایگاه داده را به هم میریزند.
در واقع کاری که برای بهینهسازی دیتابیس وردپرس انجام میدهیم این است که اطلاعاتی که لازم نداریم را از روی آن پاک کرده و مواردی که مربوط به افزونههایی که دیگر استفاده نمیشوند میباشند را هم از دیتابیس پاک میکنیم، بعد از اینکه این کار انجام شد لازم است که کمی اطلاعات موجود را هم مرتب کرده و دستی به سروروی جداولی که در پایگاه داده وجود دارند بکشیم و آنها را هم مرتب کنیم. پا کردن فضای خالیای که در یک جدول وجود دارد از کارهایی است که میتواند تاثیر خوبی را روی بهینهسازی دیتابیس وردپرس و بالا رفتن سرعت داشته باشد.
وقتی که این کارها انجام شود میتوان گفت که کار بهینهسازی دیتابیس وردپرس به اتمام رسیده و ما یک پایگاه داده سریع داریم که بدون مزاحمت عوامل مخرب میتواند روی سایت ما کار کند. البته باید گفت که کارهایی که گفتیم را عموما ابزارها برای ما انجام داده و لازم نیست که شما شخصا بهسراغ سیستم مدیریت پایگاه داده خود رفته و یکییکی این موارد را انجام دهید. برای انجام این کارها و استفاده از مزایایی که بهینهسازی دیتابیس وردپرس برای ما دارد دستورالعملی وجود دارد که در ادامه آن را با هم دنبال میکنیم و میتوان گفت که با این کار روند بهینهسازی بهصورت کامل انجام میشود.
آموزش بهینهسازی دیتابیس وردپرس
در رابطه با اینکه چطور باید بهینهسازی دیتابیس وردپرس را انجام دهیم باید گفت که در اینجا ما با یک فرایند چندمرحلهای طرف هستیم که هر کدام از بخشهای مختلف آن را باید از جای خاصی از سایت انجام داد. در ادامه سه مرحله کلیای که باید برای بهینهسازی دیتابیس وردپرس انجام شود تا سایت سریع و خوبی در اختیار ما قرار بگیرد را بررسی خواهیم کرد.
گام اول – بکاپ گیری از دیتابیس
اولین کاری که باید انجام دهید این است که از پایگاه داده خود بکاپ تهیه کنید و هواستان هم باید به بکاپها باشد. در این مورد باید گفت که بهینهسازی دیتابیس وردپرس یکی از خطرناکترین کارهایی است که روی یک سایت انجام میشود و دردسرهای زیادی را برای شما درست خواهد کرد. یک اشتباه ساده در این بخش به معنای پاک کردن خیلی از اطلاعات حیاتی، در یک چشم به هم زدن و بدون راه بازگشت میباشد. با چند کلیک ساده ممکن است که یک بخش بزرگ از سایت شما از رده خارج شود و دردسرهای زیادی را برای بازگرداندن آن خواهید کشید.
برای گرفتن بکاپ لازم نیست که از افزونههایی مانند داپلیکیتور استفاده کنید و کار خود را بیشتر کنید. بهتر است که بهسراغ کنترل پنل خود رفته و یک بکاپ از پایگاه داده خود تهیه کنید. میتوانید این کار را با بکاپ گیری تنظیمات هاست انجام دهید و یا اینکه مستقیما بهسراغ phpMyAdmin سایت رفته و دیتابیس موردنظر خود را Export کنید. در صورتی که مشکلی برای سایت شما پیش بیاید این بکاپها میتواند بهراحتی روی هاست شما Import شده و اطلاعات شما را باز گرداند.
برای این که این بکاپ را از هاست خود تهیه کنید لازم است که به هاست وارد شده و بهسراغ سیستم مدیریت پایگاه داده خود یا همان phpMyAdmin بروید. بسته به اینکه هاست شما سی پنل باشد یا دایرکت ادمین این کار میتواند به روشهای مختلفی انجام شود که آموزش آن را در مقالههای دایرکت ادمین چیست و آموزش سی پنل هاست با هم بررسی کردیم.
بعد از ورود به phpMyAdmin از منوی بالایی آن روی Export کلیک کنید تا به صفحه خروجی گرفتن از پایگاه داده هدایت شوید.
بعد از کلیک روی این گزینه به بخش زیر وارد میشوید که امکانات مختلفی را برای گرفتن بکاپ از پایگاه داده یا بهتر است بگوییم یک فایل خروجی در اختیار شما قرار میدهد. در اینجا باید گزینه Quick را برای گرفتن بکاپ کامل از پایگاه داده خود انتخاب کرده و روی دکمه Go کلیک کنید تا عملیات آغاز شود.
در صورتی که شما گزینه Custom را انتخاب کنید، گزینههای زیاد دیگری هم در اختیار شما قرار میگیرد که ممکن است کمی شما را گیج کند بهتر است که سادهترین نوع بکاپ و کاملترین آن را از پایگاه داده خود داشته باشید. گرفتن بکاپ ممکن است که کمی زمانبر باشد و بسته به اندازه پایگاه داده شما طول خواهد کشید. بعد از تکمیل آن این بکاپ را دانلود کرده و روی سیستم خود نگه دارید. در اینجا نوبت به مرحله دوم از بهینهسازی دیتابیس وردپرس رسیده است.
گام دوم – پاکسازی اطلاعات از پیشخوان
بعد از تهیه بکاپ و اطمینان از این موضوع، در صورتی که چیزی را به اشتباه پاک کردیم میتوانیم آن را درست کنیم، لازم است که برای بهینهسازی دیتابیس وردپرس بهسراغ پیشخوان وردپرس برویم. هنوز خیلی از موارد مختلف وجود دارند که میتوان آنها را از اینجا بهینهسازی کرد و لازم است که این کار از پیشخوان دنبال شود. یکی از مواردی که همه ما با آن دستوپنجه نرم میکنیم نظرات اسپم هستند که اصلا هم کم نیستند. هر چند افزونههایی مانند Akismet جلوی خیلی از آنها را میگیرند اما این موضوع که ما با آنها در سایت وردپرسی مواجه شویم کاملا طبیعی خواهد بود.
برای این منظور لازم است که از منوی پیشخوان روی دیدگاهها کلیک کنید تا وارد این بخش شوید. در اینجا میتوانید نظرات اسپم زیادی را ببینید که لازم است برای انجام بهینهسازی دیتابیس وردپرس آنها را حذف کنید. دقت داشته باشید که بعد از اینکه این نظرات به زبالهدان منتقل شدند زبالهدان را نیز بهصورت کامل پاک کنید.
برای بهینهسازی دیتابیس وردپرس لازم است که همین کار روی نوشتهها هم انجام دهیم. به این صورت که همه نوشتهها را انتخاب کرده و بعد از آن روی پیشنویسها کلیک میکنیم. در هر سایتی نوشتههای بلااستفادهای وجود دارند که معمولا به هیچ دردی نمیخورند و هیچ وقت فرصت انتشار را پیدا نمیکنند لازم است که برای یک بهینهسازی دیتابیس وردپرس اصولی این موارد را کاملا از سایت خود حذف کرده و دور بریزید. برای این کار آنها را انتخاب کرده و از کارهای دستهجمعی انتقال به زبالهدان را انتخاب کرده و روی اجرا کلیک کنید.
بعد از انجام این کار نوبت به خود زبالهدان میرسد که باز هم این اطلاعات را روی پایگاه داده ذخیره کرده است. برای حذف این اطلاعات از آنجا لازم است به داخل زبالهدان رفته، موارد موردنظر را انتخاب کنید و حذف برای همیشه را بزنید تا بهطورکلی از روی سایت پاک شوند. اکنون میتوان گفت که اطلاعات بهدردنخوری که از این بخش میتوانستید حذف کنید بهصورت کامل پاک شده است و باید به مرحله بعدی در بهینهسازی دیتابیس وردپرس برویم.
گام سوم – پیدا کردن جداول پایگاه داده و حذف جداول بلااستفاده
همانطور که گفتیم تمامی افزونهها و خیلی از ماژولهایی که روی سایت شما کار میکنند اطلاعات خود را در جداول پایگاه داده ایجاد و درج میکنند و این موضوع میتواند در طولانی مدت جداولی را در پایگاه داده ایجاد کند که صاحبان آنها چندسالی است که از سایت شما رفتهاند صرفا دادههای بیهوده را روی سایت شما ایجاد کردهاند. برای بهینهسازی دیتابیس وردپرس لازم است که شما این جداول را پیدا کرده و بهطور کامل آنها را از سایت حذف کنید.
برای این کار ابزارهای مختلفی وجود دارد که یکی از مهمترین آنها افزونه Plugins Garbage Collector میباشد. یکی از افزونههای حرفهای که میتواند به شما بگوید چه جداولی روی دیتابیس شما وجود دارد و این جداول مربوط به کدام افزونه هستند. برای استفاده از این افزونه باید از مسیر پیشخوان > افزونهها > افزودن وارد بخش نصب افزونههای جدید شده و نام Plugins Garbage Collector را سرچ کنید. این افزونه در بالای نتایج جستجو به شما نمایش داده خواهد شد:
بعد از اینکه کار نصب و فعالسازی این افزونه را انجام دادید لازم است که این افزونه را در بین افزونههای نصب شده پیدا کرده و روی عبارت آنالیز که در زیر آن نوشته شده است کلیک کنید تا کار خود را شروع کند و پایگاه داده را بررسی کند.
با این کار شما به صفحه زیر منتقل خواهید شد که میتوانید از طریق آن موارد مختلفی را روی جداول خود کنترل کنید.
برای کاری که ما می خواهیم انجام دهیم لازم است که نمایش بروزرسانی های مخفی را انتخاب کرده و روی اسکن کلیک کنید تا تمامی مواردی که از دست رفته هستند و دیگر کاری با آنها نداریم را برای ما فهرست کند. بعد از این کار مواردی که با رنگ قرمز مشخص شده اند را انتخاب کرده و آنها را حذف کنید. با این کار جداولی که دیگر بلا استفاده هستند و کسی با آنها کار ندارند به صورت کامل حذف خواهند شد.
گام چهارم – بهینهسازی جداول موجود
در مورد این بهینهسازی باید گفت که شما به دور روش میتوانید این کار را انجام دهید. شما میتوانید هم کار بهینهسازی جداول موجود را از طریق بهینهسازی دیتابیس وردپرس با phpMyAdmin انجام دهید و هم اینکه یکی از ابزارهای بهینهسازی خودکار را استفاده کنید که یکی از بهترین این ابزارها افزونه WP Optimize میباشد. البته شما این امکان را دارید که با افزونه WP Rocket نیز این کار را انجام دهید و افزونهها این کارها را با چند کلیک ساده برای شما انجام خواهند داد.
در صورتی که مایل به نصب افزونه و استفاده از آنها هستید دو مقاله افزونه WP Optimize و افزونه WP Rocket میتوانند آموزش کامل کار بهینهسازی دیتابیس وردپرس با افزونهها را در اختیار شما قرار دهند. اما در صورتی که میخواهید این کار را از طریق phpMyAdmin دنبال کنید باید گفت که کار شما کمی متفاوت خواهد بود.
برای بهینهسازی دیتابیس وردپرس از طریق این سیستم مدیریت پایگاه داده لازم است وارد آن شده و روی پایگاه داده کلیک کنید. بعد از این کار کلیه جداولی که به شما نمایش داده میشود را انتخاب یا همان Select کنید.
برای این کار لازم است که به پایین کادر نمایش جداول رفته و گزینه Check All را انتخاب کنید. بعد از آن از منوی آبشاریای که در کنار آن قرار دارد، گزینه Optimize Table را انتخاب کرده و منتظر باشید که کار بهینهسازی به پایان برسد.
بعد از تکمیل، شما یک پیغام مبنی بر انجام این کار دریافت میکنید که نشاندهنده این است که بهینهسازی دیتابیس وردپرس برای جداول باقیمانده با موفقیت انجام شده است.
در این رابطه باید گفت که بهینهسازی دیتابیس وردپرس میتواند یکی از کارهایی باشد که به سایت شما آسیب میرساند و حتی شاید این آسیبها تا مدتی خود را نشان ندهند، پس بهتر است از بکاپ و خروجیای که از پایگاه داده خود گرفتهاید را تا مدتی بهخوبی نگهداری کنید زیرا احتمال خطر برای شما وجود دارد.
نتیجهگیری
در این مقاله به بررسی روش انجام بهینهسازی دیتابیس وردپرس و اینکه اصلا چرا باید این کار را انجام دهیم و فایده آن برای ما چیست پرداختیم. در این مورد باید گفت که دیتابیس یکی از موارد تعیینکننده در سرعت سایت ما است که با گذشت زمان سنگین شده و سایتهای وردپرسی را دچار اختلال میکند. بهینهسازی دیتابیس وردپرس بهصورت درست و اصولی میتواند شما را از این وضعیت نجات دهد. در این مقاله چهار گام لازم و ضروری برای این بهینهسازی را بهصورت کامل ارائه کردیم و در صورتی که آنها را گامبهگام انجام دهید سایت شما میتواند بدون هیچ مشکلی کار خود را انجام دهد.