
به اشتراک بگذارید

به اشتراک بگذارید
حتماً زمانی که این مقاله را باز کردهاید، از چرخیدن مداوم دایره لودینگ در هنگام ذخیره نوشتهها یا باز کردن لیست افزونهها کلافه شدهاید و به دنبال راهی برای افزایش سرعت پیشخوان وردپرس هستید. سرعت پنل مدیریت وردپرس یا همان بکاِند (Backend) وردپرس، موتور محرک کسبوکار آنلاین شماست؛ اگر این موتور کند باشد، تمام فرآیند مدیریت محتوا، پاسخگویی به مشتریان و فروش شما مختل میشود. تفاوت یک پیشخوان سریع با یک پیشخوان کند، تفاوت میان تمرکز بر رشد کسبوکار و هدر دادن ساعتها وقت برای مسائل فنی سادهای است که راهحل دارند.
کندی پیشخوان وردپرس معمولاً ریشه در چند عامل اصلی دارد:
اگر به دنبال راهی عملی و قابل اجرا برای افزایش سرعت پیشخوان وردپرس یا رفع کندی پیشخوان وردپرس هستید. خبر خوب اینکه قرار نیست حرفهای تکراری بزنیم. تمرکز اصلی ما روی فوت کوزهگری سرعت بکاند وردپرس است؛ یعنی مدیریت درخواستهای خارجی به صورت دستی و با کدنویسی، همراه با وایتلیست کردن سرویسهای ضروری مثل درگاه پرداخت. البته روشهای افزونهای هم پوشش داده شده، ولی اولویت ما آموزش دستی است تا کنترل کامل دست خودتان باشد. پس تا انتهای این مقاله از بلاگ وب داده همراه ما باشید.
آنچه در این مقاله میخوانید:
وقتی درباره افزایش سرعت پیشخوان وردپرس صحبت میکنیم، منظورمان دقیقاً فاصله زمانی بین کلیک شما روی یک منو تا نمایش کامل محتوای آن در داشبورد است. برخلاف ظاهر سایت (Frontend) که با کش کردن (Caching) سریع میشود، بکاِند وردپرس پویا است و نمیتوان آن را به سادگی کش کرد؛ چون هر لحظه در حال تعامل با دیتابیس و اجرای دستورات PHP است.
ساختار اجرای یک درخواست وردپرس در Backend به زبان ساده:
کلیک کاربر (WP-Admin)
⬇️
ارسال درخواست به سرور
⬇️
[ پردازش PHP ] ➡️ [ پرسوجو از دیتابیس ]
⬇️
[ ریکوئستهای خارجی به APIها ]
⬇️
نمایش پاسخ در مرورگر
هر بار که وارد پنل مدیریت وردپرس میشوید، اتفاقهایی در پشت صحنه میافتد که نمیبینید. وردپرس و افزونههای نصبشده روی سایت شما، به صورت خودکار درخواستهایی (HTTP Requests) به سرورهای خارجی ارسال میکنند. مثلاً هسته وردپرس با سرور wordpress.org چک میکند که آیا نسخه جدیدی منتشر شده یا نه. افزونه ووکامرس به سرورهای WooCommerce وصل میشود. افزونههای ترجمه، فرمساز و حتی قالبها هم همین کار را انجام میدهند.
مشکل اینجاست که هر کدام از این درخواستها زمانبر هستند. اگر سرور مقصد مشغول باشد یا اینترنت شما (مخصوصاً در شرایط اینترنت ملی) کند باشد، هر درخواست ممکن است 5 تا 30 ثانیه طول بکشد. حالا تصور کنید 10 افزونه دارید و هر کدام 2 تا 3 درخواست خارجی میزنند؛ فقط برای لود شدن یک صفحه از داشبورد، ممکن است 30 ثانیه یا بیشتر منتظر بمانید!
WP_HTTP_BLOCK_EXTERNAL در وردپرس دقیقاً برای مدیریت همین درخواستها طراحی شده و با اضافه کردن آن به فایل wp-config.php میتوانید تمام ارتباطات خروجی را کنترل کنید.جریان درخواستهای خارجی در WordPress به صورت زیر است:
شما وارد پیشخوان میشوید
⬇️
وردپرس صفحه را لود میکند
⬇️
┌───────────────────────────────┐
│ درخواستهای خارجی شروع میشوند │
├─ 🔸 چک آپدیت هسته → wordpress.org
├─ 🔸 چک آپدیت افزونهها → api.wordpress.org
├─ 🔸 چک لایسنس قالب → سرور قالب
├─ 🔸 ووکامرس → woocommerce.com
├─ 🔸 افزونه ترجمه → سرور WPML
└─ 🔸 سایر افزونهها → سرورهای مختلف
⬇️
⏱️ مجموع انتظار: 10 تا 60 ثانیه!
⬇️
صفحه بالاخره لود میشود 😤
قبل از اینکه بخواهید مشکل کندی پیشخوان وردپرس را حل کنید، باید بدانید دقیقاً چه عواملی باعث شدهاند داشبورد شما مثل لاکپشت حرکت کند. هر کدام از این عوامل بهتنهایی میتوانند سرعت پنل مدیریت را پایین بیاورند؛ ولی وقتی چند تا از آنها همزمان وجود داشته باشند، وضعیت واقعاً بحرانی میشود. در ادامه مهمترین دلایل کند شدن بکاند وردپرس را بررسی میکنیم:
| دلیل کندی | توضیح | میزان تأثیر |
|---|---|---|
| درخواستهای خارجی (External Requests) | افزونهها و هسته وردپرس به سرورهای خارجی وصل میشوند | ⭐⭐⭐⭐⭐ |
| هاست و سرور ضعیف | منابع محدود CPU، RAM و دیسک کند | ⭐⭐⭐⭐ |
| افزونههای سنگین و زیاد | هر افزونه کوئریهای اضافی به دیتابیس میزند | ⭐⭐⭐⭐ |
| نسخه قدیمی PHP | نسخههای زیر 8.1 بهطور محسوسی کندتر هستند | ⭐⭐⭐ |
| دیتابیس شلوغ و بهینهنشده | جداول سنگین، ریویژنهای زیاد، ترنزیشنتهای منقضی | ⭐⭐⭐ |
| مشکلات امنیتی و بدافزار | اسکریپتهای مخرب منابع سرور را مصرف میکنند | ⭐⭐⭐ |
| اینترنت ملی و محدودیت دسترسی | اتصال به سرورهای خارجی با تأخیر زیاد انجام میشود | ⭐⭐⭐⭐⭐ |
قبل از اینکه جلوی درخواستهای اضافی را بگیرید، باید دقیقاً بدانید کدام افزونه یا سرویس چه درخواستهایی ارسال میکند. بهترین ابزار برای این کار، افزونه رایگان Query Monitor (کوئری مانیتور) است.
1. ابتدا وارد پیشخوان وردپرس شوید سپس به مسیر افزونهها (Pligins)← افزودن (Add Pligin) بروید.

