In the wide world of SEO there are thousands of different search ranking factors, as we told you in our SEO content. Some of those criteria are almost as old as Google itself; others are so new they are barely understood, and working them out is rather wearing. Here we will try to set the process out as plainly as we can, and we hope you get some use out of it and say thank you.

Raising the Pagespeed Score Above 90

One of the important criteria that has been around for a few years now is page speed. We have all been using the Google PageSpeed Insights tool together for years. There are tons of information available online about how to speed your site up, both on Web.dev and on content sites.

The trouble is that most of those articles serve content for getting a site from bad > good (middling).

When you check a site in PageSpeed Insights we see three bands: 0 to 49 is red and counts as “poor”. A score between 50 and 89 is orange and counts as “acceptable (good)”. A score between 90 and 100 is “excellent”. Most articles about speeding a site up aim to take you from red to orange, or from low orange to high orange. After all, a good many of us can end up thinking “acceptable beats being red and bad” is enough.

In this piece our aim is never “good enough”; our aim is to make our site as close to perfect as it gets. To learn what is in this content, another important piece of work I did towards getting the best website performance on Core Web Vitals, PageSpeed Insights, Pingdom and GTmetrix was to spend hundreds of hours fine tuning every small piece of code, every plugin, every image and every script. In this piece I am ready to share my best five tips so that you can get into the green band too.

Let us begin.

1 – Use WP Rocket

WP Rocket is a comprehensive speed, caching and optimization plugin. It does a bit of everything, and it does it rather well compared with many similar plugins. I have been using it for years and it will be my first plugin recommendation from the first moment of this article. Its free rival is the Litespeed plugin. Let us begin by picking 1 of the 2.

Frankly, unless your site or your hosting is rather bad, the WP Rocket plugin will bring your site into the 75+ band on its own. For it to fail you would have to have a rather slow server, some broken scripts or some serious problems. 

What does WP Rocket do for you?

  • One of the best things you can do for a website is to set up caching. It lets pages be built and served far faster than waiting for WordPress to pull every piece of data out of your database. WP Rocket is one of the best caching systems I have seen for WordPress, because it does more than caching alone and it removes the need for several plugins.
  • Cache preloading. WP Rocket builds the caches in advance every time your pages change, so that when a user visits for the first time there is a cached version ready to use. I think this is one of the best reasons to use WP Rocket, and it is where Rocket comes out with its head held high while many other cache plugins fail (W3 Total Cache and WP Super Cache among them).
  • GZip compression. By compressing the huge assets on the server and having them unpacked on the user's side, it saves visitors tons of the time they would spend downloading giant blocks of code. This optimization holds in particular if there are complicated plugins on your pages.
  • Code optimizations. Javascript and CSS files can take a lot of processing time, and one of the keys to raising your Core Web Vitals score is deferring and combining them so that they do not hold up the first load. There are a good many technical details we are passing over, but it is enough to say that WP Rocket's functionality does what it needs to without breaking your code.
  • Image lazy loading. Images have a very large file size compared with text and scripts, and they take a relatively long time to transfer and load. It helps you compress your photographs, and it lets you load them lazily so that they do not get in front of the other elements of the site. More importantly, it will help you do this without affecting the Core Web Vitals that WP Rocket manages.
The WP Rocket main dashboard

WP Rocket also works with most CDNs as soon as it is active. Using a CDN, by the way, is another excellent idea, but that is familiar enough; we will look at it in fifth place. It is enough to say you should always use a CDN if you can, but pick a good one.

2 – Enable PHP-FPM and OPcache

PHP offers a perfectly functional set of applications for running a website, but it is not exactly the world's most optimized code base. There is a lot that can go wrong. It works well for most small and medium sized sites, but when a site grows it needs something more optimized to avoid problems and outages.

Hello PHP-FPM, the FastCGI Process Manager for PHP. It is an advanced form of PHP developed primarily to help large, high volume sites speed up and optimize their architecture.

Fundamentally, instead of running PHP scripts one by one, we can call it a “pool” of workers that runs them at the same time without conflict.

“But Türk SEM editors, my site is not a high volume site. Why do I need PHP-FPM?”

An anonymous hero

You do not have to, we should say that. But that does not mean you cannot use it. The tool being designed for larger sites does not mean you cannot benefit from it.

The troublesome part is that you have to tell your web host and have it enabled, and not every web host may support it. Even so, I would advise you to try your luck.

How PHP-FPM handles requests through a worker pool

3 – Use Cloudflare's APO

Cloudflare is one of those enormous “invisible” companies that powers the internet's biggest sites, and yet people who are not webmasters are not familiar with it, or have no idea it exists. Alongside DDoS protection and other services, they offer a rather first class CDN. 

Many people may already be familiar with Cloudflare because of advanced DNS level features such as minification, free SSL and browser caching. Even so, my particular advice goes further than just using Cloudflare: it is to use their APO.

APO stands for Automatic Platform Optimization. What is this idea and what does it do? Let us quote Cloudflare on that.

“APO delivers consistent, fast performance for visitors no matter where they are, by allowing Cloudflare to serve your entire WordPress site from its own edge network. Automatic Platform Optimization is the result of using Cloudflare's power to cache dynamic content intelligently. By caching dynamically, Cloudflare can serve your entire website, making a site's time to first byte (TTFB) both fast and consistent.”

Cloudflare

Do you notice something?

The first three tips I passed on to you were different ways of caching parts of your website, so that visitors wanting to connect to your site do not lose time making database queries or calls to your server. It lowers the load on your server, lowers the processing time, lowers the data transfer time and lowers the rendering time. Raising speed also improves your user experience and your ranking, and that is a gain on every front. Hello win win 🙂

