کاهش مصرف cpu در وردپرس
رفع مشکل مصرف بیش از حد منابع CPU هاست در وردپرس مطمئنا برای شما هم پیش آمده و برای رفع آن نیز راه های زیادی را دنبال کرده اید و ساعت ها وقت گذاشته اید تا مشکل را مرتفع کنید که ما به کمک شما آمده ایم تا مکشلتان را حل کنیم
احتمالاً با مشکل مصرف cpu در وردپرس در هاست خود مواجه شدهاید. این مشکل ممکن است باعث بروز خطاهای مختلف در وبسایت شما شود و در نهایت تجربه کاربری را نیز تحت تأثیر خود قرار دهد.
برای رفع این مشکل، شما ممکن است ساعتها در حال بررسی دیتابیس، اسکریپتها و افزونههای نصب شده در وردپرس باشید. اما معمولاً این مشکلات به دلیل استفاده از قالب و افزونههای نامناسب و غیر استاندارد به وجود میآیند. این مشکل باعث افزایش مصرف منابع و به دنبال آن ایجاد مشکلات متعدد در وبسایت شما میشود.
اگر شما هم با مشکل مصرف بیش از حد منابع CPU در وردپرس خود مواجه هستید، میتوانید با کاهش مصرف CPU در وردپرس این مشکل را رفع کنید، ما در این مقاله قصد داریم به این موضوع بپردازیم برای آموزش کاهش مصرف cpu وردپرس در ادامه با ما باشید.
رفع مشکل مصرف بیش از حد منابع CPU هاست در وردپرس
مشکل مصرف بالای منابع در CPU میتواند به هر دلیلی رخ دهد که در آن شما به صورت دانسته یا نادانسته به گونهای از هاست خود استفاده کنید که در پردازش دادهها دچار مشکل شوند. به عنوان نمونه یکی از مهمترین دلایل مصرف بیش از حد cpu در وردپرس از سوی افزونههای وردپرس رخ می دهد که به دلیل انتخاب افزونه ناکارآمد و کدنویسی غیراصولی، افزونه ها و کدها به صورت بهینه از CPU هاست استفاده نکرده و همین افزونه درصد زیادی از منابع هاست را به خود اختصاص میدهد. حال تصور کنید که افزونههای مختلفی در وردپرس نصب کرده باشید که برخی از آن ها هم به همین شکل عمل کنند، در این صورت فاجعه رخ داده و با یک افزایش ترافیک ساده سایت دچار اختلال شده و به دلیل محدودیتهایی که ممکن است روی هاست شما وجود داشته باشه به صورت کلی تا زمانی که مصرف منابع کاهش نیابد، سایت شما لود نشود. دلالیل متعددی می تواند موجب مصرف cpu در وردپرس گردد. حتما می پرسید ما به افزونه های مختلفی نیاز داریم اما چگونه cpu usage را کاهش دهیم؟ شما باید تمامی موارد زیر را مورد بحث و بررسی قرار دهید:
- افزونه های نصب شده
- قالب های وردپرسی
- وضعیت دیتابیس
- وضعیت بروزرسانی قالب و افزونه ها
- پیوندهای یکتا
- میزان استفاده از برچسب ها
- رسانه های پر حجم
- سیستم کش مورد استفاده
- تعداد سایت های قرار گرفته روی یک هاست
- میزان استفاده از cron job
- وضعیت ارسال اسپم در وردپرس
- ربات های جستجوگر
- بازدید بالا
- میزبانی وب
۱- بررسی افزونههای وردپرس
همان طور که در ابتدای مقاله هم اشاره کردم استفاده از افزونههای ناکارآمد در وردپرس اصلیترین دلیل مصرف بیش از حد منابع هاست در وردپرس میباشد. وقتی شما از یک افزونه استفاده میکنید این افزونه قابلیت هایی را برای شما فراهم میکند هر یک از این امکانات برای پردازش دادهها از CPU هاست استفاده خواهند کرد. حال فرض کنیم که برای یک کار بسیار پیش پا افتاده قصد داریم تا از یک افزونه استفاده کنیم، در این صورت افزونه خود را بر چه اساس و معیاری انتخاب میکنید؟
- برخی از ما بدون توجه به امکانات مدنظر صرفا بر اساس تعداد دانلود و میزان رضایت کاربران از یک افزونه آن را انتخاب میکنیم که کاری نادرست است.
- برخی از ما هم که کمی هوشمندانه عمل میکنیم ابتدا بررسی میکنیم که چه امکاناتی را نیاز داریم و سپس به دنبال افزونهای میگردیم که صرفا این امکانات را برای ما فراهم کنند و از افزونههایی که امکانات مد نظر ما را به علاوه برخی امکانات دیگر که نیازی به آنها نداریم را کنار بگذاریم.
🟢🔵 دلیل دیگری که در افزونهها میتواند رخ دهد این است که افزونه مورد نظر بیش از چند سال است که بهروزرسانی نشده است. همونطور که می دانید وردپرس مدام در حال آپدیت و بروزرسانی است. در هر نسخه از آن مشکلاتی برطرف میشوند و امکانات جدیدی نیز به آن اضافه میشود. اما افزونهها به این شکل نیستند، چرا که وقتی یک توسعه دهنده بر اساس نیاز خود افزونهای را کدنویسی میکند و سپس تصمیم میگیرد تا افزونه را در مخزن وردپرس نیز منتشر کند تا زمانی که به امکانات جدید نیاز پیدا نکند اقدام به آپدیت آن نخواهد کرد. پس کدنویسی یک افزونه که چند سال پیش تهیه شده است با وردپرس که همین چند روز پیش آپدیت شده کمی متفاوت بوده و به دلیل استفاده از توابع قدیمی ممکن است دچار مشکل شوند.
۲- بررسی قالب وردپرس
استفاده از قالب نامناسب دلیل دیگر در مصرف بیش از حد منابع خواهد بود. به منظور کاهش مصرف cpu در وردپرس اگر که از ناحیه افزونهها خاطرتان جمع شد که مشکل مصرف بالای مابع هاست از آنها نیست قالب خود را بررسی کنید. برای این منظور می توانید موقتا از قالب پیشفرض وردپرس استفاده کنید و سپس بررسی کنید که آیا همچنان مصرف منابع در هاست در بالاترین سطح خود قرار دارند یا خیر؟
در صورتی که قادر به خطایابی قالب نبودید میتونید از طریق فایل Error Log هاست هم به بررسی دقیق مشکل بپردازید. برای این منظور مراحل زیر را دنبال کنید:
انواع هاست ها را بشناسید
- وارد هاست شده و به File Manager هاست مراجعه کنید.
- سپس در مسیر Public_html به دنبال فایل Error_log بگردید.
- بعد از اینکه فایل را یافتید آن را دانلود کرده و آخرین خط کدهای آن را بررسی کنید و مسیر موجود در آنها را دنبال کنید تا ببینید مشکل مصرف منابع شما در هاست از چه ناحیهای است.
۳- بررسی دیتابیس وردپرس و Repair آن
به دلیل استفاده از افزونههای گوناگون و حذف و نصب کردن افزونههای مختلف در وردپرس توسط کاربران، دیتابیس شما با بی نظمی مواجه شده و جداولی به آن اضافه میشود که در اغلب موارد نیازی به آنها نخواهید داشت. حال وقتی کاربری به سایت مراجعه میکند درخواست وی به سرور ارسال شده و بررسی میشود که چه صفحهای باید لود شود سپس صفحه مورد نظر یافت شده و شروع به لود شدن برای کاربر خواهد شد. حالا در این بین شاید به ظاهر فکر کنید که کار در کوتاهترین زمان ممکن رخ میدهد اما این را تصور کنید که همه این کارها همزمان برای چند صد نفر به صورت همزمان انجام گرفته و دلایل قبلی و بعدی که در ادامه به شرح آن ها میپردازیم هم در مصرف منابع هاست دخیل باشند. در این صورت فاجعه رخ خواهد داد.
بنابراین در انتخاب افزونه دقت کافی را داشته باشید و بعد نصب افزونه در وردپرس سعی کنید تا به گونهای افزونه بلااستفاده را حذف کنید که هیچ نشانی از آن در هاست و دیتابیس شما باقی نمانده باشد. شاید بهتر باشد هر از گاهی با استفاده از قابلیت Repair که در phpmyadmin هاست قرار دارد اقدام به بهینه سازی دیتابیس خود بکنید. در آموزشهای آتی به نحوه بهینه سازی دیتابیس وردپرس خواهیم پرداخت.
۴- بروزرسانی قالب و افزونه ها
همان طور که در بخش افزونهها هم گفتم استفاده از نسخههای قدیمی می تواند منبع ایجاد مشکل مصرف منابع در هاست باشد. چرا که وقتی یک افزونه، قالب وردپرس و حتی خود وردپرس آپدیت میشه کدهای اون به گونهای کدنویسی میشه که از کمترین میزان منابع هاست استفاده کنه که در هر بار آپدیت این موارد هم برطرف میشوند. پس سعی کنید همیشه از آخرین و بروزترین نسخههای وردپرس، افزونه وردپرس و قالب وردپرس استفاده کنید تا مصرف منابع cpu در وردپرس را کاهش دهید.
۵- استفاده از پیوند یکتا نامناسب
از اونجایی که پیوند یکتا وردپرس بر اساس فایل htaccess. مشخص میشه و در بیشتر موارد از ماژول IfModule mod_rewrite.c که در سرور وجود داره استفاده میشه بنابراین در برخی موارد ممکنه این ماژول اصلا روی سرور نصب نشده باشه و امکان استفاده از اون هم در هاست فراهم نباشه که پیوند یکتا وردپرس شما بخواد بر این اساس کار بکنه، بنابراین در هنگام لود صفحات دچار مشکل شده و به دلیل وجود دستوراتی در htaccess. که باعث کراش کردن سرور و مصرف بالای cpu خواهند شد مواجه خواهید شد. پس بررسی پیوندهای یکتا و وضعیت سرور هم می تواند در کاهش مصرف cpu در وردپرس موثر عمل کند.
۶- استفاده بیش از حد از برچسب وردپرس
یکی دیگر از دلایل مصرف منابع cpu در وردپرس به دلیل استفاده بیش از حد از برچسبها در وردپرس میباشد که برخی کاربران به خیال خود و به این تصویر که با برچسب بیشتر میتوانند بازدید بیشتری هم به دست بیاورند باعث ایجاد مشکلات دو چندان در سایت خود خواهند شد. از یک سو مصرف منابع به دلیل تعداد زیاد برچسب بالا میرود و از سوی دیگر به دلیل وجود تعداد لینک زیاد در یک صفحه ارزش محتوای خود را پایین میآورند و باعث میشوند که بر روی سئو و بهینهسازی خود تاثیر منفی باقی بگذارند. حال استفاده از برچسب در وردپرس را زمانی تصور کنید که بیش از دهها هزار نوشته دارید که برای هر یک از این نوشتهها بیش از ۱۰ برچسب انتخاب کرده باشید.
از تفاوت لینک سازی چه میدانید؟
برای اینکه از برچسبها در وردپرس به طور صحیح استفاده کنید از آموزش استفاده صحیح از دسته بندی و برچسب در وردپرس استفاده کنید تا ببینید یک استفاده مناسب برای برچسب گذاری که با استفاده از آن منجر به مصرف بالای منابع در CPU ّاست نشود به چه صورتی خواهد بود.
۷- استفاده از رسانههایی با حجم بالا در وردپرس
همه ما سعی میکنیم تا از تصاویر و انواع مختلفی از فایلهای چندرسانهای استفاده کنیم تا هم ظاهر وبسایت خود را از هر نظر بهبود ببخشیم و هم اینکه وقتی کاربری به سایت ما مراجعه میکند با مشاهده انواع محتوا یک صفحه منظم برای وی به نمایش درآید. اما یکی از مشکلاتی که در استفاده از تصاویر و رسانههای گوناگون در وردپرس وجود دارد این است که به دلیل اینکه کاربران این نوع رسانهها را بهینهسازی نمیکنند باعث میشوند تا حجم صفحات به طرز فاجعه باری افزایش پیدا کند که در این صورت با دو مشکل مواجه خواهند شد.
- به دلیل استفاده از تصاویری با حجم و کیفیت بالا حجم صفحات سایت هم برای اینکه به صورت کامل لود شوند افزایش پیدا کرده و به دلیل همین مشکل یکی از مهمترین مقولههای سئو و بهینه سازی وبسایت تحت الشعاع قرار خواهد گرفت و سایت شما نزد موتورهای جستجو بی اعتبار خواهد شد.
- برای اینکه هاست شما یا این حجم تصاویر را در یک زمان برای چندین کاربری که به صورت آنلاین در صفحاتی قرار دارند که این تصاویر باید لود شوند باعث مصرف ترافیک بیش از حد شده و از طرفی دیگر منابع CPU هاست برای اینکه به این تعداد درخواست پاسخ دهد با افزایش مصرف مواجه خواهد شد.
🟢🔵 پس اگر از تصاویر در وردپرس استفاده میکنید سعی کنید تا همیشه با استفاده از افزونه کاهش حجم تصاویر در وردپرس تصاویر خود را بهبود بخشید. برای بهینه سازی تصاویر هم صرفا به افزونه بسنده نکنید و با استفاده از نرمافزارهای تحت وب و تحت سیستم عامل هم کمک بگیرید تا تصاویر را ضمن حفظ کیفیت به کمترین حجم ممکن خود برسانید.
۸- استفاده از سیستم کش مناسب
یکی از راههایی که با استفاده از اون میتونید تا مصرف میزان منابع cpu در وردپرس را کاهش دهید استفاده از سیستم کش در وردپرس میباشد. استفاده از کش وردپرس باعث میشود تا برخی دادههای شما به صورت کش شده در مرورگر کاربران ذخیره شود تا در مراجعات بعدی نیازی نباشد تا فایلهایی که از قبل لود شدهاند مجددا بارگزاری و لود شوند. این کار باعث میشود تا فایلهایی که به صورت ثابت هستند از سیستم کاربر فراخوانی شده و سایر فایلها که نیاز است از هاست لود شوند انجام گیرد. همین امر در کاهش مصرف منابع وردپرس تاثیر بسزایی دارد. در این صورت هم سرعت لود صفحات شما بهبود مییابد و هم اینکه مصرف منابع هاست شما کاهش پیدا خواهد کرد. پیشنهاد میکنم از افزونه wp-ffpc یا افزونه Fatest Cache یا افزونه Wp-Rocket برای کاهش مصرف cpu در وردپرس استفاده کنید.
۹- وجود چند وبسایت وردپرسی بر روی یک هاست
اصلا فکر میکردید که وجود چند وبسایت وردپرسی بر روی یک هاست باعث ایجاد مشکل مصرف منابع در هاست شود؟ بله درست است حال میپرسید چرا؟ وقتی شما اقدام به نصب وردپرس در ساب دایرکتوری یا نصب وردپرس روی ساب دامین کردهاید طبیعتا از دو یا چند وردپرس بر روی یک هاست استفاده میکنید پس از قالب و افزونههای متفاوتی هم برای این سایتها استفاده خواهید کرد. در این صورت دلایلی که به تکتک آنها در این آموزش برای مشکل مصرف منابع هاست پرداختم در تک تک ای سایتها که اقدام به نصب وردپرس در یک هاست کردهاید دخیل خواهند بود. در این صورت شما یک CPU دارید که همزمان باید بر روی چند وردپرس دادهها را پردازش کرده و پاسخ مناسب به کاربران خود بدهد. مطمئنا برای چنین چیزی اگر تعداد بازدید بالایی هم داشته باشید استفاده از هاست اشتراکی اصلا پاسخگو نیست و باید از یک هاست پرقدرت تر مثل هاست مخصوص وردپرس استفاده کنید.
۱۰- استفاده برنامهریزی درست توسط Cron Job وردپرس
در مقاله آموزش مشاهده و مدیریت کرون جاب وردپرس به بررسی کرون جاب در وردپرس پرداختم که وظیفه آن مدیریت و کنترل وظایف در وردپرس میباشد. حال اگر کرون جاب وردپرس مسئولیت خود را به درستی انجام ندهد دچار مشکل خواهید شد. بگذارید با ذکر یک مثال به معرفی کارکرد کرون جاب وردپرس بپردازم.
وقتی اقدام به افزودن نوشته جدید در وردپرس میکنید سیستم مدیریت محتوای وردپرس با استفاده از قابلیت Revisions و Autosave که در خود دارد با استفاده از همین فایل کرون جاب وردپرس اقدام به ذخیره خودکار محتوا به عنوان پیش نویس خواهد کرد تا در صورتی که مشکلی در اتصال اینترنت و یا سایت مواجه شد نوشته شما با حفظ آخرین تغییرات ذخیره شده به عنوان یک پیش نویس در نوشتههای وردپرس باقی بماند. حال اگر شما به دلایل مختلفی مثل رفع غلط های املایی و افزودن محتوای دیگر در نوشته بهروزرسانی کنید در هر بار ویرایش اقدام به ارسال چندین درخواست به wp-cron.php که در هسته وردپرس قرار دارد توسط دیتابیس صورت خواهد گرفت. به همین شکل هرچه تعداد این تقاضا برای بهروزرسانی نوشته و ویرایش آن بیشتر شود تعداد درخواست هم بیشتر خواهد شد تا زمانی که نوشته شما در زمان تعیین شده منتشر گردد. حال در همین حین که نوشته در حالت زمان دار و آماده ارسال باشد، پردازش CPU درگیر بوده و بخشی از منابع را به خود اختصاص خواهد داد که با تعداد بیشتر درخواستها این مصرف منابع هاست هم بیشتر و بیشتر خواهد شد.
۱۱- جلوگیری ارسال اسپم در وردپرس
ارسال اسپم در وردپرس هم می تواند دلیل دیگری برای افزایش میزان مصرف منابع در وردپرس باشد که در بیشتر مواقع به دلیل حملات بروتفورس که توسط اسپم در وردپرس ارسال میگردد مصرف منابع وردپرس در هاست شما به قدری افزایش خواهد یافت که به صورت کلی سایت از دسترس خارج خواهد شد. شاید برایتان جالب باشد بدانید که در سالهای اخیر برخی رقبا برای اینکه از دیگری پیشی بگیرند با استفاده از همین روشها سعی در این داشتن که رقبای خود را کنار بگذارند.
برای جلوگیری از این مشکلات میتوانید با استفاده از آموزش جلوگیری از ارسال نظرات اسپم در وردپرس بخش اعظمی از اسپم که در نظرات صورت می گیرد را رفع کنید. همچنین استفاده از کپچا وردپرس و افزایش امنیت صفحه ورود در وردپرس هم می تواند کمک شایانی برای جلوگیری از اسپم و حملات به سایت وردپرسی باشد.
۱۲- رباتهای جستجوگر را کنترل کنید
وقتی رباتهای جستجوگر مثل گوگل و بینگ برای ثبت و ایندکس وبسایت شما در موتور جستجوی خود وارد سایتتان میشوند به عنوان یک بازدیدکننده عمل میکنند و تک تک لینکهای موجود در صفحات سایت را بررسی میکنند تا کلیه لینکهای قبلی و جدید را ضمن ایندکس کردن آپدیت کنند. اما در این بین برخی رباتهای جستجوگر هستند که با این کار باعث ایجاد مشکل در سایت ما خواهند شد و عملا هیچگونه بازدید و یا ثبت شدنی از سایت ما هم در آن ها وجود نخواهد داشت، چرا که چنین وبسایتهایی سعی در این دارند تا با محتوای کاذب خود را در موتورهای جستجو نظیر گوگل در نتایج بالاتری قرار دهند. بنابراین لازم است تا دسترسی ربات های جستجوگر به سایت را محدود به رباتهایی نظر گوگل، بینگ، یاهو، ask و… بکنید.
برای تعیین دسترسی رباتهای جستجوگر به سایت کافی است تا از آموزش ساخت فایل robots.txt برای وردپرس و بهینه سازی آن استفاده کرده و از وب سایتی که در این آموزش برای معرفی رباتهای جستجوگر و نحوه تعیین دسترسی ربات ها به سایت معرفی کردهام استفاده کرده و دسترسی به سایت خود را صرفا محدود به چند ربات اصلی در وردپرس بکنید.
۱۳- بازدید بالای سایت
یکی دیگر از دلایل مصرف بالای منابع وبسایت، بازدید بالا و افزایش ترافیک وبسایت خواهد بود. اصولا همه ما دوست داریم تا وب سایتمان در بالاترین سطح از بازدید برسد. اما وقتی بازدید ما افزایش مییابد مشکلات تازه شروع خواهند شد و باید پاسخگوی این تعداد بازدید در وردپرس باشیم. برای همین لازم است تا از کلیه آموزشهای مرتبط با بهینه سازی وبسایت که در پایگاه دانش میزبانفا به معرفی آنها پرداختم استفاده کنید تا مصرف منابع را در حالتی که بازدید بالایی دارید به پایینترین حد خود برسانید. اگر با استفاده از این راهکارها موفق نشدید تا مصرف منابع در هاست خود را کاهش دهید مجبور به تغییر سرویس هاست خود خواهید بود که در این صورت پیشنهاد میکنم از هاست مخصوص وردپرس استفاده کنید.
۱۴- میزبانی هاست خود را تغییر دهید
و در آخر توپ مشکلاتی که باعث مصرف بالای منابع در هاست خواهد بود را میتوان به زمین میزبانی پرتاب کرد. شاید پیش خود فکر کنید که چرا میزبانی یک وبسایت باید دلیل مصرف بالای منابع CPU در وردپرس باشد؟
🟢🔵 همانطور که میدانید هر میزبانی وبسایت بعد از تهیه یک سرور و نصب برنامههای لازم بر روی آن این سرور را به چند بخش مختلف تقسیم بندی میکند که ما آن را با نام هاست میشناسیم و برای هر یک از این هاستها درصدی از منابع سرور که شامل CPU و رم میباشد را اختصاص خواهد داد. در این بین نصب و استفاده از انواع ماژول روی سرور هم دخیل هستند تا در نهایت یک کانفیگ مناسب از هاست صورت گیرد. اما وقتی یک هاستینگ تعداد سایت میزبانی شده روی یک سرور را به درستی تعیین نکرده باشد و مصرف منابع برای هر یک از سایتها هم به شکل صحیح انجام نگرفته باشد خود این مسئله خصوصا در هاستهای اشتراکی باعث استفاده برخی سایت ها از منابع به صورت بیشتر و برخی سایتها با برخورداری از کمترین منابع خواهد شد. پس در آخرین مرحله از کاهش مصرف cpu در وردپرس باید در خصوص هاست تجدید نظر کرده و آن را ارتقاء داد.
بنابراین در آخرین راهکار اگر موفق نشدید تا مشکل مصرف منابع در هاست خود را برطرف کنید و احساس میکنید که منابع کمی به شما اختصاص یافته است میتوانید با تغییر نوع هاست خود از منابعی با درصد بیشتر برخوردار بوده و مشکلات خود را برطرف کنید.