Many WordPress users feel that WordPress performance is not good and the opening speed is very slow. Specifically, when opening a backend or frontend page, it takes a long time to load before the page appears. Friends who understand basic web debugging can open the browser debugging tool to look at the network waterfall. They will find that the Waiting (TTFB) parameter of the page is very long, some even reaching more than 1000 ms. There are many reasons leading to slow WordPress page loading speeds. Today, I’ll analyze them one by one for everyone.
First of all, opening a website needs to go through several steps (referred to as 5 steps below):
- The user enters the website domain name in the browser, and the DNS server resolves the website domain name to the server IP address.
- The browser requests the page from the server on our behalf. After the Nginx server receives the request from the browser, it forwards the request to the PHP program on the server.
- PHP executes the page code, reads data from the MySQL server, then stitches it into an HTML web page, and returns it to the Nginx server.
- After the Nginx server receives the HTML page returned by PHP, it forwards it to the browser.
- After the browser receives the HTML returned by the server, it reads the content of the HTML page, fetches and loads resources in the HTML content, and renders the web page into the page we see according to the HTML tags, CSS, and JavaScript code of the HTML page.
With so many steps, if a problem occurs in any step, it will lead to a slow website opening and rendering speed. If there are problems in multiple steps, the opening speed will become even slower, until we can’t stand it and decide to optimize the website opening speed.
To optimize the website opening speed, we must first find the cause of the slow WordPress opening speed and prescribe the right medicine. Otherwise, any optimization will not play a role in curing the disease, and some may even produce side effects, leading to slower opening speeds. Next, let’s look at the problems that may occur in each step and their solutions.
1. Network Connection Speed or Server Bandwidth Reasons
Network reasons are also what everyone often calls slow network speed. Under the influence of the speed-up and fee-reduction policy, now the network speed of the client (which is your computer or mobile phone) will generally not be slow. The slow network speed mentioned here is mainly the slow server network speed.
For example, if the server is in the United States and we access it in China, data has to cross the ocean twice for a round trip, so the speed is naturally slow.
For another example, some websites use a 1M small pipe bandwidth server. Downloading a 1M image will take several seconds. If the website has many or large images, the website opening speed will make people involuntarily associate with the image below.

Network reasons will affect steps 1, 2, and 4 in the “5 steps” of opening a WordPress page. How to solve the slow page opening speed caused by network reasons? Generally speaking, there are the following 3 methods:
- Change to a closer server. If the server is closer, the data doesn’t have to travel too far, and the speed will naturally be faster.
- Use a CDN, which allows us to put data on a server closer to us without having to change the server.
- If both of the above are difficult to implement, we can optimize the number of frontend resources loaded on the web page, reduce the number of HTTP requests. Some WordPress plugins can do this. Of course, if you understand programming, you can also achieve it by editing code.
2. Server Configuration Reasons
If the server configuration is relatively low, or the website uses a shared virtual host, it will lead to fewer server resources allocated to your website, leading to a relatively long time for executing a program. In this way, the website opening speed is naturally slow.
Example: when opening a website homepage, PHP says to MySQL, “Give me the first 10 articles with category IDs 3, 5, and 7. Each article needs to include data like title, description, image, visit count, and publication time. Sort them by time for me. Be quick! Give them to me within 100 milliseconds.”
As a result, MySQL returns these data to PHP after 3 seconds. At this time, PHP is angry: “Why so slow? My boss wants to see these data quickly. Why can’t you be a bit more efficient?”
MySQL looks at its limited server resources and says very aggrievedly: “I also wanted to give them to you quickly, but the server resources I can use are limited. I can’t do it!”

Yes, if server resources are limited, wanting to fetch data and generate web pages in a very short time, not only can it not be done, but even the emperor cannot do it.
Server reasons mainly affect steps 2, 3, and 4 in the “5 steps”. We can adopt the following measures to solve this problem:
- Improve server configuration. If the server configuration is too low, improving server configuration is the simplest method.
- Use WordPress cache. Rational use of server cache can improve page opening speeds without improving server configuration.
3. Theme or Plugin Reasons
Some advanced themes have particularly many loaded components. Even if we make a very simple website, it loads a lot of code we don’t need. In extreme cases, some poorly designed themes or plugins will even cause program infinite loops, leading to exhaustion of server resources.
If the theme or plugin code does not adopt appropriate caching for resource-consuming MySQL queries, it will lead to frequent access to the database, resulting in a slower program processing speed.
Some plugins will load some frontend resources. Maybe a plugin only loads one or two CSS or JS files, but if there are many plugins, combined together, they will load dozens of frontend resources into the page, and the effect on page rendering speed can be imagined. I have seen a website using more than 20 plugins, and the homepage loaded nearly 30 CSS and JS files. With so many resources, it takes a while just to download them, let alone render them after downloading.
These several reasons will affect steps 3 and 5 in the “5 steps”.
- Change the theme, adopt an excellently designed, concise and professional theme. If conditions allow, you can customize a theme.
- Optimize theme code. Check existing theme code and see which functions we don’t need, and find a way to disable them.
- Improve server configuration. If there are more server resources available for the program, the processing speed will naturally improve.
4. Google Fonts and Gravatar Avatars Reasons
If Google fonts are loaded in WordPress pages, in most cases, Google fonts cannot be loaded, and the browser will keep loading, looking like the website has lost its response. In fact, other parts of the website have already been loaded, just waiting for Google network fonts to be loaded and applied before rendering it for us.
For Chinese websites, without these fonts, the page basically looks no different. If we remove these fonts, the website still looks the same and the speed is faster, so why not do it?
If these fonts are needed, we can also replace these fonts with domestic mirror resources. This both keeps the fonts and doesn’t affect the page opening speed, killing two birds with one stone.
This reason will affect step 5 in the “5 steps”. The solution is also very simple:
- We can directly disable Google fonts or Gravatar avatars.
- You can use the Google Font Fix plugin to replace these resources with domestic mirrors.
Related Articles on WordPress Speed Optimization
This site has previously published some articles on optimizing WordPress opening speed and solving slow WordPress opening speeds. Interested friends can click the following links to read them one by one.
How to Properly Speed Up WordPress Website – Using Avada Theme as an Example
Use ngx_pagespeed to Optimize Frontend Pages and Improve WordPress Loading Speed
Use Cachify Plugin to Cache WordPress Pages in Memcache for Instant Page Opening
Causes and Solutions for Long Waiting (TTFB) Time in Website Loading
