افزایش سرعت پیشخوان وردپرس با محدود کردن درخواست‌های WP HTTP خارجی

به احتمال زیاد تا امروز وقتی به قسمت بروزرسانی‌های وردپرس و یا افزونه‌های نصب‌شده و یا سایر قسمت‌های وردپرس مراجعه می‌کردیم متوجه می‌شدید که خیلی دیر بارگذاری می‌شوند. بخش بزرگی از این مشکل بخاطر درخواست‌های WP HTTP خارجی است که بواسطه اختلال در ارتباطات و شبکه سرور سایت شما با سایر پلتفرم‌ها و سایت‌ها بوجود می‌آید. در این مقاله بطور کامل به رفع این مشکل بوسیله کد و افزونه پرداخته‌ایم تا در نهایت سرعت پیشخوان وسایت وردپرسی خود را فوق‌العاده افزایش دهید.
محدود کردن درخواست‌های WP HTTP خارجی وردپرس
(امتیاز 5 از 1 رای)
5/5

آیا پنل مدیریت وردپرس شما کند شده است و بارگذاری آن بیشتر از حد معمول طول می‌کشد؟ گاهی اوقات بارگذاری صفحات مدیریت یا ورود به سیستم بیش از 5 ثانیه طول می کشد و در موارد نادر، وردپرس ممکن است با تایم اوت مواجه شود و صفحه خطای 504 را نشان دهد. یکی از دلایل احتمالی این کندی، درخواست های خارجی کند WP_HTTP است.

وردپرس به افزونه ها و پوسته ها اجازه می دهد تا برای دستیابی به برخی از ویژگی ها، درخواست های HTTP به وب سایت های دیگر ارسال کنند. در حالی که این قابلیت برای عملکرد بسیاری از افزونه ها ضروری است، اما می تواند باعث کندی وب سایت شما نیز بشود، به خصوص زمانی که این درخواست ها با کندی یا مشکل مواجه شوند.

این مقاله به شما کمک می کند تا از کند شدن وب سایت وردپرس خود و پیشخوان آن به دلیل درخواست های HTTP ناخواسته جلوگیری کنید.

بعضی وقت ها زمان درخواست‌ها (یعنی لود شدن صفحات) به خصوص در بخش مدیریت وردپرس خیلی طولانی میشه. از اونجایی که من معمولا از افزونه Query Monitor استفاده می کنم، به سرعت متوجه شدم که برخی از درخواست‌های HTTP با شکست مواجه می‌شوند. این درخواست‌ها توسط هسته وردپرس یا برخی افزونه‌ها/پوسته‌های پریمیوم برای بررسی آپدیت فرستاده میشن.

قطعا شما هم با این مشکل مواجه شده‌اید که در قسمت پیشخوان وردپرس بخصوص وقتی به قسمت پیشخوان > بروزرسانی‌ها (Updates) و یا افزونه‌ها > افزونه‌های نصب‌شده مراجعه می‌کنید، معمولا مدت زمان زیادی طول میکشد تا صفحه بارگذاری شود. اما چرا؟

به زبان خیلی راحت دقیقا همان موقعی که شما به این بخش های اشاره شده مراجعه می‌کنید، وردپرس و تمامی افزونه‌ها و پوسته‌ها هرکدام مستقلا برای خود درخواست‌های WP HTTP به مخزن وردپرس یا سایت توسعه‌دهنده خود ارسال می‌کنند تا از بروز بودن نسخه خود مطمعن شوند و اگر نسخه جدیدتری برای وردپرس، افزونه و یا قالب ارائه شده است و یا ویژگی باید بین افزونه و سرور سایت اصلی افزونه رو و بدل شود، آن را دریافت نمایند و اطلاعیه وجود بروزرسانی جدیدی برای وردپرس، افزونه و یا قالب را به شما نمایش دهند.

البته باید به این نکته اشاره کنیم که بر حسب تنظیمات و زمانبندی‌های کران وردپرس، چک کردن درخواست بروزرسانی افزونه‌های مخزن وردپرس (wp_update_plugins) و پوسته‌های مخزن وردپرس (wp_update_themes) دو مرتبه در روز (Twice Daily) می‌باشد و هر دفعه که این کار انجام شود نتیجه آن در Transientهای وردپرس ذخیره می‌شود.

