چگونه مصرف منابع وردپرس را کاهش دهیم؟
یکی از رایجترین چالشهایی که مدیران وب سایتهای وردپرسی با آن روبرو میشوند، مصرف بیش از حد منابع سرور است. این مشکل نه تنها منجر به کندی وب سایت و تجربه کاربری ضعیف میشود، بلکه اغلب باعث دریافت هشدارهایی از سمت شرکت هاستینگ مبنی بر تعلیق سرویس یا نیاز به ارتقای پلن نیز میشود. در ادامه به راههای مختلف برای کاهش مصرف منابع وردپرس میپردازیم.
چرا مصرف منابع وردپرس بالا میرود؟
قبل از اینکه به سراغ راه حلها برویم، باید بدانیم چه چیزی باعث میشود وردپرس منابع سرور را ببلعد. وردپرس یک سیستم مدیریت محتوای پویا است، به این معنی که برای نمایش هر صفحه، باید کدهای PHP پردازش شوند، به دیتابیس متصل شود، اطلاعات را فراخوانی کند و سپس صفحه HTML را بسازد. دلایل اصلی فشار بر سرور عبارتند از:
- افزونههای بد کدنویسی شده یا سنگین
- عدم استفاده از کش
- ترافیک مخرب یا باتها
- کرون جابهای مدیریت نشده
- پایگاه داده بهینه نشده
- نسخههای قدیمی PHP
تشخیص و عیب یابی مصرف منابع وردپرس
شما نمیتوانید چیزی را که نمیبینید، اصلاح کنید. اولین قدم استفاده از ابزارهای مانیتورینگ است.
استفاده از افزونه Query Monitor
این افزونه، استاندارد طلایی برای توسعه دهندگان وردپرس است. پس از نصب، منویی به نوار ابزار بالای وردپرس اضافه میکند که به شما موارد زیر را نشان میدهد:
- کدام کوئریهای دیتابیس کند هستند.
- کدام افزونهها بیشترین زمان پردازش PHP را میگیرند.
- خطاهای PHP که در پس زمینه رخ میدهند.
- درخواستهای HTTP خارجی که باعث کندی میشوند.
بررسی گزارشهای هاست
در کنترل پنل هاست خود به بخش Resource Usage یا CPU and Concurrent Connection Usage بروید. در اینجا میتوانید ببینید آیا محدودیتهای شما مربوط به RAM است یا CPU و یا حتی سرعت خواندن نوشتن هارد.

رفع مشکل مصرف بالای CPU در وردپرس
مصرف بالای منابع CPU در وردپرس، یکی از مشکلاتی است که بسیاری از سایتها با آن مواجه میشوند. این موضوع دلایل مختلفی دارد و زمانی رخ میدهد که هاست شما دیگر نتواند به درستی دادهها را پردازش کند. برخی از دلایل این موضوع و راه حل آنها را برای شما شرح میدهیم.
- استفاده از افزونههای زیاد و غیر بهینه یکی از دلایل مهمی است که باعث افزایش مصرف منابع CPU میشود. منظور از افزونه غیر بهینه، افزونههایی است که کدنویسی آنها غیر اصولی بوده و به طور بهینه از منابع استفاده نمیکنند. بهتر است که قبل از نصب یک افزونه از بهینه بودن آن مطمئن شوید و افزونههایی را نیز که نصب کردهاید بررسی و به روز رسانی کنید.
- قالبهای وردپرس هم میتوانند مصرف CPU را افزایش دهند. برای این که متوجه شوید از قالب نامناسبی استفاده نمیکنید و مصرف منابع شما به این دلیل نیست، بهتر است به طور موقت از قالب پیش فرض استفاده کنید.
- شاید تصور شما این باشد که با وجود تعداد برچسبهای زیاد، میتوانید بازدیدهای بیشتری هم داشته باشید، اما این طور نیست. تعداد برچسبها بر روی میزان مصرف منابع CPU تاثیر میگذارند و اختلالاتی در سایت به وجود میآورد. بهتر است که تعداد برچسبها را بهینه سازید تا میزان مصرف کاهش یابد.
- اگر هیچ یک از راه حلهای بالا باعث کاهش مصرف منابع CPU نشد، به احتمال زیاد مشکل از سایت شما نیست و ریشه آن به ارائه دهنده هاست برمیگردد. برخی شرکتهای هاستینگ منابعی کمتر از مقدار وعده داده شده در اختیار کاربران قرار میدهند که به این عمل Overselling (برای آشنایی بیشتر با Overselling، میتوانید مقاله Oversell سرور چیست؟ را مطالعه کنید.) گفته میشود. در این شرایط، بهتر است یک ارائه دهنده معتبر و قابل اعتماد انتخاب کنید تا مشکل به صورت دائمی برطرف شود.
هاست سی پنل ایران با سرعت و امنیت بالا
برای تجربه بهترین عملکرد و کاهش مصرف منابع وردپرس، سرویس هاست سی پنل ایرانی ما را امتحان کنید.
راهکارهای کاهش مصرف منابع وردپرس
در این بخش روشهای کاهش مصرف منابع وردپرس مانند RAM و CPU را مورد بررسی قرار میدهیم.

