How I Optimized My Slow WordPress Site To Load less than 1/2 sec With 100% GTmetrix + Pingdom Scores: A Comprehensive List Of 38 WordPress Speed Optimization Tips

Slow WordPress site?

I’ll show you how to take your GTmetrixPingdom, and PageSpeed Insights report and use them to make WordPress-specific optimizations that improve grades/load times. I’ve already written one of the most popular WP Rocket tutorials including one on W3 Total Cache and WP Fastest Cache which combined have 800+ comments and used by 250k people. Let’s do yours!

Hosting + Cache Plugin – these are the 2 biggest factors in the WordPress optimization guide. Run your site through Google PageSpeed Insights and see if reduce server response time is in your report (see screenshot). I recommend joining the WordPress Hosting and WordPress Speed Up Facebook Group and see what real (unbiased) people are saying about hosting. SiteGround was rated #1 in 10 different Facebook polls and in Facebook conversations. I use their semi-dedicated GoGeek plan and have <1s load times + 100% GTmetrix/Pingdom scores.

WP Rocket was the #1 cache plugin in Facebook polls and comes with many built-in features that make speed optimization way easier (Cloudflare/StackPath integration, lazy load, hosting Google Analytics locally, database cleanup). Both these are paid services ( and WP Rocket is $39/year and SiteGround is $3.95 – $11.95/month) but they’re what I contribute the majority of my load times to. I have a tutorial for WP Rocket and SiteGround will migrate you for free.

*Paid services

 

Table Of Contents

 

 

1. GTmetrix vs. Pingdom vs. Google PageSpeed Insights

GTmetrix has the most robust recommendations, like which images need to be optimized in the Page Speed tab (steps 14-16) and using a CDN in the YSlow tab (step 11). It’s also good for finding slow loading plugins if they take a long time to load in the Waterfall tab, or they appear multiple times in your main report. You can also view your time to first byte in the Timings tab.

My GTmetrix report

Perfect-GTmetrix-Report.png

Pingdom is the most accurate tool for measuring load times according to WP Rocket, and load times are the primary metric you should be measuring (not grades), but there is a correlation.

My Pingdom report

Perfect-Pingdom-Report

Google PageSpeed Insights is really only good for 1 thing – checking if your server is slow. If you see reduce server response time in your report should consider upgrading to a faster server (step 3). Otherwise it’s pretty useless and there are many articles that explain why. Google recommends a response time of <200ms… you can either fix this by upgrading plans with your current hosting company to include more server resources, or switch to a host who uses faster speed technology (NGINX servers, PHP 7, HTTP/2, solid states drives, Cloudflare).

Reduce-Server-Response-Time-Under-200ms

 

2. Avoid EIG Hosting (And Godaddy)

The same company (EIG) owns Bluehost, HostGator, iPage, Site5, Unified Layer, and over 60 different hosting companiesThey are known for cutting costs by packing too many people on the same server (stressing it out) and have horrible reviews because of it. Many websites hosted by EIG have high response times, and I would avoid using these companies at all costs.

List-Of-EIG-Brands

This is well-known in Facebook Groups…

Bluehost-EIG-Feedback

Beware-of-EIG

How To Tell If Your Hosting Is Slow
Run your site through bytecheck.com and check your TTFB (time to first byte). It should ideally be <200ms. This and reduce server response time in PageSpeed Insights are good indicators.

TTFB-Check

You can also check TTFB in the GTmetrix Timings tab…

GTmetrix-Time-To-First-Byte

 