حالا اگر سرور هاست سایت شما بدلیل اختلالات شبکه مشکل داشته باشد و یا نتواند با سرور مخزن وردپرس یا سایت هر کدام از افزونه‌ها و پوسته‌های پولی که روی سایت خود نصب کرده‌اید (المنتور پرو – رنک مث و غیره) ارتباط برقرار کند، لود صفحه بروزرسانی و یا افزونه‌های نصب شده و بطور کلی محیط پیشخوان وردپرس بسیار کند و آزار دهنده خواهد بود.

درک تمایز بین درخواست های WP_HTTP و درخواست های HTML در وردپرس

ممکن است اصطلاحات “درخواست WP_HTTP” و “درخواست HTML” را با هم اشتباه بگیرید. توضیحات زیر به شما در درک تمایز این دو مفهوم کمک می کند:

درخواست های WP_HTTP

  • هدف: دریافت داده و به روز رسانی از منابع خارجی
  • روش: استفاده از کلاس WP_Http (روش پیش فرض و توصیه شده توسط وردپرس)
  • نمونه ها: بررسی به روز رسانی افزونه ها، برقراری ارتباط با سرویس های خارجی برای ویژگی های خاص
  • محل اجرا: داخل فایل های PHP وردپرس (برای مرورگر وب قابل مشاهده نیست)

درخواست های HTML

  • هدف: بارگذاری منابع صفحه مانند جاوا اسکریپت، CSS، تصویر و فونت
  • محل اجرا: داخل کد HTML صفحه وب
  • قابل مشاهده با: مرورگر وب

به طور خلاصه:

  • درخواست های WP_HTTP در پس زمینه توسط کد PHP وردپرس برای برقراری ارتباط با منابع خارجی انجام می شود.
  • درخواست های HTML برای بارگذاری عناصر بصری صفحه مانند تصاویر و اسکریپت ها در خود مرورگر وب انجام می شود.

این تمایز درک بهتری از عملکرد وب سایت وردپرس و ابزارهایی که برای عیب یابی سرعت آن در اختیار دارید، به شما می دهد.

من برای این که بتوانم کلیه HTTP API Calls های وردپرس در هر صفحه و بخش پیشخوان وردپرس را مشاهده کنم از افزونه Query Monitor استفاده می‌کنم. همانطور که در تصویر زیر مشاهده می‌کنید وقتی به قسمت قسمت پیشخوان > بروزرسانی‌ها (Updates) مراجعه میکنم، در افزونه Query Monitor و در بخش HTTP API Calls میزان زمان ارسال و دریافت درخواست WP HTTP هر افزونه را مشاهده می‌کنیم.

میزان زمان کلی ارسال و دریافت پاسخ هر درخواست WP HTTP
میزان زمان کلی ارسال و دریافت پاسخ هر درخواست WP HTTP

همانطور که مشاهده می‌کنید، میزان زمان کل بارگذاری این صفحه که درواقع مجموع کل زمان‌های درخواست HTTP API Call هر افزونه می‌باشد بیش از 13 ثانیه زمان برده است که نشان می‌دهد ارتباطات شبکه سرور هاست سایت ما مشکل دارد و باید آنها را مدیریت نماییم تا WP HTTP باعث کندی پیشخوان وردپرس ما نشود.

اکنون می‌خواهیم با هم یاد بگیریم که چگونه این مشکل را برطرف کنیم و درخواست‌های WP HTTP خارجی سایتمان را محدود و مدیریت کنیم تا دیگر مشکل کندی پیشخوان را در هیچ‌کدام از قسمت‌های وردپرس نداشته باشیم.

نحوه مسدود کردن درخواست های خارجی در وردپرس (WP HTTP Requests)

۱. شناسایی درخواست های مشکل ساز