Here are a few notes on it, especially if you use WP Rocket.

  • You will want to disable the built in Cloudflare plugin for WordPress. It is decent, but it conflicts with WP Rocket. You will need to install the official Cloudflare plugin and use that one to clear your Cloudflare cache. (perhaps this problem will be fixed in future; who stands still?)
  • You will need to verify that it works. Check your HTTP headers and look for “cf-edge-cache: cache,platform=WordPress”. If you cannot see it, APO is not working. You can disable and re-enable Cloudflare to get it working; if that does not do it, talk to Cloudflare support about troubleshooting options. The “cf-edge-cache” tag may not appear for 10 to 15 minutes; it takes them a little time to store your pages on their servers.
  • To use APO on Cloudflare you will need to move to a paid plan.

In general APO is a powerful tool for WordPress, and Cloudflare's edge caching feature is reason enough to use Cloudflare in the first place.

The secondary reason is one of Cloudflare's newest features, Signed Exchanges (SXGs).

This feature lets Google store a rendered version of your cached page on its own servers and serve it to visitors even faster. Once it is enabled it can raise your Largest Contentful Paint score and make your site work much the way AMP pages do. And all you have to do is tick a box in Cloudflare, which makes it a magnificent SEO move.

Cloudflare Automatic Platform Optimization settings

4 – Audit Your Plugins

One of the most common pieces of advice for speeding up a WordPress site is to cut down on plugins. More plugins mean more code, and more code means slower page loads, right? That is not much of a conclusion. 

Some plugins can slow your site down, but others may not affect speed at all, and some plugins speed your site up. It all depends on the purpose of the plugin, which parts of the code the plugin touches and where it places its dependencies.

Greedy plugins (plugins made by developers who do not think much about their dependencies or about how they interact with other plugins) can spread their dependencies everywhere. Unfortunately that will, or can, have a dramatically negative effect on the speed of your site.

Given that there are thousands of WordPress plugins out there, and that is without counting the custom plugins you may have developed for your own site, the plugins you will want to avoid are beyond counting. So how do we find those plugins ourselves?

You have three options for finding greedy plugins.

1. Disable and test.

Check your page speed. Then disable a plugin and check again. Did your site speed measures rise? If so, that plugin is slowing your site down. You can try fixing it, deferring it or replacing it. Unfortunately this method is tedious (especially if you have dozens of plugins) and it can temporarily break your site along the way. You may want to do it at a moment when there are few visitors.

2. Check our list of known plugins

Very soon we will share a list of the plugins that slow your site down on the Türk SEM blog. You can look at the Türk SEM blog page to see whether that list is there yet. 

3. Use another plugin to check what your plugins do.

Rather than digging into server logs you may not have access to, you can use other plugins to watch your site and build reports. Reading those logs can help you see the plugins causing problems.

Two plugins of that kind are:

The WordPress plugins list

Using these plugins will give you a good idea of what your active plugins are doing and help you identify the problems you need to solve. By the way, if you know another option besides these two, let me know and I will add it to the list.

5 – Use Custom CSS

I told you I spent dozens of hours optimizing another site of mine, and that a large part of that time went on optimizing my CSS. I am very close to a 100/100 Google PageSpeed Insights score on mobile and I will do everything I can to hold it. Reaching 100/100 in the desktop check is far easier.

What can I do?

  • Inline CSS. WP Rocket does this automatically, but doing it by hand is better and more thorough.
  • Hide the elements you do not need. On mobile sites in particular, your site may try to load desktop elements and then hide them, which gives you all of the speed problems and none of the benefit. Using the visibility:hidden; property helps keep those elements from being built when they are not visible. Worth knowing precisely: visibility:hidden hides the element but still reserves its layout box, while display:none is the one that keeps it out of the layout altogether; on mobile the cleanest answer is not to send the element at all. 
  • Fix your CLS. CLS is cumulative layout shift. A website that starts loading and then shifts elements around as the other elements load is a chain of errors. You want to keep that to a minimum by blocking out the space for those elements straight away. You can read the guidance here.

These and all the related problems are best cured with custom CSS. Unfortunately, many WordPress themes do not code their CSS all that cleanly, so tuning it by hand will be to your benefit.

If you run into problems, the Türk SEM editorial team can answer them for you in the comments. We hope the content here has been of help to you.

6 – Preloading

Getting some elements on your site ready in advance brings important improvements to the user experience. As Türk SEM we published an important tool for this. You enter the 3 most important pages of your website into it. It works out the shared elements of those 3 pages and serves you the most important ones.

It marks a special note for the ones in the header in particular. That way, moving between pages becomes extremely fast.

You can record the preload files inside cache plugins such as Perfmatters or Litespeed.

The tool that finds the elements to preload

The Wildcard

If your site's speed figures are not improving despite all the settings you have made, there may be a problem with your server or your DNS records.

  • To find out whether the cause is the server, you can take a look at our what TTFB is content and measure your TTFB value with the TTFB checker tool in that section.
  • If you use a reseller account, the RAM allocated for each of your sites may be 1 GB or less. In that case a slowdown may be coming from something other than your coding and the rest. Move to a VDS and allow 2 GB of ram for each site.
  • Another matter, which you have to test one by one for every different server and domain registrar of yours, is how many milliseconds your site takes to answer a DNS request. With the DNS Checker tool you can learn how many milliseconds your site takes to answer. If it is above 100 ms, that tool will give you critical advice.