کندی پیشخوان وردپرس معمولا به یک عامل خاص محدود نمیشود. پنل مدیریت وردپرس هنگام انجام عملیات مختلف، علاوه بر هسته اصلی وردپرس، با افزونهها، قالب فعال، پایگاه داده، سرویسهای خارجی، منابع سرور و تنظیمات PHP در ارتباط است. به همین دلیل، حتی اگر صفحات سایت برای کاربران عادی سریع باز شوند، ممکن است بخش مدیریت به دلیل پردازشهای اضافی با مشکل مواجه شود.
اگر سایت شما برای بازدیدکنندگان با سرعت بالایی باز میشود اما هنگام کار با پیشخوان مدیریت وردپرس با کندی مواجه هستید، دلیل اصلی به نحوه عملکرد سیستمهای کش مربوط میشود.
پیشخوان وردپرس برخلاف صفحات عمومی سایت، معمولا از کش صفحات استفاده نمیکند. درخواستهایی که توسط کاربران واردشده به سیستم، مانند مدیر سایت یا کاربران دارای دسترسی مدیریتی ارسال میشوند، به دلیل ماهیت پویا و شخصیسازیشده بودن، قابل کش شدن نیستند.
در حالی که صفحات عمومی سایت میتوانند به صورت فایلهای HTML سبک و آماده از کش به کاربران نمایش داده شوند، هر بار کلیک در بخش مدیریت وردپرس باعث میشود سرور صفحه موردنظر را از ابتدا تولید کند.
این فرآیند شامل اجرای پردازشهای سنگین PHP، اجرای تعداد زیادی کوئری پایگاه داده و فعال شدن هوکها و عملیات مختلف افزونهها است. به همین دلیل، ممکن است یک سایت برای کاربران عادی بسیار سریع باشد اما محیط مدیریت آن کند عمل کند.
برای افزایش سرعت پیشخوان وردپرس، روشهای معمول بهینهسازی صفحات سایت کافی نیستند. بهبود عملکرد پنل مدیریت نیازمند مجموعهای متفاوت از راهکارها در سطح سرور و برنامه است، مانند بهینهسازی PHP، بررسی افزونهها، مدیریت دیتابیس و تنظیم صحیح منابع پردازشی.
برخی از رایجترین دلایل کند شدن پیشخوان وردپرس عبارتند از:
- تعداد زیاد افزونههای فعال
- افزونههای غیربهینه یا دارای کدنویسی ضعیف
- حجم بالای درخواستهای AJAX در بخش مدیریت
- محدودیت منابع CPU و RAM سرور
- تنظیمات نامناسب PHP و پایگاه داده
- حجم بالای اطلاعات ذخیرهشده در دیتابیس
- اجرای وظایف زمانبندیشده سنگین
- اتصال افزونهها به سرویسهای خارجی کند
برای رفع مشکل، ابتدا باید عامل اصلی شناسایی شود. افزایش منابع سرور همیشه بهترین راهکار نیست، زیرا اگر مشکل از یک افزونه یا درخواست اضافی باشد، ارتقای سختافزار تنها هزینه را افزایش میدهد و مشکل اصلی باقی میماند.
1. افزونههای اضافی و مشکلدار را شناسایی و حذف کنید
یکی از مهمترین دلایل کند شدن پیشخوان وردپرس، استفاده از تعداد زیادی افزونه است. هر افزونه برای اضافه کردن قابلیت جدید، بخشی از کد PHP را به وردپرس اضافه میکند و ممکن است هنگام بارگذاری صفحات مدیریت، درخواستهای اضافی ایجاد کند.
برخلاف تصور رایج، تعداد افزونهها به تنهایی عامل اصلی کندی نیست. ممکن است سایتی با ۵۰ افزونه عملکرد مناسبی داشته باشد، اما یک افزونه ضعیف باعث کندی شدید شود.
افزونههایی که معمولا بیشترین تاثیر منفی را روی پیشخوان دارند شامل موارد زیر هستند:
- افزونههای امنیتی با اسکن لحظهای
- افزونههای بکاپگیری با اجرای خودکار
- افزونههای آمارگیر و مانیتورینگ
- افزونههای صفحهساز سنگین
- افزونههای فروشگاهی با پردازشهای زیاد
- افزونههایی که به سرویسهای خارجی متصل میشوند
برای بررسی تاثیر هر افزونه میتوانید از ابزارهایی مانند Query Monitor استفاده کنید. این افزونه زمان اجرای درخواستهای PHP، کوئریهای پایگاه داده و درخواستهای HTTP خارجی را نمایش میدهد.
پس از شناسایی افزونه مشکلدار، سه راهکار وجود دارد:
- جایگزینی افزونه با یک گزینه سبکتر
- غیرفعال کردن قابلیتهای غیرضروری افزونه
- حذف کامل افزونه در صورت نبود نیاز واقعی
افزونهای که فقط برای یک قابلیت کوچک استفاده میشود اما چندین پردازش سنگین ایجاد میکند، ارزش نگهداری ندارد.
2. نسخه PHP و تنظیمات آن را بهینه کنید
وردپرس برای اجرای صحیح به PHP وابسته است و نسخه PHP تاثیر مستقیم روی سرعت پردازش درخواستها دارد.
استفاده از نسخههای قدیمی PHP مانند PHP 7.4 یا پایینتر میتواند باعث کاهش عملکرد و افزایش مصرف منابع شود. نسخههای جدیدتر PHP معمولا بهینهسازیهای بیشتری برای اجرای سریعتر کدهای PHP دارند.
برای بررسی نسخه PHP سایت:
- وارد پیشخوان وردپرس شوید.
- به بخش ابزارها و سپس سلامت سایت بروید.
- قسمت اطلاعات سرور را بررسی کنید.
در سایتهای حرفهای بهتر است از نسخههای پشتیبانیشده PHP استفاده شود. در حال حاضر نسخههای جدید PHP مانند PHP 8.1، PHP 8.2 و PHP 8.3 عملکرد مناسبی برای بیشتر سایتهای وردپرسی دارند.
علاوه بر نسخه PHP، تنظیمات زیر نیز اهمیت زیادی دارند:
افزایش مقدار PHP Memory Limit
اگر وردپرس هنگام اجرای عملیات مدیریتی با کمبود حافظه مواجه شود، سرعت کاهش پیدا میکند.
در فایل wp-config.php میتوانید مقدار حافظه PHP را افزایش دهید:
define('WP_MEMORY_LIMIT', '256M');
البته افزایش Memory Limit همیشه مشکل را حل نمیکند. اگر یک افزونه باعث مصرف غیرعادی حافظه شود، باید ابتدا همان افزونه بررسی شود.
فعالسازی OPcache
OPcache یکی از مهمترین قابلیتهای PHP برای افزایش سرعت اجرای برنامهها است.
این قابلیت باعث میشود کدهای PHP کامپایلشده در حافظه ذخیره شوند و در درخواستهای بعدی بدون پردازش مجدد اجرا شوند.
در سرورهای حرفهای معمولا فعال بودن OPcache یک تنظیم استاندارد محسوب میشود.
3. پایگاه داده وردپرس را بهینهسازی کنید
وردپرس اطلاعات زیادی را در پایگاه داده ذخیره میکند. با گذشت زمان، اطلاعات اضافی مانند نسخههای قدیمی نوشتهها، دادههای موقت، اطلاعات افزونههای حذفشده و رکوردهای غیرضروری میتوانند حجم دیتابیس را افزایش دهند.
افزایش حجم دیتابیس همیشه مشکلساز نیست، اما جداولی که تعداد زیادی رکورد غیرضروری دارند میتوانند باعث کند شدن برخی عملیات مدیریتی شوند.
برخی جداولی که معمولا بیشترین رشد را دارند:
- wp_options
- wp_posts
- wp_postmeta
- wp_actionscheduler_actions
جدول wp_options اهمیت زیادی دارد، زیرا بخشی از تنظیمات وردپرس و افزونهها در آن ذخیره میشود. اگر گزینههایی با مقدار autoload زیاد در این جدول وجود داشته باشد، در هر بار بارگذاری وردپرس خوانده میشوند و میتوانند باعث افزایش زمان پاسخ شوند.
برای پاکسازی دیتابیس میتوان از افزونههای زیر استفاده کرد:
- Advanced Database Cleaner
- WP-Optimize
قبل از هرگونه پاکسازی، تهیه بکاپ از دیتابیس ضروری است.
4. کش مناسب برای وردپرس و Object Cache فعال کنید
بسیاری از مدیران سایت فقط کش صفحات را فعال میکنند، اما برای افزایش سرعت پیشخوان وردپرس، Object Cache اهمیت بیشتری دارد.
کش صفحه بیشتر برای کاربران سایت مفید است، زیرا نسخه آماده صفحات را نمایش میدهد. اما پیشخوان وردپرس معمولا برای هر درخواست، پردازشهای PHP و کوئریهای دیتابیس انجام میدهد.
Object Cache باعث میشود دادههای پرتکرار از حافظه سریعتر خوانده شوند.
راهکارهای رایج برای Object Cache:
- Redis Object Cache
- Memcached
در سرورهایی که منابع کافی دارند، فعال کردن Redis میتواند تاثیر قابل توجهی روی سرعت پیشخوان، به ویژه در سایتهای فروشگاهی یا سایتهای دارای کاربران متعدد داشته باشد.
برای استفاده از Redis باید:
- سرویس Redis روی سرور فعال باشد.
- افزونه Redis Object Cache نصب شود.
- تنظیمات وردپرس برای استفاده از Redis انجام شود.
5. درخواستهای خارجی و APIهای کند را بررسی کنید
یکی از دلایل کمتر شناختهشده کند شدن پیشخوان وردپرس، وابستگی افزونهها به سرویسهای خارجی است. بسیاری از افزونهها هنگام ورود به پنل مدیریت، اطلاعاتی را از سرورهای دیگر دریافت میکنند.
این درخواستها ممکن است برای موارد مختلف استفاده شوند، مانند:
- بررسی نسخه جدید افزونه
- دریافت وضعیت لایسنس
- نمایش تبلیغات داخل پنل افزونه
- دریافت آمار و گزارشها
- اتصال به سرویسهای ایمیل یا امنیتی
اگر سرور مقصد کند باشد یا ارتباط شبکه با آن مشکل داشته باشد، بارگذاری صفحات مدیریت وردپرس نیز با تاخیر انجام میشود.
برای مثال، ممکن است صفحه افزونهها در چند ثانیه باز شود اما صفحه پیشخوان مدیریت چندین ثانیه منتظر پاسخ یک API خارجی بماند.
برای شناسایی این مشکل میتوانید از ابزارهایی مانند Query Monitor استفاده کنید. این ابزار درخواستهای HTTP خارجی را نمایش میدهد و مشخص میکند کدام افزونه باعث ایجاد تاخیر شده است.
راهکارهای کاهش تاثیر درخواستهای خارجی:
- غیرفعال کردن قابلیتهای غیرضروری افزونهها
- حذف افزونههایی که دائما به سرویسهای خارجی متصل هستند
- استفاده از نسخههای معتبر و بهینه افزونهها
- محدود کردن بررسیهای خودکار در افزونههای غیرضروری
در سایتهای حرفهای بهتر است هر افزونهای که در پنل مدیریت درخواست خارجی ایجاد میکند، بررسی شود، زیرا حتی چند درخواست کوچک اما کند میتوانند تجربه کاربری مدیر سایت را کاهش دهند.
6. تعداد Heartbeat وردپرس را کنترل کنید
وردپرس قابلیتی به نام WordPress Heartbeat API دارد که به صورت دورهای درخواستهایی را از مرورگر به سرور ارسال میکند.
این قابلیت برای برخی امکانات مانند موارد زیر استفاده میشود:
- ذخیره خودکار نوشتهها
- نمایش وضعیت اتصال
- اطلاعرسانی فعالیت کاربران
- قفل کردن نوشته هنگام ویرایش همزمان
اگرچه Heartbeat قابلیت مفیدی است، اما در برخی سایتها میتواند باعث ایجاد درخواستهای زیاد به سرور شود، به ویژه زمانی که:
- چند مدیر همزمان وارد پنل باشند
- کاربران مدت زیادی صفحه ویرایشگر را باز نگه دارند
- منابع سرور محدود باشد
در هر درخواست Heartbeat، وردپرس بخشی از پردازشهای PHP و دیتابیس را اجرا میکند. در نتیجه، تعداد زیاد این درخواستها میتواند باعث افزایش مصرف CPU شود.
برای مدیریت Heartbeat میتوان از افزونههایی مانند Heartbeat Control استفاده کرد یا تنظیمات آن را به صورت دستی تغییر داد.
یک تنظیم رایج برای سایتهای معمولی:
- در بخش پیشخوان: فاصله درخواستها افزایش پیدا کند.
- در بخش ویرایش نوشته: مقدار پیشفرض حفظ شود.
- در بخش نمایش عمومی سایت: درخواستها محدود یا غیرفعال شوند.
کاهش بیش از حد Heartbeat نیز توصیه نمیشود، زیرا ممکن است عملکرد ویرایشگر وردپرس یا ذخیره خودکار محتوا را مختل کند.
7. منابع سرور را بررسی و تنظیمات هاست را بهینه کنید
گاهی مشکل کندی پیشخوان وردپرس به خود سایت مربوط نیست، بلکه منابع سرور پاسخگوی نیازهای وردپرس نیستند.
وردپرس برای عملکرد مناسب به منابع پردازشی، حافظه و تنظیمات صحیح سرویسهای سرور نیاز دارد.
مهمترین مواردی که باید بررسی شوند:
مصرف CPU
اگر CPU سرور مدام درگیر باشد، پردازش درخواستهای PHP با تاخیر انجام میشود.
دلایل رایج مصرف بالای CPU:
- افزونههای سنگین
- حملات رباتها
- کوئریهای سنگین دیتابیس
- اجرای وظایف زمانبندیشده زیاد
در سرورهای لینوکسی میتوان از ابزارهایی مانند:
top
یا:
htop
برای بررسی پردازشهای فعال استفاده کرد.
محدودیت PHP Workers
در وبسرورهایی مانند LiteSpeed، Apache یا Nginx، تعداد پردازشهای همزمان PHP اهمیت زیادی دارد.
اگر تعداد PHP Workerها کم باشد، درخواستهای جدید باید منتظر آزاد شدن پردازش قبلی بمانند.
این مشکل در سایتهای فروشگاهی یا سایتهایی که کاربران زیادی در پنل مدیریت فعالیت دارند، بیشتر مشاهده میشود.
استفاده از PHP-FPM
در سرورهای حرفهای، استفاده از PHP-FPM به جای روشهای قدیمی اجرای PHP میتواند مدیریت منابع را بهتر کند.
تنظیمات مهم PHP-FPM شامل موارد زیر است:
- تعداد Workerها
- مقدار Memory Limit
- روش مدیریت پردازشها
تنظیم نادرست PHP-FPM میتواند باعث مصرف بیش از حد RAM یا کاهش سرعت پاسخ شود.
8. افزونهها و قالب را از نظر کیفیت کدنویسی بررسی کنید
همه افزونهها و قالبهای وردپرس کیفیت یکسانی ندارند. برخی محصولات ممکن است قابلیتهای زیادی ارائه دهند، اما به دلیل معماری ضعیف، باعث کاهش سرعت سایت شوند.
مشکلات رایج در افزونهها و قالبهای ضعیف:
- اجرای کوئریهای زیاد در هر بار بارگذاری صفحه
- استفاده نادرست از دیتابیس
- بارگذاری فایلهای CSS و JavaScript غیرضروری در مدیریت
- ذخیره حجم زیادی از دادههای موقت
- استفاده از کدنویسی قدیمی
برای بررسی کیفیت افزونهها:
- تعداد کوئریهای دیتابیس را بررسی کنید.
- زمان اجرای درخواستها را اندازهگیری کنید.
- افزونهها را یکییکی غیرفعال و مقایسه کنید.
- گزارشهای خطای PHP را بررسی کنید.
در بسیاری از پروژهها، حذف یک افزونه سنگین و جایگزینی آن با یک گزینه سبکتر، تاثیر بیشتری از افزایش منابع سرور دارد.
چند اقدام تکمیلی برای افزایش سرعت پنل مدیریت وردپرس
علاوه بر هشت راهکار اصلی، چند تنظیم دیگر نیز میتواند تجربه مدیریت سایت را بهتر کند.
پاک کردن افزونههای غیرفعال
افزونههایی که استفاده نمیشوند بهتر است حذف شوند. باقی ماندن افزونههای غیرفعال معمولا مستقیم باعث کندی نمیشود، اما:
- سطح حمله امنیتی را افزایش میدهد.
- حجم فایلها را زیاد میکند.
- مدیریت سایت را دشوارتر میکند.
- کاهش تعداد ابزارکهای پیشخوان
برخی افزونهها ابزارکهایی به صفحه اصلی مدیریت اضافه میکنند که اطلاعات را از منابع مختلف دریافت میکنند.
حذف ابزارکهای غیرضروری میتواند زمان بارگذاری صفحه پیشخوان را کاهش دهد.
فعال کردن CDN فقط برای بخش عمومی سایت
CDN معمولا برای سرعت صفحات سایت بازدیدکنندگان مفید است، اما تاثیر مستقیم روی سرعت پیشخوان ندارد.
در برخی شرایط، تنظیمات اشتباه CDN یا فایروال میتواند باعث اختلال در عملکرد مدیریت وردپرس شود.
بنابراین بهتر است مسیرهای مدیریتی مانند /wp-admin/ با دقت پیکربندی شوند.
چگونه مشکل کندی پیشخوان وردپرس را به صورت اصولی عیبیابی کنیم؟
رفع مشکل کندی بدون بررسی علت اصلی معمولا باعث آزمون و خطای زیاد میشود.
یک فرآیند استاندارد برای عیبیابی شامل مراحل زیر است:
مرحله اول: بررسی وضعیت سرور
ابتدا منابع مصرفی سرور بررسی شود:
- CPU
- RAM
- Disk I/O
- تعداد پردازشهای PHP
اگر منابع سرور اشباع باشند، باید ابتدا مشکل زیرساخت حل شود.
مرحله دوم: بررسی افزونهها
همه افزونهها باید بررسی شوند:
- کدام افزونه بیشترین زمان پردازش را مصرف میکند؟
- کدام افزونه درخواست خارجی ایجاد میکند؟
- آیا افزونههای مشابه همزمان فعال هستند؟
مرحله سوم: بررسی دیتابیس
موارد زیر بررسی شوند:
- حجم جدولها
- تعداد رکوردهای اضافی
- مقدار autoload در جدول wp_options
- کوئریهای کند
مرحله چهارم: بررسی تنظیمات PHP و کش
در نهایت موارد زیر بررسی شوند:
- نسخه PHP
- فعال بودن OPcache
- فعال بودن Object Cache
- تنظیمات PHP-FPM
جمعبندی
کند بودن پیشخوان وردپرس معمولا نتیجه یک عامل مشخص نیست و ترکیبی از مشکلات نرمافزاری، تنظیمات سرور و ساختار سایت باعث ایجاد آن میشود.
افزایش منابع سرور ممکن است در بعضی شرایط مشکل را کاهش دهد، اما همیشه بهترین راهکار نیست. اگر یک افزونه ضعیف، درخواست خارجی کند یا دیتابیس بهینهنشده باعث ایجاد مشکل شده باشد، ارتقای سرور تنها هزینه بیشتری ایجاد میکند.
با انجام این مراحل، در بیشتر سایتهای وردپرسی میتوان زمان پاسخ پیشخوان را کاهش داد و تجربه مدیریت سایت را به شکل محسوسی بهبود داد.