اولین قدم شناسایی درخواست هایی است که باعث کندی وب سایت شما می شوند. می توانید از افزونه هایی مانند Query Monitor برای بررسی ترافیک HTTP و شناسایی درخواست های با زمان پاسخگویی بالا استفاده کنید. افزونه Query Monitor را بر روی سایت وردپرسی خود نصب کنید و سپس با مراجعه به قسمت پیشخوان > بروزرسانی‌ها (Updates) و یا افزونه‌ها > افزونه‌های نصب‌شده نگاه کنید که در قسمت HTTP API Calls این افزونه، کدام افزونه‌ها درخواست‌هایی (Request) دارند که زمان آنها بسیار زیاد یا بطور کلی ناموفق بوده است.

۲. مسدود کردن تمامی درخواست‌های خارجی

ابتدا توسط کد زیر که باید آن را در فایل wp-config.php سایت خود قرار دهید کلیه‌ی درخواست‌های خارجی (برون دامنه‌ای) را مسدود می‌کنیم. این کار توسط ثابت WP_HTTP_BLOCK_EXTERNAL در وردپرس قابل انجام است. با این کار تمامی ارتباطات خروجی وردپرس مسدود خواهد شد. این شامل ارتباط با wordpress.org نیز می‌شود، بنابراین تنظیم این مقدار به سادگی باعث اختلال در به روزرسانی افزونه ها، هسته و غیره می شود. اما نگران نباشید، در قدم بعدی سایت‌های دلخواه را مستثنی خواهیم کرد. این دستور هیچ درخواست محلی (درون دامنه‌ای) که ممکن است برای کرون‌جاب‌ها یا سایر عملکردها مورد نیاز باشد را مسدود نمی کند.

define('WP_HTTP_BLOCK_EXTERNAL', true);

۳. مجاز کردن دامنه‌های خاص (Whitelist)

اکنون باید آن سایت‌ها و دامنه‌هایی که می‌خواهیم سایت ما با آنها ارتباط داشته باشد و یا بعضی از افزونه‌های ما نیاز ضروری دارند تا با سایت و سرور خود ارتباط داشته باشند را مستثنی کنیم و درواقع به وردپرس بگوییم که فقط این دامنه‌ها هستند که مجاز هستند با بیرون ارتباط داشته باشند. کد زیر به وردپرس اجازه می دهد تا همچنان با برخی سرویس‌ها ارتباط برقرار کند در حالی که درخواست‌های ناخواسته از منابع خارجی را مسدود می‌کند. بعد از اینکه خروج تمام درخواست ها را در سایت مسدود کردیم، می توانیم دوباره دسترسی به میزبان های خاصی را مجاز کنیم. در برخی مواقع، شما نمی توانید به طور ساده تمام درخواست های خارجی را مسدود کنید، زیرا برخی از افزونه ها یا قالب هایی که از آنها استفاده می‌کنید از API های خارجی استفاده می کنند. این کار از طریق ثابت WP_ACCESSIBLE_HOSTS قابل انجام است. فرمت این ثابت لیستی از نام‌های دامنه جدا شده با کاما است که مجاز به دسترسی هستند و امکان استفاده از دامنه های wildcard برای ساب‌دامین‌ها را نیز فراهم می‌کند. کد زیر را نیز باید در فایل wp-config.php سایت خود قرار دهید.

define('WP_ACCESSIBLE_HOSTS', 'example.com, *.example.com');

مثلا من در حال حاضر در سایت خود از کد زیر استفاده میکنم:

define( 'WP_ACCESSIBLE_HOSTS', '*.wordpress.org, kerasno.com' );

با استفاده از کد بالا به وردپرس می‌گویم سایت من تنها می‌تواند به مخزن وردپرس و بطور کلی سروریس‌ها و پلتفرم‌های وردپرس و همچنین سایت کراسنو که از افزونه آن برای سیستم ورود و ثبت‌نام با شماره موبایل در سایت استفاده میکنم دسترسی داشته باش و درخواست مابقی افزونه‌ها و قالب را مسدود کن.

با این کار تمامی افزونه‌هایی که از مخزن وردپرس روی سایت من نصب است می‌توانند دائما چک شوند و در صورت وجود نسخه جدید، بروزرسانی گردند. همچنین قالب سایتم و ترجمه افزونه‌ها نیز به راحتی آپدیت را از مخزن وردپرس دریافت میکنند اما سایر افزونه‌های سایت مثل المنتور پرو یا رنک مث و سایر که من نمی‌خواهم دسترسی به سایت اصلی خود داشته باشند و یا آن سرویس‌ها سایت‌های ایرانی را مسدود کرده‌اند و درخواست‌ها از سمت سایت‌های ایرانی (هاست داخل کشور) را محدود کرده‌اند را مسدود کرده‌ام.

