In this free guide, we will learn how to get 100/100 score in Google PageSpeed Insights for WordPress site?
Speeding up a WordPress site is definitely a popular topic these days. Fortunately, there are plenty of techniques you can use to get the job done. So, our goal here is to list all the methods we know that can make your WordPress site much faster.
This guide combines everything to help you speed up your WordPress site and fix all PageSpeed Insights and GTMetrix report errors.
As key web performance indicators become a ranking factor in June 2021, WordPress site acceleration has become a big deal
Indeed, if you have a slow WordPress site, you will see a significant drop in your search engine rankings (eg google) and faster sites will be indexed before you.
A slow website is usually caused by your infrastructure i.e. hosting, templates, page builders and plugins have a huge impact on results and loading times. So start with those first. If in doubt, check out this WordPress optimization guide on wordpress.org to see which factors matter most.
Why Should You Optimize WordPress Site Load Speed?
There are many reasons that may set off alarm bells regarding your site’s loading speed, some of which may cause you major concern:
- Search engines (such as Google) rank websites with fast loading times higher than those with slow loading times. So, if you want to improve your site’s SEO, improving your site’s speed should be one of your priorities.
- After Google launched the Web Performance Indicators update, speed officially became a check-in factor and many slow sites fell in Google’s search engine.
- Studies have shown that a site load speed of over 2 seconds typically bounces around 47% of visitors. So to keep about half of your visitors interested, you need to speed up your site.
- Online shoppers are the most impatient of people. They expect the page to load in a second. So, if you are running an online store on WordPress, you better be prepared to make major improvements so that your business can be more profitable.
Getting 100% speed in every tool is not realistic unless you have a static HTML site. that’s why don’t focus on results, instead focus on actual loading times.
Mainly used by webmasters, Google ‘s PageSpeed Insights tool measures the loading speed of a site’s pages. It assigns a score out of 100 accompanied by a set of recommendations to increase the speed of the page and therefore improve this score.
Many people focus on the prospect of getting a 100/100 score and often blame their web agency for the slowness of their site. But in reality, this rating system is a bit more complex than that.
Steps to Speed Up Your WordPress Site
- 1. Speed control tools
- 2. Accommodation
- 3. Page or Template Builder
- 4. Plugins
- 5. Caching
- 6. Content Delivery Network (CDN).
- 7. Improved Web Fonts
- 8. Takeout orders
- 9. Photos
- 10. Videos
- 11. Database
- 12. Delete unused CSS/JS files
- 13. Remove Unnecessary Features
- 15. Preloading, prefetching and precalling
- 16. Redirects
- 17. Bad robots were present
- 18. Mobile
- 19. WooCommerce
- 20. Improved Gravatars
- 21. Software upgrade
- 22. Other improvements
- 23. WordPress Acceleration Plugins
- 24. PageSpeed Insights Elements
- 25. WordPress Site Speedup Video
- 26. Resources
1. Speed control tools
What has been changed in GTmetrix?
In the past, results weren’t always tied to load times. You may have slow TTFB server response time and heavy CSS/JS files, but still get great results. This is no longer the case, Lighthouse/PSI has done a better job of correlating hits with load times, as has GTmetrix now.
Page builders and hosting can significantly affect loading times and results in GTmetrix/PSI. This is why you see many people in Facebook Groups (myself included) in a rush to delete their Page Builder.
In May 2021, Web Performance Indicators became a ranking factor on Google (aka improve your PageSpeed Insights report). Reducing the TTFB and load times of certain elements in GTmetrix Waterfall is a good place to start.
- Google PageSpeed Insights – Main tool to improve (this is Google), especially now that they have more accurate metrics that actually measure load times (like LCP).
- Web Performance Indicators report in Google Search Console – The Basic Web Performance Indicators report only shows essential vitals (such as LCP) for the entire WordPress site, but does not provide specific recommendations.
- GTmetrix – Use the waterfall diagram to identify specific CSS, JS, fonts, images and 3rd party areas that need optimization. Otherwise, similar recommendations from PSI.
- KeyCDN Performance – Best for measuring TTFB server response time at 10 global test sites. A strong indicator of how slow your WordPress hosting or DNS is.
- Query Monitor – Identify slow plugins, queries, and other things that are slowing down your site.
Cloudways is currently the highest rated host in all Facebook polls.
It’s also very popular in the WordPress Hosting group and WP Speed Matters (a great place to get unbiased reviews). I use a DigitalOcean plan and you can browse my blog to see how fast it loads. In almost all PageSpeed Insights tests, the TTFB is under 150ms.
No one has time to wait for slow TTFB times when trying to pass web KPIs. SiteGround has degraded and TTFB is slow , Hostinger writes fake reviews, GoDaddy and Bluehost brands have slow Servers, poor support, low ratings in Facebook groups. Since the release of the KPIs, there has been a huge change in the number of people switching to Cloudways DigitalOcean and now Vultr HF (as of 8/2020). This change can be seen in recent Facebook polls, migration results, and threads if you take the time to research.
I know there are a lot of bad hosting suggestions out there. That’s why I encourage you to join these Facebook groups and stay updated as a lot has changed in the hosting industry since 2020.
Latest Facebook polls on the best WordPress hosting:
Other people who have migrated to Cloudways:
I migrated from SiteGround to Cloudways and this is what happened: result
Loading times have been halved, especially for article pages. You can see how this very heavy article loads with a loading time of 676ms thanks to the Digital Ocean server hosted by Cloudways.
I like Cloudways because:
- My TTFB time is always under 200ms.
- Even articles with a page size of 1.6 MB can be loaded in less than 2 seconds
- Different levels of Varnish, Redis and memcached cache are all integrated for superior performance.
- They offer a free migration but their Migrator plugin will also do the trick.
- The support is excellent, as evidenced by their Trustpilot reviews.
- DigitalOcean and Vultr HF are much faster than shared hosting.
- Monthly pricing with no bad contracts or renewals
- You can choose from DigitalOcean, Vultr HF, Linode, AWS, and Google Cloud.
- No CPU issues like SiteGround, Bluehost and other shared hosts.
- SSL certificate security, staging, and backups are all super easy in the Cloudways dashboard.
- Registration is simple: start the server, connect the domain + SSL, connect to WordPress
Important tips to speed up your WordPress site:
- Lazy Host Test – TTFB and server response times can be measured in PSI, GTmetrix, and KeyCDN performance tests . Google recommends a TTFB of less than 200ms.
- Choose a nearby data center – DNS and TTFB lookup times are faster when you choose a data center close to your visitors. This is especially important if your visitors are local.
- Server-level caching – Most cloud hosts offer server-level caching (Redis, memcached, Varnish) while most shared hosts do not.
- Server Configurations – Use the latest version of PHP, MariaDB and MySQL on your hosting account. Use a memory limit of 256MB.
Hosts to avoid
- SiteGround – Backlinko reports that SiteGround has one of the worst TTFBs, which is also reflected in their speed test and complaints in Facebook groups.
- Bluehost – Slow servers, poor support, poorly rated in Facebook groups.
- HostGator – Also owned by EIG with slow servers, poor support, and CPU limit issues.
- GoDaddy – World ‘s largest malware hosting network , poorly rated in FB groups.
- Hostinger – They write fake reviews and vote themselves in Facebook polls.
- NameHero – Decent, cheap hosting but won’t beat most cloud hosting.
- WP Engine – It’s not what it used to be, it’s expensive and it’s not as fast anymore.
3. Page or template builders
Page builders have been overwritten in the new GTmetrix update.
- Divi, Elementor and Brizy are page builders.
- GeneratePress and Kadence are very fast and lightweight.
- Gutenberg and Genesis templates are other quick alternatives.
- If you are using Astra Starter sites, use a template designed in Gutenberg (not Elementor).
- Adding more page builder plugins will slow down WordPress even more.
- Use Asset CleanUp or Perfmatters to unload unused files created by page builders.
- Elementor has some experimental features in settings that include speed improvements (improved DOM output, improved asset loading) that you should try.
Comparison of different page builders in terms of speed:
Plugins are notorious for slowing down your WordPress site.
This is why it is so important to do research (in Facebook groups and read reviews in the WordPress store) before choosing a specific plugin.
Test its effect with Query Monitor
Some claim that web design requires a lot of plugins. Although this is sometimes true, it does not apply to simple WordPress websites. You can easily run 20 lightweight add-ons without any speed impact. It’s up to you to do the research and find the best plugins.
A few tips:
- Avoid slow plugins (below).
- Find slow plugins with Query Monitor .
- Avoid plugins that use jQuery if possible.
- Use modular extensions and disable unused features.
- Avoid plugins using SSL, redirects, and things you can do manually.
- Avoid extensions that run heavy background processes or add third-party code.
- Use WP Hive to see if a plugin is slow before installing it (screenshot below).
Most slow plugins include social sharing, sliders, page builders, related posts, statistics, live chat and plugins that perform continuous analysis/executions or appear multiple times in the GTmetrix report.
Slow WordPress plugins/ (avoid them)
Slowest WordPress Plugins include Social Sharing, Analytics, Sliders, Portfolios, Page Builder, Calendars, Chat, Contact Forms, Related Posts, Sitemap, Wordfence, WPML, WooCommerce , any plugin runs scans or running processes. This can be determined using Query Monitor or GTmetrix Waterfall.
- AdSense Click Fraud Monitoring
- All-In-One Event Calendar
- Backup Buddy
- Beaver Builder
- Better WordPress Google XML Sitemaps
- Broken Link Checker
- Constant Contact for WordPress
- Contact Form 7
- Contextual Related Posts
- Digi Auto Links
- Disqus Comment System
- Divi Builder
- Envira Gallery
- Facebook Chat
- Fancy Gallery
- Fuzzy SEO Booster
- Google Analytics
- Google Language Translator
- Google Translate
- Google XML Sitemaps
- Leaflet Maps Marker
- NextGEN Gallery
- Query Monitor
- Real Estate Website Builder
- Really Simple Share
- Reveal IDs
- Revolution Slider
- S2 Member
- SEO Auto Links & Related Posts
- Share Buttons by AddToAny
- Share Buttons by E-MAILiT
- Social Discussions
- Similar Posts
- Slimstat Analytics
- Sumo Me
- Tribulant Slideshow Gallery
- Ultimate Social Media & Share
- WooCommerce Customer History
- WordPress Facebook
- WordPress Related Posts
- WordPress Popular Posts
- WordPress Social Ring
- WP Facebook Like Plugin
- WP Jump Menu
- WP Social Bookmarking Lite
- WP Social Share
- WP Statistics
- WP Power Stats
- WP PostViews
- Yet Another Related Post Plugin
- Yuzo Related Posts
Lightweight alternative add-ons:
- Backups – UpdraftPlus.
- SEO – Add Rank Math or SEOPress.
- Slider – Soliloquy or MetaSlider.
- SSL – You shouldn’t need a plugin.
- Redirects – You shouldn’t need a plugin.
- Gallery – Gutenberg Gallery or Meow Gallery.
- Analytics – Google Analytics and Google Search Console (no add-ons).
- Security – Cloudflare Firewall, Two-Factor, Limit Login Attempts, Blackhole.
- Social Sharing – Social sharing without script or growth by Mediavine.
The type of caching plugin you use and how you configure the settings have a big impact.
WP Rocket and LiteSpeed are the gold standard when it comes to caching plugins. The reason WP Rocket is so highly rated is that it comes with more speed features than most other caching plugins (which leads to more speed improvements while reducing the need for plugins on your site).
Otherwise, you’ll have to find out what features the cache plugin doesn’t come with and install add-ons to get those improvements. In this case, here are the plugins that I recommend:
- Database cleaning (included in WP Rocket, or use WP-Optimize)
- Optimize CSS/JS – or Autooptimize
- Preload/Instant Page – Perfmatters or Flying Pages
- Heartbeat Control (included in WP Rocket, or use Heartbeat Control)
- Lazy downloading of images/videos (integrated WP Rocket or using WP YouTube Lyte)
- Host Google Analytics locally (included in WP Rocket, or use Flying Analytics)
- Prefetch/Preload – Advice on pre*party resources
- Compatibility with Cloudflare or other CDN (included with WP Rocket, or use CDN Enabler)
pastWP Rocket is ranked #1 in many Facebook polls.
Explanation of WP Rocket setup:
Types of caching
There are 6 types of caching . Caching extensions usually only support two types (full page cache + browser cache). Other types can usually be enabled in cloud hosting accounts. Take advantage of the different types of caching offered by your host – caching plugins are only part of the picture. You should definitely enable Redis in your hosting account and use the Redis Object Cache plugin . In SiteGround SG Optimizer, you usually need to enable static, dynamic, and memcached cache.
- Opcode cache – usually done by hosting.
- Full Page – This is usually done by adding caching and some CDN services like Cloudflare APO.
- Browser cache – Typically done by a caching extension.
- HTTP accelerators – enabled on your hosting (e.g. Varnish/FastCGI).
- Object cache – similar to Redis/memcached (I highly recommend Redis).
- CDN – This is done through a CDN, or add a caching page rule in Cloudflare.
- Use my WP Rocket setup guide to configure your settings.
- I also have guides on Swift Performance (video), WP Fastest Cache (video), W3 Total Cache and WP Super Cache (video).
- If you use Cloudways, use WP Rocket instead of Breeze.
- If you use SiteGround, use SG Optimizer instead of WP Rocket.
6. Content Delivery Network (CDN).
Cloudflare is fine for most sites, but if you’re serious about speed, go with BunnyCDN .
BunnyCDN is the most popular Facebook post. BunnyCDN is generally faster than Cloudflare, RocketCDN (StackPath), and most CDNs. That’s because BunnyCDN is a payment-only CDN and not a reverse proxy, which means visitors won’t experience slow payments. Like caching plugins, CDNs react differently on different sites – I will test Cloudflare/BunnyCDN.
Even if you don’t use Cloudflare for anything else, their DNS is much faster than cheaper DNS providers (GoDaddy, NameCheap, etc.). If you purchased your domain/hosting through a cheap host, changing your DNS to Cloudflare can reduce DNS lookup times.
- If your visitors are only local, don’t use a CDN.
- Setting up Cloudflare requires changing nameservers.
- Be careful with the Rocket Loader (it can destroy your site).
- Add cloudflare page rules especially cache page rule for everything and protect WP admin area. To cache everything on dynamic sites, use WP Cloudflare Super Page Cache .
- If you use Cloudflare, you should definitely use APO for $5 per month.
- If you’re on LiteSpeed, their QUIC.cloud CDN is a solid choice.
- If you’re using Cloudflare + WP Rocket, configure the Cloudflare tab for compatibility.
- Use BunnyCDN if you’re serious about speed.
- CDNs can improve PSI scores and offload a lot of bandwidth for their data centers.
7. Improved Web Fonts
Font optimization is not as simple as selecting an option in the caching plugin.
GTmetrix tells you the font loading time, the number of requests and whether they are served locally or from an external source. Here are some ways to improve it.
- Avoid ttf and use woff and woff2 instead, which is faster.
- Check GTmetrix Waterfall > Fonts tab for font files/sources/load times.
- Be limited with the number of fonts (font families, variants, icons, symbols).
- Host the fonts locally using OMGF or Transfonter (avoid using fonts.googleapis.com or fontawesome.com and serve them from your CDN URL (e.g. https://cdn.nakib4tech.com).
- If you provide fonts from external sources (such as fonts.googleapis.com), preload them.
- Add font-display for the font to “ensure text remains visible while web font loads” in PSI.
- Preload fonts (copy font files from GTmetrix and add them to WP Rocket or Perfmatters).
- Incorporate Google Fonts requests (usually via a caching plugin).
- Avoid plugins that add extra fonts.
However, even if fonts load quickly, they usually cause cumulative design variables (CLS) or FOUT . Simon Hearne explains how to get rid of CLS caused by web fonts . I recommend using system fonts to get rid of all the above issues and load your pages really fast.
In the easy tutorials, I used system fonts in the visible part of the page only (main menu, article title, sidebar). This helped me get rid of my CLS font permanently.
If you prefer to use custom fonts, be sure to watch my video on how to optimize and host Google Fonts natively on WordPress or any other font:
8. Takeout orders
Minimizing Third-Party Use PSI is anything on your website that pulls requests from external websites .
This includes Google Fonts, Analytics, Maps, AdSense, Tag Manager, Embedded Videos, Social Media Widgets, Facebook Pixel, Gravatars or even your social sharing plugin buttons. Some of them could be improved to have no impact on GTmetrix while AdSense/Tag Manager is more difficult.
- Google Fonts – Host them locally instead of serving them from fonts.gstatic.com.
- Google Maps – Take a photo of a map and link it to directions. If you need to use a card, use it only on the Contact Us page.
- Google Analytics – Hosted locally with Flying Analytics or Perfmatters.
- Social Sharing – Use Scriptless Social Share or Grow by Mediavine and avoid social media tools (such as Facebook like box).
- Gravatars – Delay Gravatars and use a local Gravatar image with simple local Avatars (my blog comments show an example of a custom Gravatar image I’m using).
Don’t forget to pre-fetch third-party domains or pre-fetch DNS queries that you use. Below are common third-party domains:
//maps.googleapis.com //maps.gstatic.com //fonts.googleapis.com //fonts.gstatic.com //use.fontawesome.com //ajax.googleapis.com //apis.google.com //google-analytics.com //www.google-analytics.com //ssl.google-analytics.com //www.googletagmanager.com //www.googletagservices.com //googleads.g.doubleclick.net //adservice.google.com //pagead2.googlesyndication.com //tpc.googlesyndication.com //youtube.com //i.ytimg.com //player.vimeo.com //api.pinterest.com //assets.pinterest.com //connect.facebook.net //platform.twitter.com //syndication.twitter.com //platform.instagram.com //referrer.disqus.com //c.disquscdn.com //cdnjs.cloudflare.com //cdn.ampproject.org //pixel.wp.com //disqus.com //s.gravatar.com //0.gravatar.com //2.gravatar.com //1.gravatar.com //sitename.disqus.com //s7.addthis.com //platform.linkedin.com //w.sharethis.com //s0.wp.com //s1.wp.com //s2.wp.com //stats.wp.com //ajax.microsoft.com //ajax.aspnetcdn.com //s3.amazonaws.com //code.jquery.com //stackpath.bootstrapcdn.com //github.githubassets.com //ad.doubleclick.net //stats.g.doubleclick.net //cm.g.doubleclick.net //stats.buysellads.com //s3.buysellads.com
Images are the main contributors to the size of a particular web page. The trick is to reduce the size of images without compromising quality.
There are several ways to improve photos. The first three items are from GTmetrix and the last three items are from PageSpeed Insights. Speed test tools only show you unoptimized images for the single page you are testing.
- Properly size images – Resize large images to be smaller. My blog width is 720px so I crop/resize full blog images to this size.
- Image Lazy Loading – Included in WordPress 5.5 and many speed plugins do this too. Images above the fold should be excluded from lazy loading as they are extremely critical and will actually appear slower to visitors during lazy loading. This is called “off-screen image lag” in PSI.
- WebP – Use the WebP Image Conversion Plugin (or Image Enhancement Plugin if supported) to convert images to WebP which should be faster and higher quality than JPEG /PNG. This is called “next generation image display” in PSI.
- Lossless compression – ShortPixel, Smush, TinyPNG and Photoshop are popular methods. The level of compression really depends on what you’re willing to trade in terms of quality versus speed (Lighthouse uses 85%). This is called “efficient image coding” in PSI.
- Display images via CDN URL – A CDN such as BunnyCDN can be used to pass images from a static CDN link. Cloudflare does not use CDN URLs.
- Combine images using CSS Sprites – CSS sprite merges several small images into one, so it creates one command instead of many (I use CSS sprite generator ).
- Display images with correct dimensions – add the width/height attribute to the HTML of the image. WP Rocket has an option to add missing image dimensions which should fix this issue.
- Responsive Images – Display images at a smaller size on mobile with a responsive images plugin .
- Disable direct linking – Prevents people from embedding your images on their website, which consumes bandwidth and costs you money. You can prevent this with Cloudflare, the disable WP Rocket integration setting, or some hosts have the option to disable Hotlinking.
- Remove EXIF data from photos – to remove unnecessary data from photos such as date, time, location and camera settings when you take a photo. This is done by most photo optimization plugins.
If you include videos, they are usually the heaviest element on the page. Just by loading slowly and using preview images, you can easily reduce the loading time of each video by a few seconds.
- Download lazy videos – via caching plugin, Perfmatters, or try WP YouTube Lyte .
- Replace YouTube frame with preview images – The iframe (which is the heaviest element of the video) loads as soon as your visitors actually click the play button.
- YouTube Preconnect – Creates a YouTube preconnect which is a PSI item.
Give your database a deep clean.
Many cache plugins have automatic database cleanups (I set it to 1 week in WP Rocket), but they don’t delete tables left behind by created plugins when the plugin is deleted. For this type of cleaning, I recommend installing WP Optimize from time to time. Install it, then delete the tables of old plugins marked “not installed” if you don’t plan to use the plugin again.
- Schedule running database cleanups (I use WP Rocket).
- Delete unused database tables (in WP-Optimize) after deleting a plugin.
12. Delete unused CSS/JS files
Once you have chosen a particular plugin, edit a page and view the Script Manager to see what CSS/JS files are loaded on the page. You will need to know where your resources are loaded and in what type of content you can disable them (existing URLs, pages, posts, Regex or “everywhere except” options).
- Disable adding sliders on pages that don’t use sliders.
- Disable adding structured data on pages that don’t use rich snippets.
- Disable adding a contact form on pages that don’t contain a contact form.
- Disable WooCommerce scripts and styles on non-e-commerce pages.
- Disable affiliate links on pages that do not use affiliate links.
- Disable social sharing on all pages (as is usually the case for blog posts).
- Disable unused functions in your page builder.
13. Remove Unnecessary Features
Removing unnecessary features from WordPress can reduce CPU and free up server resources.
Some features can be removed using Perfmatters (check out their features page), Clearfy, or with manual code. You should also look at your theme/plugins/hosting settings to disable any features you don’t use. This includes background processes which can consume a lot of CPU.
- Disable Heartbeat.
- Avoid swollen mold.
- Delete unused media files.
- Delete unused themes/plugins.
- Disable usage tracking in plugins.
- Disable unused modules in plugins.
- Replace WP Cron with Real Cron jobs .
- Identify article revisions (5-10 is enough).
- Thoroughly clean your database with WP-Optimize.
- Protect the blog/forms from spam comments.
- Remove jQuery Migrate if plugins don’t use it.
- Disable other unused items in Perfmatters or Clearfy.
- Disable unused features on your hosting account: email, DNS FTP, etc.
15. Preloading, prefetching and precalling
For scripts that cannot be selectively disabled, Preconnect helps browsers anticipate them. This will not improve GTmetrix results.
Pre* Party Resource Hints supports DNS prefetching and prerendering, preconnecting, prefetching, and prefetching which are used as browser resource hints . They all help reduce the impact of third-party code and load it faster.
- Preconnect: Tells the browser to establish a connection to an external resource.
- Prefetch: Tells the browser to download expected files that the user might request.
- DNS prefetch: The browser performs DNS lookups in the background while the user is browsing.
- Prerender: Tells the browser to download entire pages based on the user’s browsing habits.
- Preload: Tells the browser that a navigation resource is needed and fetches it as soon as possible.
Step 1: Copy all external domains you use on your website (find them in the Pingdom and Query Monitor report), otherwise here is a list of popular domains for preloading from Github :
Step 2: Add it to the Pre* Party Resource Hints add-on:
If you’re using WP Rocket, you can prefetch it (found in the preload tab):
If you see “Avoid landing page redirects” in PSI, it’s probably because you’re linking to incorrect URLs or using a plugin that generates redirects. It’s on a case-by-case basis, but here are some tips.
- Avoid plugins that generate redirects.
- Use trailing slash correctly: https://example.com/blog/
- Link to the correct HTTPS and WWW version or a version without WWW.
- Don’t use a redirect plugin, creating it in htaccess is faster.
- Use Better Search Replace to fix redirect errors across your entire site.
17. Bad robots were present
Have you recently checked your live Wordfence traffic report?
You will see a few bots constantly hitting your site and hitting your server. Obviously, Googlebot and other bots are good, and there can also be bad bots coming to your site. Unless you check, you’ll never know.
However, Wordfence consumes a lot of CPU, that’s why I don’t use it . The alternatives are Blackhole For Bad Bots , Block Bad Queries, or Cloudflare Firewall Rules (which is what I use). You can create up to 5 free firewall rules which means you can block the top 5 unwanted bots. Just copy their hostname and then block it in Cloudflare.
Log in to your Cloudflare dashboard and navigate to Firewall → Firewall Rules → Create Firewall Rule. Copy the hostnames of the bad bots (from Wordfence or Cloudways Bot Traffic) and add them here in the “Value” field. Since you can create 5 rules, you will repeat this step for the 5 worst bots.
Move your WP login page using Perfmatters or WPS Hide Login because your default wp login page attracts spam bots. If you use Cloudflare or another security service, enable WAF.
18. Mobile phone
How do you improve the speed of your mobile website in PSI?
Most desktop enhancements carry over to mobile, so you should start with them. Second, Google uses a slower 3G connection for mobile testing, which means mobile results are always worse than desktop. Still, there are mobile-specific things you can do.
- Make sure your themes/plugins are responsive.
- Replace sliders with images (slides are a thing of the past anyway).
- Display smaller images for mobile devices with an image plugin.
- Enable mobile caching if your caching extension supports it.
- Reduce image quality for slower connections (you can do this in Optimole ).
- Consider AMP (I’m not a fan) – Kinsta conversions are down 59% when using AMP.
- Check out the Web Benchmarks report in Search Console (there’s a section dedicated to mobile).
WooCommerce sites may require more scripts, styles, cart panes, and plugins.
Besides general speed improvements, there are a few other things you can do. By far the most important is solid hosting. Cloudways and Gridpane are what I suggest for WooCommerce sites.
- Use the Disable WooCommerce Bloat plugin .
- Never run WooCommerce on shared hosting (a recipe for disaster).
- Clear WooCommerce Transient Info in WooCommerce Status Settings.
- Disable cart flaps if you value speed over flaps (in Perfmatters).
- Disable WooCommerce scripts/styles on non-e-commerce pages (in Perfmatters).
20. Improved Gravatars
Gravatars take a long time to load, especially if you have a lot of blog comments (try posting an article with comments through GTmetrix and you’ll see how bad it is). You have a few options:
- Host Gravatars locally with Simple Local Avatars
- Disable Gravatars completely
- Set your default Gravatar to blank (no image)
- Delete comments that don’t add value
- Set your default Gravatar to a custom image on your server
- Limit your Gravatar images to smaller dimensions (eg 32px)
- Try caching Gravatars with FV , Harrys or Optimum Gravatar
21. Software upgrade
Keep your software up to date. WooCommerce and some page builders (Elementor, Divi) have a system status section that shows your software details. Also stay informed when your hosting releases an update (PHP version, Redis, etc) you will most likely have to perform these updates manually.
- PHP version (must use +7.4)
- Version MySQL + MariaDB
- RAM limit increased to 256MB
- WordPress updates, themes, plugins
Check your website for visual errors as unregistered plugins may not be compatible. If you see any errors, you can always revert to a previous version of PHP.
22. Other improvements
Some of them weren’t included in the other sections, so I’ve included them here:
- Protect Login Pages If you use Cloudflare, add a page rule to protect your login page, set the security level to high, and disable Cloudflare’s performance features within the admin.
- Use Brotli – it’s much faster than GZIP (WP Rocket only supports GZIP).
- Don’t enable Yoast Indexables – claims to speed up the site but I wouldn’t recommend enabling it (lots of complaints on their blog). Honestly, you should be using Rank Math or SEOPress instead.
- Combine CSS/JS, or not – WP Johnny says small sites should combine files, large sites shouldn’t. You should also test Critical CSS to see if it has a positive effect on load times as it can sometimes have a negative effect.
23. WordPress Acceleration Plugins
Of course, you don’t need all that. The ones I recommend the most are Oxygen Builder, WP Rocket or LiteSpeed, Perfmatters, ShortPixel, WP-Optimize, Query Monitor and Autoptimize.
- Oxygen Builder – A lightweight template builder that I recommend designing your website with.
- WP Rocket – The best cash plugin in most Facebook polls and what most people use.
- LiteSpeed Cache – The cache extension you should use if you are using LiteSpeed Server.
- Perfmatters – Remove unused files and features and improve WooCommerce and other features.
- Clearfy – Similar to Perfmatters (free but very limited and UI/UX not great).
- OMGF – Hosts Google Fonts locally.
- Imagify – Popular image optimization plugin with the ability to convert images to WebP.
- Optimole – Lazy image loading without jQuery and served via Cloudfront’s CDN.
- WP-Optimize – Cleans up the database, including the ability to delete tables left over from old plugins.
- Query Monitor – Find the bottlenecks slowing down your site, including the slowest plugins.
- Swap Google Fonts display – Ensures that text remains visible while the web font (PSI element) is loading.
- Flyout Pages – Similar to WP Rocket’s link preloader feature (preloads pages on mouseover).
- Swift Performance – Powerful caching plugin (has average reviews).
- SG Optimizer – Use this if you are on SiteGround, but I wouldn’t recommend SiteGround hosting.
- Breeze By Cloudways – Don’t use this if you use Cloudways (WP Rocket is much better).
- ToolKit For Elementor – Designed specifically to speed up Elementor (also has great reviews).
- WP YouTube Lyte – Load videos lazily and use preview images (if not using WP Rocket).
- Heartbeat Control – Disable/restrict WordPress Heartbeat API (if not using WP Rocket).
- Pre* Party Resource Hints – Adds preload, preload and precall (if not using WP Rocket).
- Disable WooCommerce Bloat – Removes remnants of WooCommerce to speed up the admin page.
- BunnyCDN – Used to configure the BunnyCDN network (highly recommended).
- Blackhole For Bad Bots – Prevents bad bots from accessing your site and consuming resources.
- WP Cloudflare Super Page Cache – Cache everything on dynamic sites using Cloudflare.
- WP Crontrol – Manage your WP cron jobs and schedules that can hog your CPU.
- Disqus conditional loading – Lazy loading of Disqus comments using OnScroll, OnClick and Normal.
- Simple Local Avatars – Upload a custom, optimized Gravatar image that can be hosted locally.
- AMP for WP – Add accelerated mobile pages with design options (I don’t suggest AMP).
- Widget Disable – Disable sidebar/control panel widgets (speed up initial admin load time).
- Show PHP version – Shows the version of PHP you are using if you are unsure how to do this.
- WP Hosting Performance Check – Record web hosting performance quite accurately.
24. PageSpeed Insights Elements
Here are the popular PageSpeed Insights elements and solutions that I tried to make specific to WordPress. I have a step by step guide on how to get a 100% score in PageSpeed Insights.
- Avoid excessive DOM size – Avoid lazy page builders, lazy loading of elements below the fold (images, videos, iframes, AdSense). If you are using Elementor, enable “Optimized DOM output”.
- Avoid document.write – often associated with dynamic requests such as AdSense ads. Delaying the loading of Adsense can solve the problem, otherwise you can ignore it.
- Avoid large design variables – Measures the change of elements on a page. It is often associated with fonts, buttons, images, CSS and cookies that “come in” as the page loads. Properly use font display, exclude images above the fold from lazy loading, and specify image dimensions/iframes. Ads, animations, and dynamic content can also cause high CLS. The CLS metric only applies to content above the fold.
- Avoid multiple page redirects – Use the correct HTTPS and WWW versions or a non-WWW version throughout your site. Plugins can also cause redirect errors.
- Avoid non-composite animations – Fix animations that change or appear abruptly when loading your page, which will also affect CLS.
- Delay off-screen images – Lazy loading images (built into WordPress or use a plugin (Optimole) that lazy loads without jQuery and serves images via Cloudfront).
- Make sure the text stays visible while the web font is loading – use the “swap” property in the font width or use a .
- Efficient image encoding – General recommendation for reducing image size. Compress images (using a plugin like Imagify or TinyPNG), load images lazily, render from a CDN, strip EXIF data, and use WebP.
- Enable Text Compression – Enable GZIP in cache plugin (but Brotli is faster).
- Rendering speed of the largest content on the page – How long does it take for the main content of the page to finish rendering (several factors come into play). The main ways to improve LCP are to reduce TTFB server response times, choose a data center close to visitors, use a CDN, add browser resource hints such as pre-connect and prefetch, use server-side caching, include critical resources, defer non-critical resources and use critical CSS, avoiding heavy text above the fold, reducing excessive DOM size , ensuring text remains visible while font loads, optimizing images, using responsive images, and reducing CSS/JS.
- Reduce server response times – Avoid shared hosting and EIG hosting and disconnect from SiteGround as their TTFB becomes slow. Try Cloudways (DigitalOcean or Vultr HF) or Gridpane. Join the WP Hosting Facebook group for feedback.
- CSS Minify – removes unnecessary characters from CSS (this is done via cache plugin).
- Pre-Connect Required Assets – If using a CDN or Google Fonts, pre-connect the CDN address and fonts.gstatic.com with Perfmatters or Pre*Party or add the code manually. This will establish an early connection to third-party services.
- Properly sized images – Avoid large images and resize them to smaller dimensions.
- Display images in next-gen formats – Convert images to WebP format using the plugin and enable WebP caching in WP Rocket media settings if you use it.
- Show static assets with an effective cache policy – If using Cloudflare, set the cache expiration to 6 months.
- Use video formats for animated content – Convert any animated GIF to video.
- Use passive event handlers to improve scrolling performance – some templates/plugins use “addEventListener” (change it to be negative).
25. WordPress Site Speedup Video
I posted a video on this article for people who don’t like to read a lot. However, this article contains much more information than what was mentioned in the video:
If you’re looking to do it yourself, join the Facebook groups I recommended and find solutions. Many people have already asked about optimizing certain PSI elements, hosting recommendations, caching plugins, CDNs, etc. There is a gold mine of information.
- Groupe WP Speed Matters
- WordPress Hosting Group
- WordPress Speed Up group (watch out, siteground community manager Hristo is in charge there!)
Frequently Asked Questions
What are the most important speed factors for a WordPress site?
Hosting, cache component, image optimization, plugin optimization, and whether or not to use external code are the top five factors for website speed.
What is the best way to add money to the WordPress site?
WP Rocket is generally considered the best caching plugin in Facebook polls because it has built-in features that most plugins don’t. These additional improvements should give better scores and load times in GTmetrix. The best free cache plugins are Swift Performance, W3 Total Cache, and WP Super Cache.
What is the Best WordPress Hosting You Should Use?
The best hosting is debatable, but Cloudways and Kinsta are generally the highest rated WordPress hosts in over 30+ Facebook polls.
Which speed test tool should you use to measure your site?
GTmetrix has the strongest recommendations, especially when it comes to optimizing images, finding slow add-ons in the Cascade tab, and measuring time to first byte. Pingdom doesn’t have many recommendations and Google PageSpeed Insights doesn’t measure load times.
How can you improve your site images?
You can enhance your site images with a plugin like Imagify or Smush to compress images and remove EXIF data. Make sure the images are scaled to the correct dimensions and serve perfectly from the CDN. Lazy loading images and videos will also make the page faster.
How can you improve external scripts?
I really hope this tutorial on how to speed up your WordPress site helped you! Share your new GTmetrix scores + site load times in the comments?