2. عبارت Query Monitor را جستجو کنید.
3. افزونه را نصب و فعال کنید برای این کار ابتدا روی Install و سپس دکمه Active کلیک کنید.

4. بعد از فعالسازی، در نوار بالای پیشخوان (Admin Bar) یک منوی جدید ظاهر میشود.

همانطور که در تصویر بالا نیز قابل مشاهده است کوئری مانیتور اطلاعات زیر را نمایش میده:
پس از نصب Query Monitor، روی منوی آن در نوار بالا کلیک کنید و HTTP API Calls را با کلیک روی آن باز کنید. در این بخش اطلاعات زیر نمایش داده میشود:

حالا که میدانید کدام درخواستها مشکلساز هستند، وقتش رسیده جلویشان را بگیرید. روش دستی (manually) مطمئنترین و سریعترین راه برای بهینهسازی WP-Admin است.
/* That's all, stop editing! */ اضافه کنید. به تنظیمات پیشفرض بالای فایل (دیتابیس، کلیدهای امنیتی و…) دست نزنید.برای این کار وارد داشبورد سی پنل سایت تان شوید و فایل wp-config.php را در Root سایتتان باز کنید ( از طریق مسیر File Manager هاست ← Public_html ) و خط زیر را قبل از عبارت /* That's all, stop editing! */ اضافه کنید و برای ذخیره تغییرات روی Save Changes کلیک کنید.
🔶 برای اینکه بتوانید فایل wp-config.php را ویرایش کنید کافی است روی آن کلیک راست کرده و Edit را بزنید.
define('WP_HTTP_BLOCK_EXTERNAL', true); با اضافه کردن این خط، تمام ریکوئست های خارجی و اضافی بلاک می شوند به عبارتی تمام ارتباطات خروجی وردپرس قطع میشوند. این یعنی هیچ افزونهای نمیتواند به سرور خارجی وصل شود.