هیچ محدودیتی در تعداد دامنه‌های مستثنی شده وجود ندارد و شما می‌توانید هر تعداد دامنه وابسته به افزونه و قالب سایت و سرویس‌های مورد استفاده در سایت خود را که می‌خواهید با ویرایش کد بالا مستثنی کنید.

با ترکیب کردن دو ثابت وردپرس WP_HTTP_BLOCK_EXTERNAL و WP_ACCESSIBLE_HOSTS به راحتی می توانید پیکربندی کنید که سایت شما با کدام میزبان ها ارتباط برقرار کند و کدام ها را مسدود نماید.

همانند تصویر زیر هر دو کد بالا را کپی و در خط قبل از عبارت /* That’s all, stop editing! Happy publishing. */ در فایل wp-config.php وردپرس قرار دهید:

قرار دادن کد مسدود کردن تمامی درخواست‌های خارجی و مجاز کردن دامنه‌های خاص در فایل wp-config.php وردپرس
قرار دادن کد مسدود کردن تمامی درخواست‌های خارجی و مجاز کردن دامنه‌های خاص در فایل wp-config.php وردپرس

با این کار از این به بعد هرگاه به قسمت پیشخوان > بروزرسانی‌ها (Updates) و یا افزونه‌ها > افزونه‌های نصب‌شده و یا سایر قسمت‌های وردپرس مراجعه کنید خواهید دید هر صفحه خیلی سریع برای شما بارگزاری می‌شود چون درخواست‌های غیرمجاز مسدود شده اند و باعث تاخیر در بارگذاری صفحه شما نمی‌شوند و اگر به بخش HTTP API Calls افزونه Query Monitor مراجعه کنید، با تصویری همانند عکس زیر روبرو خواهید شد:

نتیجه مسدود کردن درخواست‌های WP HTTP خارجی
نتیجه مسدود کردن درخواست‌های WP HTTP خارجی

همانطور که در تصویر بالا مشاهده می‌کنید، همچنان بخوبی ارتباط با مخزن وردپرس برقرار است (Status = 200 OK) و درخواست‌های افزونه المنتور (my.elementor.com) و ووکامرس (woocommerce.com) برای دسترسی به سرویس و سایت‌ خودشان که هیچ ضرورتی و لزومی ندارد مسدود شده است (User has blocked requests through HTTP) و این صفحه پیشخوان ما در عرض 1.5 ثانیه بارگذاری می‌شود.

محدودیت‌ها

این روش فقط برای درخواست های HTTP که از طریق توابع API وردپرس برای درخواست ها ایجاد می شوند، کار می کند. اگر یک افزونه یا قالب به طور مستقیم از توابعی مانند file_get_contents یا curl برای برقراری ارتباط با منابع خارجی استفاده کند، این ثابت ها آن درخواست ها را مسدود نمی کنند.
این روش هیچ گونه درخواستی را که مستقیماً توسط مرورگر کاربر ایجاد می شود را مسدود نمی‌کند.

بهترین افزونه محدود کردن درخواست‌های WP HTTP خارجی وردپرس

برای این که بتوانیم درخواست‌های WP HTTP خارجی وردپرس را مدیریت، محدود و یا مسدود کنیم، چندین افزونه وردپرسی را از مخزن وردپرس بررسی کردم که بشرح زیر هستند:

پس از بررسی دقیق این افزونه‌ها، بهترین افزونه برای این کار را HTTP Requests Manager میدانم چون واقعا افزونه خوب، باکیفیت و سریع است و میزان استفاده از منابع آن بسیار کم و ناچیز است.

افزونه HTTP Requests Manager
افزونه HTTP Requests Manager

برای نصب افزونه HTTP Requests Manager می‌توانید از راهنمای آموزش نصب افزونه در وردپرس به 3 روش حرفه‌ای ما استفاده کنید.