پیاده سازی سیستم کشینگ صحیح
بدون شک، کش کردن مهمترین عامل در کاهش مصرف منابع است. بدون کش، سرور مجبور خواهد بود برای هر بازدیدکننده کل کدهای PHP را از نو اجرا کند.
- Page Caching: صفحات سایت را به فایلهای HTML استاتیک تبدیل میکند. این کار بار روی CPU را تا حد زیادی کاهش میدهد. پیشنهاد میدهیم از افزونههایی مانند LiteSpeed Cache یا W3 Total Cache استفاده کنید.
- Object Caching: نتایج کوئریهای دیتابیس را در رم ذخیره میکند تا دفعات بعد نیاز به پرس و جوی مجدد از دیتابیس نباشد. اگر سایت فروشگاهی یا پربازدید دارید، استفاده از Redis یا Memcached حیاتی است.
مدیریت و بهینه سازی افزونهها
بسیاری از کاربران تصور میکنند تعداد افزونهها باعث کندی میشود، اما در واقع کیفیت افزونهها مهم است. یک افزونه بد میتواند کل سایت شما را فلج کند.
- جایگزینی افزونههای سنگین: به جای افزونههای اسلایدر سنگین، از بلوکهای گوتنبرگ یا کد CSS استفاده کنید. همچنین بهتر است به جای افزونههای بکاپ گیری که در ساعات اوج مصرف اجرا میشوند، از سرویسهای بکاپ هاستینگ استفاده کنید.
- حذف افزونههای غیر ضروری: لیست افزونههای خود را مرور کنید و هر چیزی که حیاتی نیست را غیر فعال یا پاک کنید.
کنترل Heartbeat API وردپرس
وردپرس از یک مکانیزم به نام Heartbeat API استفاده میکند تا ارتباط بین مرورگر و سرور را زنده نگه دارد. این پروسه به صورت پیش فرض هر 15 تا 60 ثانیه یک درخواست به فایل admin-ajax.php میفرستد. اگر 10 نویسنده به صورت همزمان در حال کار باشند، سرور شما با سیل عظیمی از درخواستهای PHP مواجه میشود. پیشنهاد میدهیم از افزونه WP Rocket برای کنترل این فرکانس استفاده کنید.
بهینه سازی دیتابیس
با گذشت زمان، دیتابیس وردپرس پر از دادههای زائد میشود. این دادهها شامل رونوشتهای پست، نظرات اسپم و دادههای گذرا هستند. برای بهینه سازی این موارد میتوانید اقدامات زیر را انجام دهید.
- پاکسازی جداول: از افزونههایی مانند WP-Optimize یا Advanced Database Cleaner استفاده کنید.
- محدود کردن رونوشتها: وردپرس به صورت پیش فرض تعداد نامحدودی از نسخههای قبلی یک نوشته را ذخیره میکند. با افزودن کد میتوانید آن را محدود کنید.
- بررسی جدول WP-Options: یکی از دلایل اصلی مصرف بالای رم، دادههای Autoloaded در این جدول است. افزونههای حذف شده ممکن است تنظیمات خود را باقی گذاشته باشند که در بارگذاری سایت فراخوانی میشوند. پاکسازی این بخش نیازمند دانش فنی یا استفاده از افزونههای تخصصی پاکسازی دیتابیس است.
مدیریت فایلهای Cron Job
وردپرس دارای یک سیستم زمان بندی داخلی به نام WP-Cron است که وظایفی مانند انتشار پستهای زمانبندی شده، چک کردن به روز رسانیها و ارسال ایمیلها را انجام میدهد. مشکل اینجاست که WP-Cron با هر بار بازدید کاربر اجرا میشود. میتوانید با مدیریت صحیح این فایل، ثبات سرور را به شدت افزایش دهید.
مقابله با رباتها و ترافیک مخرب
گاهی اوقات مصرف بالای منابع به خاطر کاربران واقعی نیست، بلکه به دلیل خزندههای وب تهاجمی یا حملات Brute Force است. برای حل این مورد میتوانید این کارها را انجام دهید:
- غیرفعال کردن XML-RPC: فایل xmlrpc.php یکی از اهداف اصلی حملات DDoS و Brute Force است. اگر از اپلیکیشن موبایل وردپرس یا جت پک استفاده نمیکنید، این فایل را از طریق افزونههای امنیتی یا فایل htaccess غیر فعال کنید.
- بستن دسترسی رباتهای بد: از فایروالهای کاربردی وب مانند Cloudflare یا Wordfence استفاده کنید.
استفاده از CDN
زمانی که از یک CDN مانند Cloudflare استفاده میکنید، ترافیک سایت شما قبل از رسیدن به سرور اصلی، از شبکه ابری عبور میکند که این کار باعث میشود Cloudflare:
- درخواستهای مخرب را فیلتر کند.
- فایلهای استاتیک را از سرورهای خود به کاربر تحویل دهد.
این کار باعث میشود تعداد درخواستهایی که مستقیما به هاست شما میرسد به شدت کاهش یابد و مصرف پهنای باند و I/O کم شود.
ارتقای نسخه PHP
استفاده از نسخههای قدیمی PHP نه تنها خطر امنیتی دارد، بلکه بسیار کندتر است. PHP 8.0 و نسخههای بالاتر نسبت به نسخههای قبلی سریعتر هستند و مدیریت حافظه بهتری دارند. ارتقا به آخرین نسخه PHP یکی از سادهترین راهها برای کاهش مصرف CPU در وردپرس است.
بهینه سازی تصاویر و مدیا
تصاویر حجیم مستقیما مصرف CPU را بالا نمیبرند، اما باعث افزایش پهنای باند و I/O میشوند. همچنین پردازش تصاویر نیز رم مصرف میکند. پیشنهاد میکنیم:
- تصاویر را قبل از آپلود فشرده کنید.
- از فرمت WebP استفاده کنید.
- قابلیت Lazy Load را فعال کنید تا تصاویر تنها زمانی لود شوند که کاربر اسکرول کند.
| بخش | مشکل | راهکار | ابزار |
|---|---|---|---|
| کش صفحه | اجرای PHP برای هر بازدید | تبدیل صفحات به HTML استاتیک | LiteSpeed Cache / W3 Total Cache |
| کش دیتابیس | کوئریهای تکراری | ذخیره در RAM | Redis / Memcached |
| افزونهها | سنگین یا زیاد بودن | حذف/جایگزینی افزونهها | گوتنبرگ |
| Heartbeat | فشار روی سرور | کاهش یا کنترل درخواستها | WP Rocket |
| دیتابیس | دادههای اضافی | پاکسازی و بهینه سازی | WP-Optimize |
| Cron | اجرای مکرر با هر بازدید | استفاده از کران سرور | تنظیم سرور |
| ترافیک مخرب | رباتها و حملات | فیلتر و محدود سازی | Cloudflare / Wordfence |
| CDN | فشار روی هاست | انتقال فایلها به لبه شبکه | Cloudflare |
| PHP | نسخه قدیمی و کند | ارتقا به PHP 8+ | PHP |
| تصاویر | مصرف پهنای باند | فشرده سازی + WebP + Lazy Load | افزونههای بهینه سازی |
نکات پیشرفته برای توسعه دهندگان وردپرس
اگر کاربر حرفهای هستید، بهتر است به موارد زیر نیز دقت کنید:
- کاهش درخواستهای HTTP خارجی: برخی افزونهها و قالبها، اسکریپتها یا آواتارها را از سرورهای خارجی لود میکنند. این کار باعث میشود پردازش PHP منتظر پاسخ سرور خارجی بماند. بهتر است این موارد را لوکال کنید.
- بررسی Loopهای بی پایان: کدهای سفارشی اشتباه در functions.php میتواند باعث لوپهای سنگین شود.
- استفاده از WP_Query بهینه: در کوئریهای سفارشی، فقط فیلدهایی را که نیاز دارید فراخوانی کنید و از no_found_rows برای صفحه بندیهایی که نیاز به شمارش کل ندارند استفاده کنید.
نتیجه گیری
کاهش مصرف منابع وردپرس یک فرایند یکپارچه نیست، بلکه نیازمند نگهداری مداوم است. با ترکیب استراتژیهای کشینگ قدرتمند، بهینه سازی دیتابیس، کنترل Heartbeat و استفاده از CDN، میتوانید حتی با منابع محدود، سایتی سریع و پایدار داشته باشید. به یاد داشته باشید که همیشه قبل از اعمال تغییرات بزرگ یک نسخه پشتیبان کامل از سایت خود تهیه کنید.
سوالات متداول
این فایل مسئول تمامی درخواستهای Ajax در وردپرس است. مصرف بالای آن معمولا به دلیل Heartbeat API وردپرس است.
نه لزوما، یک افزونه سبک و بهینه تاثیر خاصی روی سرور ندارد. اما حذف تنها یک افزونه سنگین یا مخرب میتواند تاثیر چشمگیری داشته باشد. تمرکز باید روی حذف افزونههای پرمصرف باشد که از طریق Query Monitor شناسایی میشود.
افزونههای کش با استفاده از PHP فایلهای HTML را میسازند. اما کش سمت سرور قبل از اینکه درخواست حتی به وردپرس و PHP برسد، پاسخ را ارسال میکنند. کش سمت سرور بسیار سریعتر و کم مصرفتر است.
منابع
- https://blogvault.net/wordpress-high-cpu-usage/
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!


اولین دیدگاه را اضافه کنید.