وقتی درخواستهای خارجی را بلاک میکنید، باید راه را برای سرویسهایی که سایتتان بدون آنها نمیتواند درست کار کند، باز بگذارید. این کار با تنظیم WP_ACCESSIBLE_HOSTS انجام میشود.
برای اینکه به درخواست ها و سرویس های ضروری اجازه دسترسی دهید می بایست اصطلاحا یک وایت لیست تهیه کنید به عنوان مثال برای اجازه دسترسی به به درگاه های پرداخت بانکی و یا افزونه های ضروری از دستور زیر استفاده کنید.
//
define('WP_HTTP_BLOCK_EXTERNAL', true);
//
define('WP_ACCESSIBLE_HOSTS',
'*.wordpress.org,' . // آپدیت هسته و افزونهها
'api.zarinpal.com,' . // درگاه زرینپال
'*.shaparak.ir,' . // شاپرک (درگاه بانکی)
'bpm.shaparak.ir,' . // بهپرداخت ملت
'sep.shaparak.ir,' . // سامانکیش
'ikc.shaparak.ir,' . // پارسیان
'pec.shaparak.ir,' . // پاسارگاد
'www.google.com,' . // reCAPTCHA
'downloads.wordpress.org' // دانلود افزونهها
); 📌 توضیح: علامت * (ستاره) در ابتدای دامنه یعنی تمام سابدامینهای آن دامنه مجاز هستند. مثلاً wordpress.org.* شامل api.wordpress.org و downloads.wordpress.org و هر سابدامین دیگری میشود. در ادامه به بررسی نکات مهم مربوط به ایجاد این وایتلیست پرداخته ایم.