3. SiteGround (#1 In Facebook Polls)

Hosting is the #1 factor in the WordPress optimization guide.

WordPress-Hosting-Recommendation

SiteGround is #1 in pretty much every poll and does free migrations

This can make a significant improvement…

SiteGround-Host-Migration

SiteGround-vs.-Godaddy-Load-Time-Improvement

Join the WordPress Hosting/WordPress Speed Up Facebook Group and see what people say:

Looking-For-New-Hosting-Provider

wordpress-hosting-question

SiteGround has 3 plans (I’m on their semi-dedicated GoGeek plan)…

SiteGround-Hosting

Higher plans include more server resources (number of servers is the #1 factor in the WordPress optimization guide). You can see a full comparison chart of their StartUp vs. GrowBig vs. GoGeek plan but GrowBig gives you about 2x server resources as StartUp, and GoGeek is semi-dedicated hosting which gives you even more server resources. GrowBig + GoGeek come with priority support and you can host unlimited sites. Cloud hosting is quite the price jump at $80/month but comes with 2CPU + 4GB RAM and is faster than GoGeek.

You can see this on the features page

SiteGround-Server-Resources-Chart

I like SiteGround because…

  1. They’re recommended by WordPress
  2. They use PHP 7.3 (check your version here)
  3. They use HTTP/2 servers (check your version here)
  4. Their speed technology page clearly lists what they use
  5. Free Let’s Encrypt SSL (EIG companies charge for this)
  6. My GTmetrix/Pingdom reports are great (the biggest reason)
  7. Average load time is 1.3s, giving most people instant speed improvements
  8. Ivica runs the WordPress Speed Up Facebook Group and ranks them #1
  9. Consistently #1 in Facebook polls/conversations (#1#2#3#4#5#6#7)
  10. Their semi-dedicated plan is affordable yet much faster than shared hosting
  11. They have 1-click Cloudflare activation in the cPanel (view cPanel demo)
  12. Designated WordPress support (tickets usually answered in <10 min)
  13. SG Optimizer plugin keeps your PHP updated with latest version
  14. Automatic daily backups, WordPress updates, and security updates
  15. Great eCommerce hosting
  16. Weekly security email notifications
  17. I usually get 100% uptimes but 99.99% is guaranteed
  18. Out of 50 people I referred to SiteGround in July, not 1 person cancelled
  19. I can call them 24/7 and they’re happy to answer questions (1.800.828.9231)
  20. They will migrate you for free with a 30-day money back guarantee

Affiliate Disclaimer – if you sign up for SiteGround using my affiliate link I will donate a good chunk at no expense to you. This year Tom donated $3,000 to feed the homeless in Denver. In 2017, I donated $3,000 to American Red Cross at Hurricane Harvey. Your support helps and I genuinely appreciate it. I try to make my reviews unbiased and backed by evidence in the form of Facebook pollstweets, and real conversations. If you don’t want to use it, here’s a non-affiliate link to SiteGround. Either way I truly believe they’re the best host and that your site will run faster/smoother… do your research on Google and Facebook groups and you’ll find most people say the same.

4 years…

SiteGround Hosting on onlinemediamasters.com

 

4. PHP 7+

Upgrading PHP versions is literally the easiest thing and can make your site 2-3x faster…

WordPress-PHP-Speed

So why do most WordPress users run outdated PHP versions?

WordPress-PHP-Stats

It’s because even though most hosts support it…

Web-Hosting-PHP-Versions

Your hosting company will NOT automatically upgrade you to the latest version of PHP since your theme/plugins may not be compatible (and they don’t want to break your site). This means you need to do it yourself or request help from your host). It also means if you’ve been on the same host for many years and have never done it, you’re probably still running PHP 5.

Step 1: Install the Display PHP Version plugin to check your current version.

Display-PHP-Version

Step 2: Run the PHP Compatibility Checker to make sure your theme/plugins are compatible.

PHP-Compatibility-Checker

Step 3: Upgrade to PHP 7+ by looking for a “PHP Version Manager” in your hosting account…

PHP-Version-Manager

PHP-Upgrade

*Check your website for errors since non-maintained plugins may not be compatible.

 

5. Configure A Cache Plugin (Ideally WP Rocket)

There are lots of cache plugins out there but this Facebook poll is accurate. Your cache plugin and hosting are the two most important factors so try to buy WP Rocket if you have the $39.

Best-WordPress-Cache-Plugin-Poll

Best-Cache-Plugin-Poll

Swift-Performance-vs.-WP-Rocket-Feb-7

If you can drop $39 on WP Rocket, buy it then see my WP Rocket tutorial. It’s easy to setup, updated frequently with new features, has extensive documentation, and amazing support. It integrates Cloudflare, StackPath, lazy loading videos/photos/iframes, database cleanup, query strings removal, and ability to host Google Analytics locally. Most cache plugins don’t come with these which means you would need to install 3 extra plugins to get these features: WP-OptimizeLazy Load For Videos, and the CAOS plugin. With WP Rocket these are all built-in.

 

6. Database Cleanup

Deletes your spam and trash folders, trackbacks, pingbacks, database tables, transients, and the potentially thousands of post revisions and post drafts that have accumulated overtime which WordPress stores automatically. These are garbage files and slow down your site. I recommend scheduling WP Rocket or WP Optimize to delete these every week or so. You should be fine, but take a backup of your site if this is your first time cleaning your database!

If using WP Rocket, run (and schedule) this in the database settings…

WP-Rocket-Database-Settings

If not using WP Rocket, use the free WP-Optimize plugin…

WP Optimize Plugin

 

7. Cloudflare Setup

Cloudflare is free and improves speed, security, and spam protection. Their CDN hosts your files on 150+ data centers which helps offload resources to their servers (lightening the load on yours). The data centers also reduce the geographic distance for your content to travel to visitors. Cloudflare is easy to setup with WP Rocket (I also listed alternative methods below).

Cloudflare-Data-Centers

Step 1: Sign up for Cloudflare, add your website, then it will run a scan. You will go through a set of pages until you reach a dashboard with your 2 Cloudflare name servers (which you will change in your hosting account) and your Global API Key to enter into your caching plugin…

Cloudflare-Nameserver-Dashboard.

Step 2Change name servers in your hosting account to the ones Cloudflare assigned you…

SiteGround-DNS-Records

Step 3: Enter your Global API Key (found in your Cloudflare profile) into your cache plugin…

Cloudflare Global API Key

WP-Rocket-Cloudflare-Add-On

Alternative Methods For Setting Up Cloudflare

Most hosts also have an option to activate Cloudflare in the cPanel…

SiteGround-Cloudflare-Activation

 

8. Cloudflare Speed Settings

Go to your Cloudflare speed settings and copy these. Check your site afterwards since Auto Minify and Rocket Loader can cause issues. Turn on SG Railgun and Accelerated Mobile Links.

Cloudflare-Speed-Settings

 

Hotlink protection prevents people from using YOUR images on THEIR website – which sucks up your hosting CPU (bandwidth). Go to Cloudflare’s scrape shield settings and turn this on…

Cloudflare-Hotlinking

 

10. Cloudflare WP-Admin Page Rules

Cloudflare says “we recommend that you create a Page Rule to exclude the admin section of your website from Cloudflare’s performance features. Features such as Rocket Loader and Auto Minification may inadvertently break backend functions in your admin section.”

Go to Cloudflare’s page rules settings

CloudFlare-Page-Rules-Settings

Create these 2 rules for your admin panel and preview pages…

Cloudflare-Page-Rule-WP-Admin

Cloudflare-Page-Rule-WP-Preview

 

11. CDN (StackPath)

I use StackPath’s CDN, but why use another CDN if you already have Cloudflare? Because…

  • StackPath has 31 additional data centers (more = faster)
  • StackPath uses faster SSD servers with 10GB connections
  • StackPath does not charge for HTTPS traffic, Cloudflare does
  • StackPath has dashboards that provide lots of information about your cached files
  • StackPath’s team helped me configure my CDN and improved my GTmetrix YSlow score by 8%, putting the “cherry on the cake” to make my report a perfect 100%
  • StackPath allows you to protect your account using a two-step authentication process; you can whitelist the IP addresses of people who are permitted to access your account

StackPath-Data-Centers

Step 1: Sign up for StackPath (they have a 30-day trial).

Step 2: In the dashboard, click the CDN tab, then create a StackPath CDN Site

StackPath-CDN-Tab

StackPath-CDN-Domain

StackPath-Server-IP-Address

CDN-URL-StackPath

Step 3: Copy your StackPath CDN URL and paste into WP Rocket’s CDN CNAME(s) field…

WP-Rocket-CDN-Settings

Step 4: In StackPath go to CDN → Cache Settings, then click Purge Everything

StackPath-Purge-Cache

Step 5: Run your site in GTmetrix and “content delivery network” should be green in YSlow.

CDN GTmetrix YSlow

If you expand items in GTmetrix and are related to your CDN, contact StackPath’s support who should be able to help you fix these. They did this for me and have outstanding support.

Cookie Free Domains MaxCDN

GTmetrix YSlow Without StackPath
GTmetrix YSlow Without MaxCDN
GTmetrix YSlow With StackPath
GTmetrix YSlow With MaxCDN

Troubleshooting StackPath

 

12. Whitelist IPs

StackPath, Cloudflare, and your server all of IP address(es) that need to be whitelisted in order for these to work correctly and prevent your firewall from blocking each other’s IP addresses.

List Of IP Addresses

Locate Your Server IP – this is found in your cPanel (Google instructions for your host).

Server-IP-Address

Whitelist Server IP In StackPath – follow StackPath’s instructions (WAF → Firewall)…

StackPath-Whitelist-IP

Whitelist Server IP In Cloudflare – go to Cloudflare’s firewall settings and do the same thing.

Cloudflare-IP-Whitelist

Whitelist StackPath/Cloudflare In Hosting Account – contact your host to see if they can whitelist Cloudflare and StackPath IPs since most hosts don’t allow you to do whitelisting.

 

13. Lazy Load Videos/Iframes

Delays loading of videos until you scroll down the page and they become visible. I was able to reduce the load time of multiple posts by about 6s just by enabling this (since videos are a heavy element). You can do this with photos too but the constant loading can be annoying so I have it disabled. If not using WP Rocket, you can do this using the Lazy Load For Videos plugin.

If using WP Rocket, enable lazy load in the “Media” settings…

WP-Rocket-Lazy-Load

Replace YouTube Iframe With Preview Image – this only loads videos once people click the play button, potentially shaving multiple seconds off content with videos. You can do this WP Rocket, or follow this light YouTube embed tutorial. You will basically paste a code into your web template, paste some more code into your CSS, then embed each video using a “div” code.

 

14. Serve Scaled Images

Images can be optimized 20 ways, but these are the main 3. You can run any page through GTmetrix and it will show all unoptimized images for that page. Start with images that appear on multiple pages (logo, widget/footer images) then optimize images on your individual pages.

image-optimization

Serve Scaled Images – resize large images to be smaller. GTmetrix tells you the correct dimensions. Just click the image in GTmetrix, resize it to the new dimensions, and replace it.

serve-scaled-images

Create a cheat sheet so you can use the correct dimensions BEFORE uploading your images…

  • Slider images: 1903(w) x 400(h)
  • Carousel images: 115(h)
  • Widget images: 414(w)
  • Fullwidth blog post images: 680(w)
  • Featured images: 250(w) x 250(h)

Never use the ‘drag to resize’ feature in the visual editor since this only resizes the displayedimage (not the actual image). It’s best to resize to the correct dimensions before uploading it.

 

15. Specify Image Dimensions

Specify Image Dimensions – means you need to specify a width and height in the image’s HTML or CSS. This usually happens in your widgets, HTML, or CSS sections of your website since the visual editor takes care of this automatically. GTmetrix will again provide you with the correct dimensions, then you need to locate that image and specify the width + height…

Specify Image Dimensions

 

16. Losslessly Compress Images

Optimize Images – losslessy compress images using Imagify or Kraken (both are free until you reach the monthly limit). There are other completely free plugins with unlimited compressions, but do NOT use these since they have bugs, won’t work, or can break images.

  1. Sign up for Imagify
  2. Install the Imagify Plugin
  3. You will be prompted with the instructions below:
  4. Enter your API key from your Imagify account
  5. Set your compression level (normal, aggressive, ultra)
  6. Imagif’em all (photo below) with bulk optimizes all images on your site
  7. Once you’ve reached your limit, pay $4.99 or wait next month to reset your limit

imagify

Once signed up, bulk optimize all images on your site…

imagify-wordpress-image-optimization

 

17. Save Images In Correct Format

Using The Correct PNG/JPEG Format – PNG is uncompressed (larger file size) and should be used in simple images with not a lot of colors. JPEG is a compressed (smaller file size) which slightly reduces image quality but is smaller in size, and is used in images with lots of colors.

 

18. WP Disable

WP Disable lets you disable settings in WordPress that consume CPU and slow down your site. It also has options for heartbeat control (if you remember the actual heartbeat control plugin, you can now delete it and just use this)… as well as a few other options that can speed up your website/admin panel. Go through the settings and simply disable what you don’t use…

Tips On Using WP Disable

  • Disable EVERYTHING you don’t use
  • Scheduling spam deletion is a good idea
  • Emojis, Google Maps, and Gravatars take a long time to load
  • Pingbacks and trackbacks aren’t usually worth the extra resources
  • Set post revisions to 3-5 so you have backups, but you don’t need hundreds
  • Miscellaneous options in the “request” tab can further your improve load times

WP-Disable-Requests

WP-Disable-Tags-Settings

WP-Disable-Admin

/WP-Disable-SEO.

WP-Disable-Others

 

19. Host Google Analytics Locally

There may be multiple items in your GTmetrix report related to Google Analytics…

Leverage-Brower-Caching-Google-Analytics

You can fix this by enabling the Google Tracking option in WP Rocket’s Add-Ons tab…

WP-Rocket-Google-Tracking

Or you can use WP Disable. In the right side of the settings, there’s an option to enter your Google Analytics UA code. Whichever method you choose, be sure to delete any other tracking codes and Google Analytics plugins, and make sure your analytics are still working.

WP-Disable-Google-Analytics-Local

 

20. Minimize Plugins

Have you deleted the Hello Dolly plugin and WordPress Importer? How about replacing that Twitter plugin with a Twitter widget or that Facebook plugin with a Facebook widget? Instead of using a Google Analytics plugin why not insert the tracking code directly in the footer (or even better, host it locally)? Yoast generates an XML sitemap for you so the Google XML Sitemaps plugin isn’t necessary. Go through your plugins and deactivate/delete the ones you don’t need. You should also avoid using 2 separate plugins if they have duplicate functionality.

 

21. Avoid High CPU Plugins

Most slow plugins include social sharing, gallery, page builders, related post, statistic, live chat, and plugins that run ongoing scans/processes or show multiple times in your GTmetrix report.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. Backup Buddy (use UpdraftPlus)
  4. Beaver Builder
  5. Better WordPress Google XML Sitemaps
  6. Broken Link checker (use Dr. Link Check)
  7. Constant Contact for WordPress
  8. Contact Form 7 (load JS + stylesheet only when necessary)
  9. Contextual Related Posts
  10. Digi Auto Links
  11. Disqus Comment System (use Disqus Conditional Load)
  12. Divi Builder
  13. Essential Grid
  14. Fuzzy SEO Booster
  15. Google XML Sitemaps
  16. Jetpack
  17. NextGEN Gallery
  18. NewStatPress
  19. Really Simple Share
  20. Reveal IDs
  21. Revolution Slider
  22. ShareThis
  23. S2 member
  24. SEO Auto Links & Related Posts
  25. Similar Posts
  26. Slimstat Analytics
  27. SumoMe
  28. Talk.To
  29. Ultimate Social Media & Share
  30. VaultPress
  31. Wordfence (disable live traffic reports)
  32. WordPress Facebook
  33. WordPress Related Posts
  34. WordPress Popular Posts
  35. WP Bakey (formerly Visual Composer)
  36. WP Statistics
  37. WP Power Stats
  38. WP-PostViews
  39. WPML (if you use too many extensions)
  40. wpCloaker
  41. WPML
  42. Yet Another Related Post Plugin
  43. Yuzo Related Posts

You can also use the GTmetrix waterfall tab to see slow plugins…

Slow-WordPress-Plugin

 

22. Disable Unused Plugin Settings

Go through each of your plugins and decide which settings you can turn off (this will lower CPU). For example, in Yoast under Settings > General > Features I disabled the following…

Yoast-Feature-Settings

Examples

  • Wordfence’s live traffic reports
  • Broken Link Checker’s ongoing scans
  • Chat and calendar plugins that run constantly
  • Statistical plugins that constantly collect data
  • Related post and popular post plugins that store tons of data
  • Disable ALL settings you don’t use since many will consume CPU

 

23. Lightweight Plugins

Social Sharing – WP Rocket’s test showed Social Media FeatherMonarchSimple Shared Buttons Adder, and MashShare had the least amount of requests and fastest load times.

Backup – UpdraftPlus.

Sliders – SoliloquyLayerSlider, or Meteor Sliders.

Comments – Disqus Conditional Load.

Portfolio – Envira GalleryFooGallery, or The Grid.

Analytics – Google Analytics and Search Console should be plenty. Just make sure you’re hosting Google Analytics locally (using WP Rocket or WP Disable).

Page Builders – WordPress Page Builder by MotoPress, but no page builder runs faster than the native WordPress Editor. Combine this with the Duplicator plugin and you shouldn’t need a page builder (including page builders built-in to WordPress themes). Unless your team absolutely refuses to learn a little HTML (the easiest coding language), avoid page builders.

StudioPress Plugins – lightweight plugins for the Genesis Framework.

 

24. AMP (Accelerated Mobile Pages)

Accelerated mobile pages (AMP) are a recent Google project that make your mobile pages load faster while adding that nice “AMP” stamp to your mobile snippets. This is done through the AMP plugin which will affect the design of your mobile site (looks decent in my opinion) but I suggest trying it out, see if you like it, then keep it or simply delete the plugin if you don’t.

amp-pages

Instructions

Cloudflare Accelerated Mobile Links

A common issue is featured images appearing on the top of posts when you might not want them too. There is a work around for this, but it’s not perfect. You can either have no featured image, or you can set a default featured in Yoast under SEO → AMP → Design → Default Image. That default image will show if NO featured image is set, but if one is, that is what will show on the top of the post. You can read Yoast’s AMP guide but I basically just summed it up.

 

25. Optimize Gravatars

Gravatars take a LONG time to load especially if you have lots of blog comments (try running a post with comments through GTmetrix and you’ll see how bad it gets). You have a few options:

  • Optimum Gravatar Cache is the only plugin that actually worked. I have gone years with Gravatars disabled and tested literally so many plugins – my developer came across this and I can finally show Gravatars without it affecting my GTmetrix report
  • Disable Gravatars completely
  • Set your default Gravatar to blank
  • Delete comments that don’t add value
  • Set your default Gravatar to a custom image on your server
  • Restrict your Gravatar images to smaller dimensions (e.g. 32px)
  • Paginate comments in WP Disable to only show 20 comments at a time
  • Try caching Gravatars using the FV Gravatar Cache or Harrys Gravatar Cache plugin

 

26. Avoid Google Maps

Google Maps are notorious for causing slow load times, and when it’s in your footer it has to load on every single page/post on your website. Probably just use it on your contact page?

 

27. Avoid Advertisements

Google AdSense and other advertising networks will usually slow down your site (tremendously) since they make requests to other servers to show those ads. And if those servers aren’t optimized to load fast they will ruin your load time and GTmetrix report. I recommend using affiliate links instead since they don’t add to your load time and are more personal – almost always resulting in more $. You can minimize the amount of ads and make sure your advertisers are on fast servers, but you will still probably see the issues in GTmetrix.

GTmetrix-Advertisements

 

28. Check AWStats For High CPU

AWStats is a tool built-in to most hosting cPanels that provides statistics on CPU usage. It tells you whether certain bots, images, downloaded files, and even IP addresses are consuming a lot of CPU. You can also use the WP Server Stats plugin but I think AWStats does an awesome job.

AWStats helps you find:

  • High bandwidth crawlers
  • High bandwidth IP addresses
  • High bandwidth download files
  • High bandwidth files (eg. images)
  • Total bandwidth usage (for monitoring)

Monthly-Bandwidth

 

29. Limit Crawlers/Spiders

Search engine crawlers/spiders usually consume the most CPU/bandwidth..

Robots-Spiders-Bandwidth

Wordfence has crawl rate limiting rules that block fake Google crawlers, limits crawler page views, limits human’s page views, and other rules that limit CPU usage and blocks spammers.

Wordfence-Rate-Limiting

Googlebot is usually the most resource-hungry bot. In the site settings of Google Search Console you can limit the crawl rate but this is only recommended if it’s causing high CPU.

Crawl-Rate-Google-Search-Console

You can do the same thing in the crawl control settings of Bing Webmaster Tools

Bing-Crawl-Control

If spammy bots are crawling your site in AWStats, I recommend adding this file to your .htaccess which blocks tons of known spam bots including Ahrefs and statistical websites.

2018 Bad Bots .htaccess List from HackRepair.com

 

30. Defer Parsing Of JavaScript

Backup your functions.php file then add this code to it – then you’re done. Double check your site to make sure everything looks/functions properly. If this still doesn’t fix the item in Pingdom, try the Scripts To Footer Plugin. This step can require testing and using different code variations but I borrowed the code from this article if you want more clarification.

if (!(is_admin() )) {
function defer_parsing_of_js ( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.js' ) ) return $url;
// return "$url' defer ";
return "$url' defer onload='";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
}

 

31. Add Expires Headers

Most cache plugins should take care of this automatically when you enable browser caching (like WP Rocket and W3 Total Cache). But if ‘add expires headers’ still appears in your Pingdom report under the YSlow tab, add this code to the top of your .htaccess…

<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/css "access plus 60 days"
ExpiresByType text/javascript "access plus 60 days"
ExpiresByType image/ico "access plus 60 days"
ExpiresByType image/jpg "access plus 60 days"
ExpiresByType image/jpeg "access plus 60 days"
ExpiresByType image/gif "access plus 60 days"
ExpiresByType image/png "access plus 60 days"
ExpiresByType text/css "access plus 60 days"
ExpiresByType text/html "access plus 60 days"
</IfModule>

 

32. Remove Query Strings From Static Resources

This item has been a pain in the ass for a lot of people (including me). Thankfully a few recent updates have been made by the most popular cache plugins that allow you to easily fix the ‘remove query strings from static resources’ item in your GTmetrix and other speed reports.

WP Rocket has an option for this in the “file optimization” tab…

Remove-Query-Strings-From-Static-Resources

W3 Total Cache has an option for this under Performance → Browser Cache, then enable the setting “Prevent caching of objects of settings change”…

Remove Query Strings From Static Resources

WP Disable has an option in the “requests” tab…

Remove-Querystings-WP-Disable

Remove Query Strings From Static Resources Plugin – you can also try this free plugin.

 

33. Minimize Redirects

Usually means you changed the www or http version of your website but didn’t change your links/images to reflect this. Try using the Better Search & Replace plugin to fix them in bulk.

minimize redirects

 

34. Use a Lightweight Theme

If your WordPress site has been slow since the beginning, it’s probably either your hosting or theme. I remember developing a website using the Law Business theme and it was SO SLOW I had to scratch the entire website and start over using the Executive Pro theme by StudioPress. This is due to poor coding by the theme developer or too many unnecessary built-in features.

StudioPress themes are lightweight (they load fast), responsive, HTML5, secure, and reliable (they won’t crap out or get discontinued like some ThemeForest themes). They are used by over 200,000 people, their themes are built in the Genesis Framework (recommended by Yoast and WordPress founder Matt Mullenweg), plus they have lightweight Genesis plugins.

I know you don’t want to change your theme. But if your design sucks anyway, a StudioPress theme can be a game changer. I wrote a review on StudioPress if decide to look into them.

studiopress-themes

 

35. 1 Website Per Hosting Account

You only have a limit amount of server resources on your hosting account. Hosting too many websites will slow them down especially if they have lots of traffic, require resource-hungry plugins, or just consume a lot of CPU in AWStats. Either only host 1 website per account or make sure your plan has enough server resources to properly accommodate your websites.

 

36. Keep WordPress Updated

Update WordPress core, theme, plugins, and framework if you use one (eg. Genesis).

WordPress Updates

Check your hosting cPanel to see if there’s an option for automatic updates…

SiteGround WordPress Autoupdates

Genesis Framework also has an option for this…

Genesis Automatic Updates

 

37. Find Your Slowest Loading Pages

You can use Google Analytics to find the load times (and recommendations) for your top viewed pages and slowest loading pages. Login to Google Analytics and on the left, go to Behavior → Site Speed → Speed Suggestions. Click the ‘Page Speed Suggestions’ to see recommendations, though I would say GTmetrix recommendations are usually better.

Speed-Suggestions-Google-Analytics

 

38. Hire My WordPress Speed Optimizer

Still need help with your GTmetrix/Pingdom report? I’ve been working with Pronaya for 7 years (he’s the one who helped me get a <1s load time in Pingdom). You can hire him by creating a profile on freelancer.com and searching for username bdkamol. Here is his full WordPress speed portfolio. He’s $40/hour from Bangladesh (so there is a time change) and you can email me at info@danimaster.com. He also has a perfect 5 star review on his profile. Serious inquiries only, and please don’t expect 100% scores if you’re using slow hosting, a bloated theme, and tons of heavy plugins. Please follow this WordPress speed guide first.

Pronaya-Kumar-S-Reviews

Here are some reviews on his profile…

I hope this was helpful!

PostBDkamol-WordPress-Speed-Reviews your new GTmetrix/Pingdom scores in the comments and let me know 🙂

Cheers,
Tom

Free Download WordPress Themes
Download Nulled WordPress Themes
Free Download WordPress Themes
Free Download WordPress Themes
free download udemy course
download coolpad firmware
Download Nulled WordPress Themes
ZG93bmxvYWQgbHluZGEgY291cnNlIGZyZWU=

      Dani Master