پس از نصب افزونه، برای دستیابی به محیط و تنظیمات افزونه باید در پیشخوان وردپرس به ابزارها (Tools) > HTTP Requests Manager مراجعه کنید.

محیط افزونه HTTP Requests Manager
محیط افزونه HTTP Requests Manager

هنگامی که به تب (سربرگ) Settings مراجعه می‌کنید، به بخش تنظیمات افزونه دسترسی خواهید داشت.

تنظیمات افزونه HTTP Requests Manager
تنظیمات افزونه HTTP Requests Manager

در این قسمت می‌تواند با استفاده از آپشن‌های مختلف افزونه، مدیریت دقیقی بر روی درخواست‌های WP HTTP داشته باشید.

این پلاگین فقط درخواست هایی را شناسایی و مدیریت می کند که با استفاده از کلاس WP_Http ساخته شده اند. این کلاس، روش پیش فرض و توصیه شده توسط وردپرس برای دریافت داده ها و به روز رسانی ها از راه دور است.

این پلاگین به روش‌های مختلفی از کند شدن صفحاتی که حاوی درخواست‌های WP_HTTP هستند جلوگیری می‌کند:

۱. کاهش زمان انتظار (Timeout): به طور پیش فرض، وردپرس ۵ ثانیه برای دریافت پاسخ از یک درخواست WP_HTTP صبر می‌کند. این پلاگین زمان انتظار را به نصف، یعنی ۲ ثانیه کاهش می‌دهد. این به این معنی است که سرور زمان کمتری را صرف انتظار برای پاسخ‌های احتمالا کند می‌کند و در نتیجه سرعت کلی بارگذاری صفحه را بهبود می‌بخشد.

۲. محدود کردن تعداد درخواست‌ها در هر صفحه: به طور پیش فرض، وردپرس تعداد نامحدودی از درخواست‌های WP_HTTP را در یک صفحه مجاز می‌داند. این پلاگین یک محدودیت ۳ درخواستی برای هر صفحه تعیین می‌کند. این کار از اضافه بارگذاری سرور با تعداد زیادی درخواست همزمان در یک صفحه جلوگیری می‌کند و به بارگذاری سریع‌تر صفحات کمک می‌کند.

۳. محدودیت‌های مشروط بر اساس زمان بارگذاری: اگر بارگذاری صفحه‌ای بیش از ۳ ثانیه طول بکشد، این پلاگین محدودیت اضافی اعمال می‌کند. این پلاگین درخواست‌های بیشتر WP_HTTP را در آن صفحه محدود می‌کند. این کار به جلوگیری از کندتر شدن صفحات به دلیل درخواست‌های اضافی کمک می‌کند.

۴. مسدود کردن درخواست‌های خارجی : این پلاگین امکان مسدود کردن کامل تمام درخواست‌های خارجی انجام شده با WP_HTTP را ارائه می‌دهد. این یک رویکرد سختگیرانه است، اما اگر مطمئن هستید که هیچ یک از افزونه‌ها یا قالب‌های شما به تماس‌های خارجی WP_HTTP وابسته نیستند، می‌تواند مفید باشد.

۵. اجازه دادن به بروزرسانی‌های ضروری : اگر انتخاب کنید که درخواست‌های خارجی را مسدود کنید، گزینه فهرست سفید کردن درخواست‌ها به wordpress.org وجود دارد. این کار اطمینان می‌دهد که وب‌سایت شما همچنان می‌تواند به‌روزرسانی‌هایی برای افزونه‌ها، قالب‌ها و خود وردپرس دریافت کند.

حالت‌های عملکرد پلاگین HTTP Requests Manager

این پلاگین برای مدیریت درخواست‌های WP_HTTP دارای حالت‌های عملکرد مختلفی در تنظیمات است. در اینجا کاری که هر حالت انجام می دهد، آورده شده است:

۱. فقط ثبت درخواست‌های HTTP (غیر از کران) [Only log HTTP requests]: این حالت تمامی درخواست‌های غیر از کران را ثبت می‌کند و هیچگونه مسدودسازی انجام نمی‌شود.