در هنگام اعمال محدودیتهای دسترسی در سرور، بهویژه در شرایط ایران اکسس، توجه به دو نکته زیر برای حفظ پایداری و سرعت وبسایت حیاتی است:
دقت داشته باشید که اگر سرور شما دارای محدودیت دسترسی به اینترنت بینالملل (Iran Access) باشد، تلاش وردپرس برای اتصال به مخزن اصلی جهت آپدیت هسته، افزونهها و قالبها منجر به Time-out و در نتیجه کندی پیشخوان خواهد شد.
در صورتی که از افزونههای تجاری و پولی (مانند WP Rocket، Yoast SEO Premium یا Rank Math) استفاده میکنید، حتماً آدرس سایت اصلی افزونه را در لیست دسترسیهای مجاز قرار دهید.
| نوع سایت | دامنههایی که باید وایتلیست شوند |
|---|---|
| تمام سایتها | downloads.wordpress.org |
| فروشگاهی (ووکامرس) | درگاه پرداخت + *.woocommerce.com (فقط در صورت نیاز) |
| چندزبانه | سرور لایسنس افزونه ترجمه |
| سایت با reCAPTCHA | www.google.com, www.gstatic.com |
| سایت با ایمیل مارکتینگ | دامنه سرویس ایمیل (مثلاً api.mailchimp.com) |
روش قبلی (یعنی بلاک همه ریکوئستهای وردپرس + ایجاد وایتلیست) خوب است، ولی گاهی نیاز دارید فقط درخواستهای خاصی را بلاک کنید و بقیه آزاد باشند. در این حالت می توانید از فیلتر pre_http_request استفاده میکنید. این روش برای کسانی مناسب است که کنترل دقیقتری میخواهند.
کد زیر را در فایل functions.php قالبتان یا در یک افزونه سفارشی (mu-plugin) قرار دهید:
add_filter('pre_http_request', 'custom_block_requests', 10, 3);
function custom_block_requests($preempt, $args, $url) {
// لیست آدرسهایی که میخواهید بلاک شوند
$block_list = [
'updates.wpbakery.com', // Visual Composer
'://woo.com/wc-api/', // API ووکامرس
'://woocommerce.com/wp-json/', // REST API ووکامرس
'://connect.advancedcustomfields.com', // ACF
'://api.freemius.com', // Freemius SDK
];
foreach ($block_list as $blocked) {
if (strpos($url, $blocked) !== false) {
return new WP_Error(
'blocked_request',
'درخواست خارجی بلاک شد: ' . $url
);
}
}
return $preempt;
} 🔸 مزیت این روش نسبت به WP_HTTP_BLOCK_EXTERNAL: در این روش لازم نیست تمام درخواستها را ببندید و بعد وایتلیست بسازید. فقط درخواستهای مشکلساز که در Query Monitor شناسایی کردید را به $block_list اضافه میکنید و بقیه درخواستها آزادانه کار میکنند.
📌 بهتر است این کد را به جای functions.php در یک فایل mu-plugin قرار دهید. برای این کار فایلی به نام block-requests.php در مسیر wp-content/mu-plugins/ بسازید و کد را داخلش بگذارید. مزیت این کار این است که با تغییر قالب از بین نمیرود.
اگر با ویرایش فایلها و کدنویسی راحت نیستید، میتوانید از افزونهها کمک بگیرید. البته همانطور که قبلاً گفتیم، روش دستی کنترل بیشتری به شما میدهد. با این حال، این افزونهها میتوانند مفید باشند:
این افزونه رایگان از مخزن وردپرس قابل دانلود است و دو حالت کاری دارد: بلاک کامل درخواستهای خارجی و حالت Smart Block که به صورت هوشمند درخواستهای غیرضروری را مسدود میکند. مزیت اصلی این افزونه نسبت به روش دستی، رابط کاربری گرافیکی آن است که بدون نیاز به ویرایش فایلها میتوانید درخواستها را مدیریت کنید. همچنین آمار و گزارش دقیقی از تعداد و نوع درخواستها ارائه میدهد.

این افزونه به شما کمک میکند APIهای غیرضروری وردپرس مثل XML-RPC، REST API عمومی، Heartbeat و Emoji را غیرفعال کنید. خیلی سبک است و تأثیر محسوسی روی کاهش زمان لود پنل مدیریت دارد.
| ویژگی | روش دستی (wp-config) | روش افزونهای |
|---|---|---|
| سطح کنترل | کامل و دقیق | محدود به امکانات افزونه |
| نیاز به دانش فنی | متوسط | کم |
| سرعت اعمال تغییرات | فوری | فوری |
| وابستگی به افزونه | ❌ ندارد | ✅ دارد |
| مناسب برای | توسعهدهندگان و وبمسترهای حرفهای | کاربران مبتدی |

