Features

Block Slow Outbound HTTP Calls in wp-admin

Published · Last updated

Available since 6.29.30.

Plugins and themes make outbound HTTP requests while wp-admin pages render: licence checks, update checks, telemetry and marketing feeds. Each one is a synchronous call, so WordPress waits for it before it finishes building the page. If the endpoint is slow or unreachable, that wait is added to every admin page that makes the call, and it’s rarely your own code at fault.

Scalability Pro’s HTTP API tab lets you block specific endpoints, one rule at a time. Outbound requests are allowed by default. With no rules configured, the only thing the tab does is stop unrelated third-party calls while Scalability Pro’s own settings page renders.

Did you know?

The delay is worst when an endpoint is unreachable rather than merely slow. A refused or dropped connection can sit waiting for the full HTTP timeout, often several seconds, on every admin page that makes the call.

Adding a rule

Each rule has four fields:

FieldWhat it does
URL wildcardThe outbound URL to block, for example *api.freemius.com/v1/installs/*. * is the only wildcard
Owning plugin slugThe rule is skipped on that plugin’s own admin pages, so its settings screen keeps working
PurposeLicence, update, telemetry, marketing or other. A label for your own reference
Allowed admin page wildcardsExtra admin pages, one per line, where the rule does not apply, for example *page=my-plugin*

A rule needs a concrete host. Catch-all patterns are rejected when you save, and you can store up to 100 rules.

A blocked call returns a normal WordPress HTTP error to the plugin that made it, so the plugin sees a failed request straight away instead of waiting. If Query Monitor is active, it logs a debug line naming the blocked URL.

Finding which calls to block

You don’t need to guess. Run an analysis with the free Super Speedy Performance Analysis plugin, then click Review latest analysis on the HTTP API tab. Scalability Pro reads the newest completed run and lists its slow outbound calls as suggested rules, each with the measured time, the plugin responsible and a suggested URL wildcard. Nothing is read until you click the button.

Where a rule never applies

The rules only affect admin pages being rendered. These boundaries are enforced in code:

  • Front end, REST, cron and AJAX requests: rules are skipped entirely, so visitors and checkout are never affected.
  • Form submissions: rules only apply to GET and HEAD admin requests, never to a save or any other change.
  • Plugin, theme and update screens: always allowed, so updates keep working.
  • WooCommerce screens: orders, settings, payments, checkout and refund screens are always allowed.
  • Payment providers: a built-in list of 22 payment gateway domains, including Stripe, PayPal, Braintree, Square, Mollie and Klarna, can never be blocked. Payment calls appear in the analysis suggestions but cannot be added as rules.
  • Your own site: requests back to the same host and port are untouched.
Common mistake

Blocking a licence check on a plugin’s own settings page can stop that plugin activating or showing its licence status. Fill in the Owning plugin slug so the rule steps aside on that plugin’s pages.

Further reading

more fixes for slow admin screens
strip the widgets that make the dashboard heavy
if admin is still slow, find what else is to blame

Comments

▲
▼
1/1