۲. فقط ثبت درخواست‌های HTTP (به اضافه درخواست‌های کرون) [Only log HTTP requests + cron requests]: این حالت تمامی درخواست‌ها، شامل کرون را ثبت می‌کند و هیچگونه مسدودسازی انجام نمی‌شود.

۳. مسدودسازی هوشمند [Smart block]: این حالت درخواست‌های HTTP غیر از کرون را ثبت می‌کند و با استفاده از قوانین زیر، درخواست‌ها را مسدود می‌کند:

  • زمان پردازش صفحه از ۳ ثانیه بیشتر شود.
  • تعداد درخواست برای یک صفحه به ۳ برسد.
  • برای هر درخواست، زمان انتظار (timeout) روی ۲ ثانیه تنظیم شود.
  • حداکثر تعداد هدایت (redirect) برای هر درخواست به ۱ تنظیم شود.
  • قوانین سفارشی تعریف شده برای “مسدودسازی هوشمند” در تنظیمات اعمال شود.
  • جلوگیری از برخی درخواست‌های پیش‌فرض وردپرس: happy browser، maybe update، self pings، do_enclose.
  • صرف نظر کردن از برخی محدودیت‌های ذکر شده در بالا برای دانلود فایل (پلاگین، قالب، سایر موارد) و درخواست‌های درون کرون جاب‌ها.

۴. مسدود کردن درخواست‌های خارجی [Block external requests] : تمامی درخواست‌هایی که با دامنه فعلی شما مطابقت ندارند مسدود خواهند شد. (به‌روزرسانی برای هسته وردپرس، پلاگین‌ها و قالب‌ها انجام نمی‌شود.) (به همراه ویژگی‌های مسدودسازی هوشمند)

۵. مسدود کردن درخواست‌های خارجی (فقط وردپرس.org مجاز است) [Block external requests allow WordPress.org only] : تمامی درخواست‌هایی که با دامنه فعلی شما و وردپرس.org مطابقت ندارند مسدود خواهند شد. این حالت به به‌روزرسانی برای هسته وردپرس، پلاگین‌ها و قالب‌ها از وب‌سایت وردپرس.اورگ اجازه می‌دهد. (به همراه ویژگی‌های مسدودسازی هوشمند)

توجه: قوانین سفارشی (Custom rules) فقط در حالت “مسدودسازی هوشمند یا Smart block” کار می‌کنند. این قوانین در حالت‌های “مسدود کردن درخواست‌های خارجی یا Block external requests” یا “مسدود کردن درخواست‌های خارجی (فقط وردپرس.org مجاز است) یا Block external requests (allow WordPress.org only)” کار نخواهند کرد.

غیرفعال کردن ثبت اطلاعات (Logging)
بعد از استفاده از این پلاگین برای مدتی و آشنایی با درخواست‌های انجام‌شده، می‌توانید ثبت اطلاعات را غیرفعال کنید. حالت عملکرد همچنان بدون تغییر باقی خواهد ماند. مسدودسازی درخواست‌ها نیز همچنان فعال می‌ماند. در این حالت، هیچ اطلاعات جدیدی ثبت نمی‌شود، اما می‌توانید اطلاعات ثبت‌شده‌ی قبلی را آنالیز کنید، چرا که حذف نخواهند شد.

بارگذاری قبل از سایر افزونه‌ها
برای اینکه بتوانید درخواست‌های بیشتری را کنترل کنید، می‌توانید گزینه «بارگذاری قبل از سایر افزونه‌ها» را فعال کنید. این گزینه از قابلیت افزونه‌های Must-Use استفاده می‌کند و باعث می‌شود این پلاگین قبل از سایر افزونه‌های معمولی بارگذاری شود. به این ترتیب، اطمینان حاصل می‌کنید که تمامی درخواست‌های WP_HTTP انجام‌شده توسط سایر افزونه‌ها شناسایی شوند.

قوانین سفارشی برای حالت «مسدودسازی هوشمند»
بر اساس دامنه، افزونه یا همه موارد، برخی درخواست‌ها را مجاز یا مسدود کنید. همچنین می‌توانید صفحه‌ای که این قانون در آن اعمال می‌شود را انتخاب کنید. برای مثال، می‌توانید درخواست‌ها را در بخش نمایشگر (frontend) مسدود کنید، در حالی که در سایر صفحات مجاز باشند.