مدیریت درخواستهای خارجی مهمترین کار است، ولی عوامل دیگری هم روی سرعت بکاند تأثیر دارند. اگر بعد از بلاک کردن درخواستها هنوز سرعت رضایتبخش نیست، موارد زیر را هم بررسی کنید:
نسخه PHP تأثیر مستقیمی بر سرعت وردپرس دارد. طبق بنچمارکهای رسمی در سال 2025، PHP 8.3 نسبت به PHP 7.4 تقریباً 40 درصد سریعتر است. از پنل هاستینگ خود بررسی کنید که حداقل روی PHP 8.1 یا بالاتر هستید. نقش کیفیت هاست در سرعت پیشخوان وردپرس غیرقابل انکار است و یکی از سادهترین کارها آپدیت PHP است.
دیتابیس شلوغ یکی دیگر از دلایل کند شدن پیشخوان وردپرس است. ریویژنهای قدیمی، ترنزیشنتهای منقضی، کامنتهای اسپم و متادیتاهای بلااستفاده همه حجم دیتابیس را بالا میبرند. با استفاده از افزونه WP-Optimize میتوانید به صورت دورهای دیتابیس را تمیز و جداول را بهینه کنید. اگر ووکامرس دارید، حتماً جدول wp_actionscheduler_actions را هم چک کنید؛ این جدول گاهی به میلیونها رکورد میرسد.
گاهی اوقات کندی پیشخوان وردپرس به این دلیل است که سایت به حد مجاز حافظه PHP رسیده. کد زیر را به فایل wp-config.php اضافه کنید:
define('WP_MEMORY_LIMIT', '256M'); ابزارکهایی که در صفحه اصلی داشبورد نمایش داده میشوند (مثل خوشآمدگویی، اخبار وردپرس، وضعیت سایت) هر کدام کوئریهای جداگانهای اجرا میکنند. از بخش تنظیمات نما (Screen Options) در بالای صفحه داشبورد، ابزارکهای غیرضروری را غیرفعال کنید. این کار سادهای است ولی تأثیر محسوسی روی بهبود عملکرد پیشخوان دارد.

بخش بزرگی از مشکلات کندی پیشخوان وردپرس به تأثیر هاست یا زیرساخت شما بر سرعت پیشخوان برمیگردد. اگر هاست شما منابع کافی نداشته باشد، حتی با بلاک کردن تمام درخواستهای خارجی هم سرعت مطلوبی نخواهید داشت. هاست سی پنل با پهنای باند نامحدود وبداده با زیرساخت بهینه، نسخههای بهروز PHP، دیسکهای NVMe در لوکیشنهای ایران و هلند طراحی شدهاند تا بهترین تجربه سرعت را برای وبمسترهای ایرانی فراهم کنند.
در این مقاله مهمترین روشهای افزایش سرعت پیشخوان وردپرس را بررسی کردیم؛ از شناسایی و بلاک کردن درخواستهای خارجی با کدنویسی دستی گرفته تا بهینهسازی دیتابیس و مدیریت افزونهها. اما فراموش نکنید که این راهکارها زمانی بهترین نتیجه را میدهند که زیرساخت سایت شما هم قوی باشد؛ هاست باکیفیت، نسخه بهروز PHP و سرور با منابع کافی، پایهای هستند که بدون آنها هیچ بهینهسازی دیگری جواب نمیدهد. در نهایت، سرعت بکاند ترکیبی از تنظیمات درست و زیرساخت مناسب است.
در صورتی که سوالی داشتید، میتوانید در بخش دیدگاه با ما در ارتباط باشید. امیدوارم این مقاله از بخش آموزش های هاست بلاگ وبداده برای شما مفید بوده باشد.
اگر بدون وایتلیست انجام دهید، بله. آپدیتها، درگاه پرداخت و برخی سرویسها از کار میافتند. ولی اگر وایتلیست درست تنظیم کنید، مشکلی پیش نمیآید و فقط درخواستهای غیرضروری حذف میشوند.