Limit, Debug, Optimize WP_HTTP requests. Limit by request count, page load time, reduce timeout for each request. Speed up login and admin pages.
Do you have a slow WordPress admin that takes longer than usual to load? Sometime longer than 5 seconds to load admin or login pages. In rare occasions WordPress may even timeout and show 504 page.
Reason may be slow external WP_HTTP requests. HTTP Requests Manager plugin will log all WP HTTP requests with time taken to complete for each request. If there are multiple requests per page they will be color grouped.
Plugin tested with PHP version 5.6, 7.x and up to 8.3.
Plugin only detects and manages requests made using WP_Http class. Which is default method used and advised by WordPress for getting remote data and updates.
Plugin will not detect any requests made by other WordPress classes like WP_Http_Curl or PHP functions like curl_exec, fsockopen, file_get_contents etc.
Do not confuse it with HTML requests (loading assets like css, js, image) done by HTML page. WP_Http requests are performed only inside PHP files and not visible in web browser.
Learn more about difference between WP_HTTP requests and HTML requests
Plugin helps to prevent website slowdown by:
Plugin has following operation modes in setting to manage WP HTTP requests. Here is what each mode does:
Custom rules only work in “Smart block” mode. It will not work in “Block external requests” or “Block external requests (allow WordPress.org only)” mode.
After using plugin for some time and knowing which requests are performed you can disable logging. Operation mode will remain unchanged. Request blocking will remain in tact. No new logs will be recorded. You can analyze old logs, they will not be deleted.
In order to catch more requests you can enable “Load before other plugins” option. It uses Must-Use plugin feature and load before other regular plugins. This way you will make sure to detect all WP_HTTP requests by other plugins.
Allow or block some requests based on domain, plugin or all. Choose on which page type rule will be applied. For example you can block requests in frontend while allowing in other pages.
Finally you can define action as block or allow for custom rule. For example you can make sure that some plugin will always be allowed to send WP_HTTP request. This can be SEO or mail plugin that uses remote API for functioning.
Log summary populated for visible logs in selected page. Summary has following information cards:
More info about “HTTP Requests Manager” plugin on official home page
If you find this plugin useful to view WP_HTTP requests and speeding up your admin pages by blocking some requests then give good rating. Also check my other projects:
Visit veppa.com to learn from my WordPress tutorials.
Tools > HTTP Requests Manager
to view log entries and choose operation mode. Operation mode “Smart block” will be activated by default.Screenshot shows latest HTTP requests and reason why they are blocked. Summary cards at the top show total percentage of blocked requests (54% in current view). You can also see estimated performance improvement 2.2x because of blocking some remote requests. Hosts card shows that there are 3 different hosts were requests sent. When you hover over card tooltip will show breakdown of hosts in percentage. We can see that 31% or requests were made to api.wordpress.org website. Also we can see that plugins actively using external requests to load data and some promotions from their servers.
When Smart Block enabled total page generation time will be limited to 3 seconds. Page with 10 requests, will improve from 11-12 seconds to 3 seconds, regardless of web hosting resources.
WP_HTTP request and response data. Popup opens when you click on request from table. Page and request times shows as well.
Blocked request due to page time exceeding 3 seconds. Additional information regarding page shown with currently active manager mode.
Check point shows how plugins and requests effect page time and memory usage.
Group requests to simplify report. You can group by request domain, page type, initiator, response status etc. Bar colors will visually indicate requests by response status as blocked orange, success green, error red.
Requests grouped by initiator core / theme / plugin. Clicking on group will reveal requests inside that group.
Settings page to select operation mode, disable logging and adding custom rules. Settings will be saved each time when you change any option.
Select operation mode to fit your need. Only blocking modes will speed up WordPress admin pages. Be aware that blocking modes may break functionality of some plugins that rely on external API requests.
Define custom rules to always allow some plugins or domains only in "Smart block" mode. Custom rules will be ordered by high priority. First matching rule will be applied.
There is no time limit to store logs. Last 1000 logs will be stored. On average it is about 10 days of logs.
Yes, set operation mode to “Only log HTTP requests” and check “disable logging” checkbox in “Settings” tab. With these settings new logs will not be added and you can review already existing old logs.
Yes it removes logs and options stored in database when you uninstall this plugin.
All pages with WP_HTTP requests are recorded. Slow pages without any WP_HTTP requests are not recorded.
This plugin detects only requests made using WP_HTTP class defined by WordPress. It is preferred way of doing remote requests. WordPress core and most plugins/themes use it.
Plugin will not detect requests made using other classes and functions. For example remote requests made with WordPress class WP_Http_Curl (deprecated starting from WordPress version 6.4) or PHP functions like curl_exec, fsockopen, file_get_contents are not detected by this plugin. Because they do not have hooks similar to WordPress to manage requests before making them.
Unfortunately when plugin/theme uses other functions (not WP_HTTP class) they will not be detected by this plugin.
Performance gain on pages with WP_HTTP requests can be up to 5x. It all depends on which blocking method used and how heavyly remote requests are used by core and pugins.
No. WP_HTTP requests are performed periodically or on certain action. When you check logged requests, there will be around 50-100 pages with requests per day. On website with 10k daily page views (human and bot traffic) it will make around 1% of all pages.
You will most likely feel speed difference in admin area. Pages previously loading slowly or timing out regularly should load much faster.