در نهایت، می‌توانید برای قوانین سفارشی، اکشن (عملکرد) را به صورت «مسدود» یا «مجاز» تعریف کنید. به عنوان مثال، می‌توانید مطمئن شوید که همیشه به یک افزونه خاص اجازه داده می‌شود درخواست‌های WP_HTTP ارسال کند. این افزونه می‌تواند یک افزونه سئو یا ایمیل باشد که برای عملکرد صحیح از یک API راه دور استفاده می‌کند.

امکانات پلاگین HTTP Requests Manager

این پلاگین با مسدود کردن برخی درخواست‌های HTTP از راه دور، به بهبود عملکرد وب‌سایت وردپرسی شما کمک می‌کند. در ادامه به برخی از قابلیت‌های این پلاگین اشاره شده است:

  • مشاهده بهبود عملکرد وب‌سایت وردپرس به دلیل مسدود شدن برخی درخواست‌های HTTP از راه دور.
  • مشاهده درخواست‌های مسدود شده توسط این پلاگین. به همراه نمایش دلیل مسدود شدن.
  • مشاهده درخواست‌های ناموفق به همراه پیام خطا.
  • مشاهده‌ی اینکه چه چیزی درخواست HTTP را آغاز کرده است: هسته‌ی وردپرس، افزونه یا قالب.
  • مشاهده‌ی اینکه درخواست در کدام صفحه انجام شده است. همچنین نوع صفحه را نمایش می‌دهد، مانند: نمایشگر (frontend)، مدیریت (admin)، ورود (login)، کرون (cron)، آژاکس (ajax)، xmlrpc یا rest_api.
  • مشاهده لیست سایر درخواست‌هایی که در همان بازدید از صفحه انجام شده است.
  • مشاهده اطلاعات ارسال و دریافت شده.
  • مدت زمان دریافت پاسخ (بر حسب ثانیه).
  • بررسی نقطه‌ی کنترل با زمان صفحه و میزان استفاده از حافظه برای رایج‌ترین قلاب‌ها مانند plugins_loaded، init، wp_loaded، setup_theme، after_setup_theme، shutdown. این کار می‌تواند ایده‌ای در مورد علت کندی صفحات به شما بدهد.
  • فقط ۱۰۰۰ رکورد آخر ذخیره خواهد شد.
  • گروه بندی درخواست‌ها بر اساس URL، دامنه، آغاز کننده، افزونه، صفحه، وضعیت پاسخ و غیره.
  • افزودن قوانین سفارشی (منطق شرطی) برای مسدود کردن یا مجاز کردن درخواست‌های خاص.
  • خلاصه ثبت اطلاعات برای ثبت‌های قابل مشاهده در صفحه‌ی انتخاب‌شده. این خلاصه شامل کارت‌های اطلاعاتی زیر است:
    • کمیت‌سازنده‌ی بهبود عملکرد (مانند 2 برابر شدن سرعت) به عنوان نتیجه‌ی بهینه‌سازی.
    • درصد درخواست‌های مسدود شده. با نگه داشتن موس روی آن، جزئیات درخواست‌ها بر اساس هسته، افزونه‌ها یا قالب نمایش داده می‌شود.
    • تعداد درخواست‌ها در هر صفحه. با نگه داشتن موس روی آن، جزئیات بر اساس نوع صفحه نمایش داده می‌شود: نمایشگر، مدیریت، ورود، کرون، آژاکس، xmlrpc، rest_api.
    • درصد زمان درخواست / زمان صفحه.
    • میانگین زمان صفحه.
    • میانگین زمان درخواست.
    • تعداد دامنه‌ها. با نگه داشتن موس روی آن، جزئیات دامنه‌ها نمایش داده می‌شود.

موارد استفاده از افزونه HTTP Requests Manager

