Skip to content

Improve External Requests by WordPress Core

Plugins are not the only reason why WordPress is slow. External requests can also slow down your WordPress website.

In this tutorial I show how to improve external requests initiated by WordPress core functions. How frequently those requests happen, how they impact website performance and how to improve external request usage.

Watch a video tutorial on Youtube.

Watch Wp_http optimization playlist.

View WordPress Core External Requests

A brand new WordPress website without any plugins can also be slow because of External Requests.

Let’s find out if that is the case.

External requests are performed using WP_HTTP class in WordPress.

I use the HTTP Requests Manager plugin to view all external requests inside WordPress.

WordPress Core external requests grouped by function.

Use following steps to view WordPress Core external requests:

  1. Install and activate HTTP Requests Manager plugin to WordPress website.
  2. After running for a couple hours or a day navigate to “Tools” → “HTTP Requests Manager” page.
  3. From the top dropdown box select the “Group by initiator” option.
  4. This will group external requests by function initiating those external requests.

You will see all sorts of external requests initiated by WordPress core.

Here are the most common External Requests functions by Core:

  • Update check
  • Starting Cron job
  • Health check
  • Browse happy check
  • Serve happy check
  • Viewing plugin info
  • Version check for server software
  • Download plugin updates
  • Translation check
  • Enclosure check
  • Pingbacks
  • oEmbed

Report will also show requests made by Plugins and Themes alongside Core requests.

Click on group to reveal list of external requests.

View list of external requests inside each group.

List will show external request URL, response status, runtime (time to load resource from remote server), total page generation time and relative date.

To view details of each external request click on request URL.

View details of external request by clicking on request URL.

Popup window will open and show details of that request. You can see request data and the response. As well additional information about the page where an external request happened.

Improve external request usage in WordPress

Every external request adds approximately 1 second to WordPress page generation time.

To improve external request usage we need to block useless external requests without limiting WordPress functionality.

Check this screenshot that shows requests by core functions.

WordPress Core external requests grouped by function. Orange bar shows represents improved (blocked) external requests.

Each core external request group has a bar representing the quantity of requests.

Orange color in the bar shows the number of blocked external requests. Blocking is done mostly in “Smart block” operation mode.

Samrt block will improve external requests by blocking useless ones. Additionally will block external requests on slow pages.

You can improve usage of external requests by selecting “Smart block” operation mode in the “Settings” tab.

“Smart block” blocks some external requests on slow pages. Other requests that are not necessary like Browse happy, Enclosure checks and Pingbacks are also blocked in this mode. Learn how “smart block” optimizes external requests.

To improve requests that are not blocked by “Smart block” you can use specific plugins, code snippets or custom rules.

Multiple slow Translation API calls via WP_HTTP External Requests made by WordPress Core.

For example this report shows that there are too many slow external requests to WordPress Translation API. They are happening every 3 hours on the login page of a WordPress website in foreign language. WordPress checks if there are any new translations available.

External request slows down login page by adding an extra 1 second.

To solve the problem I removed the language switch select box from the login page using the code snippet. View detailed case study optimizing usage of external requests to translation API.

Why is it Important to Improve External Requests by WordPress Core?

WordPress core makes a lot of external requests.

WordPress Core made 87% External requests. In comparison all plugins 10%, theme 3% external requests.

You can see from this screenshot above. WordPress core is responsible for 87% of external requests. This is calculated using the last 100 external requests.

There is no defined limit to the number of external requests per page. Theoretically WordPress can make an unlimited number of external requests per page.

I have recorded 830 external requests made by WordPress Core on a single page.

By improving core external requests you will improve the majority of external requests happening in your WordPress website.

Plugin and Theme external requests also will be optimized by “Smart block” operation mode similar to core requests.

Additionally you can further improve external request (WP_HTTP) usage by blocking with custom rules.

Conclusion

WordPress can be slow even without using any plugins. All because of the external requests.

Speed of external requests does not depend on your server. They depend on the network and on the remote server. Nobody can guarantee to have a fast network (to all directions) and fast remote servers.

That is why moving your WordPress website to a faster web server will not optimize usage of external requests.

Best way of improving external requests is to block them on slow pages and prevent useless requests. This will make your wordpress website fast while keeping functional.

What is next:

Leave a Reply

Your email address will not be published. Required fields are marked *