Limit, disable, block, log all WP HTTP requests. Limit by request count, page load time or lower timeout for each request. Speed up WordPress login and admin pages with free plugin HTTP Requests Manager.
Plugin submitted to wordpress.org for review on 10th April of 2023. Average approval wait period is 14 days. Download link will be available once plugin approved.
- Update 5 May: Got message with suggestion to sanitize user data and submit updated plugin back.
- Update 21 May: Fixed user input sanitization and submitted plugin for repeated review.
Screenshot shows latest HTTP requests and reason why they are blocked. Also summary show at the top with total percentage of blocked requests (63% in current view). Hosts card shows that there are 7 different hosts were requests sent. When you hover over card tooltip will show breakdown of hosts in percentage. We can see that 73% or requests were made to apo.wordpress.org website. Also we can see that plugins actively using external requests to load data and some promotions from their servers.
Table of Contents
Prevent WP HTTP requests to slow down your WordPress website and admin interface
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 HP HTTP requests. This plugin will log all WP HTTP requests with time taken to complete each request. If there are multiple request per page they will be color grouped.
Plugin helps to prevent website slowdown by:
- Sets request timeout period to 1 second. Where default is 5.
- Limit number of request per page by 3. Default is unlimited.
- Limit WP HTTP request if page load time is longer than 3 seconds. Default is unlimited.
- Option to block all external requests or allow only requests to wordpress.org for plugin, theme and core updates.
Check this video overview of plugin in mobile browser.
Operation mode
Plugin has single setting to manage WP_HTTP requests.
Here is what each mode does:
- Only log HTTP requests — logs all non cron requests. No blocking done.
- Only log HTTP requests (+ cron requests) — logs all requests including cron. No blocking done.
- Smart block — logs non cron HTTP requests and blocks request using following rules.
- Page processing time exceeded 3 seconds.
- Number of request for single page reached 3.
- Sets timeout for each request (except file downloads) to 1 second.
- Sets number of redirects for request to 1.
- Block external requests — all requests not matching your current domain will be blocked. No updates for WordPress core, plugins and themes. + Smart block features.
- Block external requests (allow WordPress.org only) — all requests not matching your current domain and wordpress.org will be blocked. Allows updates for WordPress core, plugins and themes coming from wordpress.org website. + Smart block features.
HTTP Requests Manager Features
- View blocked requests by this plugin. Show reason why it was blocked.
- View failed requests with error message.
- View what initiated HTTP request: WordPress core, plugin or theme.
- View on which page request was made. Also view page type is frontend, admin, login, cron, ajax or rest_api.
- View list of other requests made on same page view.
- View sent and received data.
- How long it took to get response in seconds.
- Page time until making any request. Before starting any HTTP request.
- Log data stored for a day.
Log summary populated for visible logs in selected page. Summary has following information cards:
- Blocked requests percentage. When hovered it will show request breakdown by core, plugins or theme.
- Number of requests per page. When hovered shows breakdown by page type: Frontend, admin, login, cron, ajax, rest_api.
- Request time / Page time percentage.
- Average page time.
- Average request time.
- Number of hosts. On hover shows breakdown of hosts.
Use cases
Case 1: Check if your website slow because of WP HTTP requests. Average page load time, average request time and average number of requests per page shown as summary at the top of reports.
Case 2: Block all external request on development or localhost website. All updates will be blocked. You switch off blocking when you want to perform Core, Plugin, Theme updates. No need to use define('WP_HTTP_BLOCK_EXTERNAL', true);
in your wp-config.php
. Plugin will prevent requests automatically when you choose “Block external requests” or “Block external requests (allow WordPress.org only)” operation mode.
Case 3: Block non WordPress request. No data will be sent to third parties. They are usually loading other website news, plugin/theme promotions, advertisements, sending usage statistics etc.
Case 4: Prevent your website from timeout. By blocking all requests if page generation time exceeds 3 seconds. Kill slow HTTP request with small timeout of 1 second. Slow request can be because of temporary network problem or remove website can be too busy to respond on time. Slow request is not your fault so your website should not suffer from it.
More info about “HTTP Requests Manager” plugin on official home page → https://veppa.com/http-requests-manager/
Changelog
1.0 (10.04.2023)
- Initial release. Log HTTP Requests (version 1.4) used as base.
Frequently Asked Questions
How long logs stored in database?
HTTP request logs stored in database 1 day.
Does plugin removes logs and options on uninstall?
Yes, it removes logs and options stored in database.
Conclusion
With HTTP Requests Manager plugin you can view all requests and optimize WordPress to remain fast in frontend and backend. If you have experienced timeouts on WordPress login page or inside admin panel then check WP_HTTP
requests.
External HTTP requests can be used to check for updates, loading promotional materials by some plugins, loading information from remote servers or sending statistics without your permission to other third party websites? Learn what is happening in your WordPress with HTTP requests. Prevent any page generation slowdowns or disable external HTTP requests completely using this plugin.
Alternatively reduce number of used plugins to prevent additional server load.
Recorded log records and summary cards will show you whole picture regarding requests within you WordPress website. Choose what to do using simple operation mode switch.
When you find any unexpected external calls to third party servers then you can communicate with related plugin author and ask for adding control to disable those requests or asking permission before sending those requests.
Check my other WordPress plugins and widgets.
- Native Share Button Widget for WordPress – add lightweight floating share button, not detected by ad blockers, triggers native share functionality of user device. Makes sharing easy on mobile phones.
- bbPress WP Tweaks – to add custom sidebar to bbPress forum. Also has some admin tweaks related to forum and 2 custom forum widgets.
More projects can be found on tools page.