این پلاگین برای موارد زیر کاربرد دارد:

  • بررسی عملکرد ارتباط وردپرس با APIهای از راه دور: به شما کمک می‌کند تا مطمئن شوید که برقراری ارتباط وردپرس با APIهای از راه دور بدون هیچ مشکلی کار می‌کند. (همچنین به آسانی برای اشکال‌زدایی درخواست‌های WP_HTTP مفید است.)
  • شناسایی کندی وب‌سایت به دلیل درخواست‌های WP_HTTP: با نمایش میانگین زمان بارگذاری صفحه، میانگین زمان درخواست و میانگین تعداد درخواست در هر صفحه به صورت خلاصه در بالای گزارش‌ها، می‌توانید تشخیص دهید که آیا کندی وب‌سایت شما به دلیل درخواست‌های WP_HTTP است یا خیر.
  • مسدود کردن تمام درخواست‌های خارجی در وب‌سایت توسعه یا لوکال‌هاست: در صورتی که روی یک وب‌سایت توسعه یا لوکال‌هاست کار می‌کنید، این پلاگین می‌تواند تمام درخواست‌های خارجی را مسدود کند. این کار باعث می‌شود تا به‌روزرسانی‌های هسته، افزونه‌ها و قالب‌ها مسدود شوند. زمانی که می‌خواهید به‌روزرسانی انجام دهید، می‌توانید مسدودسازی را غیرفعال کنید. دیگر نیازی نیست که عبارت define(‘WP_HTTP_BLOCK_EXTERNAL’, true); را در فایل wp-config.php خود قرار دهید. با انتخاب حالت عملکرد «مسدود کردن درخواست‌های خارجی» یا «مسدود کردن درخواست‌های خارجی (فقط وردپرس.اورگ مجاز است)» این پلاگین به طور خودکار درخواست‌ها را مسدود می‌کند.
  • مسدود کردن درخواست‌های غیر وردپرس: با این کار، هیچ داده‌ای به اشخاص ثالث ارسال نمی‌شود. این درخواست‌ها معمولا برای بارگذاری اخبار وب‌سایت‌های دیگر، تبلیغ افزونه‌ها/قالب‌ها، تبلیغات، ارسال آمار استفاده و غیره استفاده می‌شوند.
  • جلوگیری از تایم‌اوت وب‌سایت: این پلاگین با مسدود کردن تمام درخواست‌ها در صورتی که زمان تولید صفحه از ۳ ثانیه بیشتر طول بکشد، از تایم‌اوت وب‌سایت شما جلوگیری می‌کند. همچنین با اعمال زمان انتظار (timeout) کم‌تر، ۲ ثانیه، درخواست‌های کند را متوقف می‌کند. دلیل کند بودن درخواست‌ها می‌تواند مشکل موقت شبکه یا مشغله‌ی بیش از حد وب‌سایت از راه دور برای پاسخگویی به موقع باشد. کند بودن درخواست‌ها تقصیر شما نیست و نباید وب‌سایت شما به خاطر آن دچار مشکل شود.
به این مقاله امتیاز دهید
(برحسب میزان رضایت خود از محتوای این مقاله، به آن از 1 تا 5 ستاره دهید)

امتیاز 5 از 1 رای

اولین نفری باش که امتیاز خودت رو ثبت می‌کنی!

پرسش و دیدگاه

پس از بررسی سریع و پاسخگویی توسط کارشناسان، به شما اطلاع‌رسانی می‌گردد.

اشتراک در
اطلاع‌رسانی به من هنگامی که :
guest
0 دیدگاه
بازخورد (Feedback) های اینلاین
دیدن تمامی دیدگاه‌ها
جدیدترین مقالات

5 مقاله اخیر از این قسمت برای شما در دسترس است

سفارشی سازی صفحه ورود به پیشخوان وردپرس
سفارشی سازی صفحه ورود به پیشخوان وردپرس
حذف نسخه فایل‌های CSS و JS در وردپرس
حذف متن فوتر ادمین (admin footer text) و نسخه (update footer) وردپرس
حذف متن فوتر ادمین (admin footer text) و نسخه (update footer) وردپرس
جلوگیری از کامنت اسپم در وردپرس
جلوگیری از کامنت اسپم در وردپرس
غیرفعال کردن WP-Cron وردپرس و تنظیم Cron Job واقعی هاست
غیرفعال کردن WP-Cron وردپرس و تنظیم Cron Job واقعی هاست
فهرست
Search