Why Trying to Get 95+ on Google PageSpeed Insights for Your WordPress Site Will Drive You Mad!

For the past few weeks I’ve been working on my WordPress site in an attempt to reach 95+ on Google PageSpeed Insights.

I thought it would be easy. “All I need to do is make a few tweaks here and a few optimizations there,” I told myself. “Smush my images and set expire headers; install W3 Total Cache and all will be sweet. A piece of cake.”

How wrong was I.

The closest I got was 91. Just four freaking point away! I facepalmed and tried again. And again and again and again with different hosts, themes, plugins, tweaks… But no matter what I tried I couldn’t reach that elusive 95.

Still, 91 ain’t so bad, right? It’s certainly a step up from the 74 I started out with.

In this post I’ll go through the various measures I put in place on my test sites to achieve a score of 91/100 on PageSpeed Insights.

The Results

Before we get started, let’s go through the results.

After experimenting with various web hosts, themes, plugins and code, I achieved my highest score with WP Engine using the Frank theme. As WP Engine bans the use of W3 Total Cache, I was unable to use that plugin but was able to use other plugins, such as Autoptimize, Minit and Remove Query Strings From Static Resources.

Unfortunately, I was only able to reach 79/100 for mobile. My goal was to reach a desktop score of 95+, so this post will focus on the measures I used to try to achieve that.

Pagespeed Insights final score
Scoring 95+ on PageSpeed Insights isn’t exactly a piece of cake.

My final score on Pingdom Website Speed Test:

Pingdom final results
Just four requests and a quick load time.

My final score on GTmetrix:

GTmetrix final score
GTmetric scored me down for not having a CDN.

Why Site Speed is Important

When someone lands on your site, you only have a few seconds to grab their attention and convince them to hang around and not bounce.

Quality content and a good-looking theme are important, but if your page loads slowly, you could lose people before they even get a chance to see your content.

According to Kissmetrics, nearly half of web users expect a site to load in two seconds or less, and they tend to abandon sites that don’t load within three seconds. A total of 79 per cent of online shoppers who have trouble with site performance won’t return to the site to buy again and about 44 per cent of them would tell a friends if they had a poor experience shopping online.

While site speed is one of more than 200 signals Google uses to determine search rankings, and fewer than 1 per cent of search queries are affected by the site speed signal, it’s conversions that you need to worry about. A fast site will give your visitors confidence in your product or service and convince them to hand over their cash.

What is Google PageSpeed Insights?

Google PageSpeed Insights is a frustrating handy tool that analyzes your site’s front-end performance and offers optimization suggestions.

It scores your site from 0 to 100 points, with a score of 85 or above indicating a page is performing well.

PageSpeed Insights measures who a page can be improved based on:

  • Time to above-the-fold load: Elapsed time form the moment a user requests a new page and to the moment the above-the-fold content is rendered by the browser.
  • Time to full page load: Elapsed time from the moment a user requests a new page to the moment the page is fully rendered by the browser.

So how does PageSpeed Insights evaluate your site? It looks at the network-independent aspects of page performance: server configuration, the HTML structure of a page, and its use of external resources such as images, Javascript and CSS.

Testing your site with PageSpeed Insights can be an eye opener for anyone who hasn’t bothered to optimize their site, and also offers a great starting point for those looking to improve site performance.

Having said that, it can also send you into an unnecessary panic when a site returns lower than expected scores, or suggestions that counter measures you have put in place on your site.

Trying to Get 95+ on Google PageSpeed Insights

So let’s go through some of the measures I tested on my test sites.

Benchmark Your Site

First thing’s first: benchmarking.

PageSpeed Insights is just one popular speed test site. In order to get a more rounded view of how my test sites performed, I also used Pingdom Website Speed Test and GTmetrix each time I put a new measure in place.

My first test site was a fresh WordPress install with Bluehost, complete with imported theme test data, the Twenty Fourteen theme and various plugins you might find on a typical WordPress install, such as Akismet and Jetpack, as well as contact form, SEO and Google Analytics plugins.

My first pass at PageSpeed Insights returned:

Pagespeed Insights
So slow… The mobile score was 66.

My first pass at Pingdom Website Speed Test returned:

Pingdom
Not a terrible score, but not fantastic either.

My first pass at GTmetrix returned:

GTmetrix
While my score looks good, my site is making too many HTTP requests.

Choose a Fast Web Host

PageSpeed Insights looks for a server response time under 200ms, so if you’re on a shared server you’re going to struggle with this one.

A cheap web host offering monthly plans for $3.95 complete with unlimited page views and unlimited space might seem like a bargain, but the trade off is usually slow site speeds and frequent down time during high traffic periods.

If you want your site to be lightning fast and ensure your site performs well, you need to invest in a decent web host. If you really want your site to be site, you may want to look at hosting packages that aren’t on a shared server.

For advice on web hosts, check out our web host review series and find out who we named the best web host.

I set up my initial test site with Bluehost. Yes, I know, Bluehost isn’t exactly well-known for its speed. The slow server response when I tested the site reflected as much:

Pagespeed Insights slow server

I set up an identical site with Dreamhost. The speed was so absolutely abysmal I couldn’t even load the site most of the time, forcing me to look to other hosts.

I also tested VentraIP, an Australian web host, which returned similar results to Bluehost.

But the test site I had the most success with was hosted with WP Engine, a managed hosting service for WordPress. I was able to achieve a server response time below 200ms.

Use a Good Caching Plugin

Caching your content can dramatically improve your site’s load times. W3 Total Cache is by far the most popular caching plugin available with almost 3.5 million downloads. It offers browser, page, object, database, minify and content deliver network caching support.

It’s easy to set up, but if you run into any trouble WP Beginner has a great guide on how to configure the plugin.

I set up W3 Total Cache, taking care to select options to minify my CSS and Javascript files, set expire headers and Gzip my site. My PageSpeed Insights score immediately jumped seven points.

Optimize Your Images

WP Smush.it
WP Smush.it is WPMU DEV’s most popular free plugin.

High resolution images take much longer to load than optimized images, and unnecessarily large files can drastically slow down page speed.

WPMU DEV offers a fantastic (free!) plugin called WP-Smush.it. When you bulk smush images with this plugin, you’ll find the size of your images will be hugely reduced without compromising visual quality.

While we’re on the topic of images, lazy loading images can also improve page speed.Check out my review of 6 Lazy Load Plugins to Make Your WordPress Site Faster for plugin recommendations.

Optimize Your Homepage

There are some easy ways to further speed up your site:

  • If you publish blog posts on your homepage, publish only excerpts or summaries and reduce the number of posts to five or less.
  • Keep widgets to a minimum. Only use widgets that are absolutely necessary.
  • Remove inactive or unnecessary plugins.

Overall, a clean and focused site design will help your page not only look good, but load quicker as well.

Choose a Fast and Lightweight Theme

Frank theme
The Frank theme is built for speed.

I found the Twenty Fourteen theme offered more features than In need on my site so I went in search of a simple, minimalistic theme. I found Frank, a theme designed especially for speed.

The parent’s theme’s default homepage makes nine database queries and consists of just two HTTP requests, weighing about 29kb.

This theme is super lightweight – no Javascript frameworks and no unnecessary images, just a simple and responsive theme.

After installing Frank theme, the number of HTTP requests needed to load my site reduced from 31 to just four.

Remove Query Strings

When I run my test sites through Pingdom and GTmetrix, they flag the unnecessary loading of static content with query strings, such as stylesheets and Javascript files.

This is a problem as many proxies will not cache the resources if it has a query string in the URL.

There are a couple of simple ways to remove query strings:

I successfully tested both methods, but found the plugin was more convenient as I didn’t have to meddle with code and I could quickly activate and deactivate the plugin.

Minify and Combine

W3 Total Cache offers settings to minify and combine CSS and Javascript, though after tweaking said settings PageSpeed Insights continued to tell me I needed to minify certain files. So I installed and activated Minit.

Minit is a lightweight plugin by developer Kaspars Dambis. It combines CSS files and Javascript files.

After installing this plugin the PageSpeed Insights stopped prompting me. Problem solved.

Enable Compression

Gzipping your site can load your pages faster and reduce the size of your files by up to 70 per cent.

There are several ways you can enable Gzip on your site:

  • W3 Total Cache includes an option to enable Gzip. Go to Performance > Browser Cache > General.
  • Edit your .htaccess to enable Gzip. Just add the following to your .htaccess file:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
AddType image/png .png

Thanks to Softstribe for the above snippet.

I found W3 Total Cache worked fine on my test sites, though for the WP Engine site I didn’t use Gzip as WordPress Gzip Compression is a disallowed plugin.

Optimize Your WordPress database

Keeping your database tidy and in order can help keep your site running smoothly, especially if you’ve been experimenting with and deleting plugins and have unnecessary database entries.

There are a couple of plugins that can help you do this:

  • WP-Optimize comes with many options for extensively cleaning up your WordPress database and optimizing it without doing manual queries. It can remove spam and un-approved comments, empty the trash, remove trackbacks and pingbacks and can run automatically.
  • WP-DB Manager allows you to optimize your database, repair it, back it up, restore, delete backup, drop/empty tables and run selected queries. This plugin also supports automatic scheduling of backing up, optimizing and repairing of database.

I found WP-Optimize was easy to use and offered more functionality than WP-DB Manager.

Use a CDN

If you’re serious about speeding up your site, you may want to consider signing up to a content delivery network (CDN).

A CDN will drastically reduce server lag by storing static resources on a network of fast loading servers. We use one for the WPMU DEV site.

Cloudflare and MaxCDN are a couple of popular options, though if you don’t want to pay for an ongoing service you may want to trial Cloudflare’s free service.

Cloudflare
Cloudflare offers a CDN with servers set up around the world.

The only drawback with using a CDN is that it can decrease your PageSpeed Insights score… which is, obviously, counterintuitive to anyone seeking to improve their site’s performance.

The reason for this lies in PageSpeed Insights’ front-end-only analytics.

Implementing a CDN can add JavaScript to your site, which tells PageSpeed Insights that your site may be slower.

It could also be that the CDN sets a cookies and your code is no longer hosted on a cookie-less domain, also bringing down your score.

So what’s the benefit then of having a CDN? While fast scores aren’t reflected in PageSpeed Insights’ front-end scores, a CDN is still a valuable tool in improving backend site speed, which PageSpeed Insights doesn’t analyze.

Summing Up

I admit defeat. A total score of 91/100 is the highest I can achieve on PageSpeed Insights.

Yes, attempting to beat the system made me frustrated and maybe even a little batty, though overall I learnt much.

There are many measures, all outlined above, that you can put in place on your site to improve its performance.

PageSpeed Insights, while maddening, offers a good indicator of whether you are on the right track when attempting to speed up your site.

Similarly, Pingdom and GTmetrix shouldn’t be ignore. Both offer helpful insights and more detailed information on how you can improve performance.

If you want to score highly, it’s best to experiment with a range of measures and see what works best for your site and server setup. After all, every situation is different.

What score does your site get on Google PageSpeed insights? What measures did you put in place to achieve it? Tell us in the comments below.

Image credit: xmodulo.

71 Responses

    Richard

    For such a small website with 4 request and only 72kb in size 2 seconds load time would definitely be unacceptable for me.

    halasyt

    Over 2 seconds? That’s really bad.

    This just shows that these quality scores don’t mean anything at all.

    Page load speed is much more important than any score you’ll get, or how many requests you have…

    Ovidiu

    I run my own server and all my customers automatically get the benefit of fastcgi_cache with nginx and ngx_pagespeed which automatically implements most of Google Pagespeed’s suggestions.
    Bottom line, customers don’t need to do (almost) anything, their sites get auto-optimized to a certain degree.

    Here is an example: https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.prime-solution.co.za%2F&tab=desktop

    100/100 for Desktop – doesn’t work on the first run though, as it needs to be optimised and cached so try 2-3 times and you’ll see…

        Ovidiu

        Thanks. Its a random client I host with no particular “tuning” done except for a decent ngx_pagespeed configuration…

          oviliz

          Salut Ovidiu, poti sugera ceva legat de o decenta configurare ngx_pagespeed? Am activat si eu nginx si pagespeed pe un VPS cu CentOS si Plesk si sunt destul de multumit. Insa, nu sunt un expert, si eram curios cum ar trebui facut-a o configurare optimala, ce criterii trebuiesc considerate, etc.
          Multumesc.

          Hi Ovidiu, can you suggest something about a decent ngx_pagespeed configuration please?
          Thanks.

            Ovidiu

            Going to reply in English, might benefit more people. You basically need nginx-extras as it contains ngx_page_speed (I get mine from dotdeb.org since I’m running Debian)

            The config is simple to start with (here is mine with comments – I tend to forget things so I comment stuff ;-)
            You basically enable the CoreFilters and then check your sites
            functionality. If it is all good then you can start enabling extra filters one by one and check their effects on your site…

            ## read up for more info on filters: https://developers.google.com/speed/docs/mod_pagespeed/config_filters#level
            ## activating ngx_pagespeed
            pagespeed on;

            ## needs to exist and be writable by nginx next line sets the size
            pagespeed FileCachePath /var/cache/ngx_pagespeed_cache;
            pagespeed FileCacheSizeKb 512000;
            ## below is the default to check cache every hour
            pagespeed FileCacheCleanIntervalMs 3600000;

            ## this line enables the CoreFilters a good basic starting point
            pagespeed RewriteLevel CoreFilters;
            ## this line enables extra filters in addition to the CoreFilters
            pagespeed EnableFilters collapse_whitespace,insert_dns_prefetch,move_css_to_head,rewrite_style_attributes,defer_javascript,insert_image_dimensions,sprite_images,outline_javascript,prioritize_critical_css,inline_google_font_css,outline_css;
            pagespeed DisableFilters inline_css,inline_javascript;
            ## don’t modify anything in the back end and disable certain files
            pagespeed Disallow *wp-admin/*;
            ## block certain URLs with wild cards
            ## pagespeed Disallow *stars/starrating/stars*.png;
            ## pagespeed Disallow *jquery.beforeafter*instruite.min.js*;
            pagespeed AvoidRenamingIntrospectiveJavascript on;
            pagespeed InPlaceRewriteDeadlineMs 15;
            ## This is a temporary workaround that ensures requests for pagespeed
            ## optimized resources go to the pagespeed handler.
            ## Ensure requests for pagespeed optimized resources go to the pagespeed
            ## handler and no extraneous headers get set.
            location ~ “\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+” { add_header “” “”; }
            location ~ “^/ngx_pagespeed_static/” { }
            location ~ “^/ngx_pagespeed_beacon$” { }
            location /ngx_pagespeed_statistics { allow all; }
            location /ngx_pagespeed_global_statistics { allow all; }
            ## needed for below line
            pagespeed MessageBufferSize 200000;
            location /ngx_pagespeed_message { allow all; }
            ## needed for below line
            pagespeed Statistics on;
            pagespeed StatisticsLogging on;
            pagespeed LogDir /var/log/pagespeed;
            pagespeed StatisticsLoggingIntervalMs 60000;
            pagespeed StatisticsLoggingMaxFileSizeKb 1024;
            location /pagespeed_console { allow all; }

    hayden

    I did manage to get the good old 85/95 score on Google Pagespeed insights a while back but after a while I kinda let it go and as liong as i have over 80 i am generally happy.

    For the record I achieved it without using any caching plugins whatsoever and had my own theme that I designed from using htmlblank theme

    My own results can be seen here
    http://www.sitedesignadviser.com/achieved-8595-score-google-pagespeed-insights/

    I think it would be easy enough for me to grab rthe same marks again if I tried. My secret sauce is a plugin caused autoptimize! then of course manually checking my htaccess and doing a bit of spring cleaning every day.

    Must get back on it and get my speed back up. :)

    Should be noted I was on managed hosting at the time but i see no real reason why shared hosting cannot achieve the same results.

    Hayden

    Daniele

    Thanks for posting, I was also working today on optimization.
    I tried minit but it breaks my theme slider.

    What about expires headers, isn’t faster to set them via .htaccess rather than plugin?

    kanishk_kunal

    Great Post Raelene!

    In my own quest to achieve the perfect score on Google PageSpeed and GTMetrix, I built my own theme for wordpress called “Fastr” which has been previously covered by wpmudev also for medium inspired themes. (Although it’s Ghost inspired theme)

    For Google PageSpeed, I achieved a score of 94/100 on desktop and 90/100 on mobile using the theme demo site which is available at http://fastr-demo.themes.kanishkkunal.in/

    “Fastr” is available for free in wordpress theme directory and is also available on github.
    http://wordpress.org/themes/fastr

    May be try once again with this theme and see if Google PageSpeed score improves for you. :)

    Aaron

    Just to mention, if you are any kind of a normal website, you’ll be lucky to get 80. You have GA tracking code, numerous external js/css files for things like social share buttons, Gravatars. All of those lower your score, and you have no control over them and their compression or expires headers. Example Pagespeed complains about my google+ script served by google.com for not being cached!

    Also I hate the “Eliminate render-blocking JavaScript and CSS in above-the-fold content” warning. If you have any kind of plugins installed, or anything that needs css it can’t be solved really.

    https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fpremium.wpmudev.org%2Fblog%2F&tab=desktop

      Raelene Wilson

      You’re right on the money. I didn’t mention it in the post, but another test site I had was using social share buttons and Twitter in particular was bringing down my PageSpeed score.

      I gave up on the “Eliminate render-blocking JavaScript and CSS in above-the-fold content” warning. It’s just impossible to get rid of it.

    Brashell

    A wise word of advice, don’t listen to google page score. Just plain and simple. My site loads a lot of data, over 3MB worth when you initially load. BUT with compression, minification, me fixing all of the wp_enqueue (Don’t try that unless you know what your doing) to only load when content needs it, caching queries, etc etc, I am down to under 3 second, usually 2 – 2.5 sec. Now with all of the above my page is under 1 MB of data a majority of the time without images. It tends to go over with images and videos etc. So why does my site seem so “slow”? Well, it isn’t. Time to first byte adds a bit because it is compressing so much, which is ok because it loads faster then you think. If you grow impatient loading your site, then there is a problem. Otherwise, your probably fine. This three second rule is right, trying to get to two seconds is extremely difficult. If you feel your website is snappy, so will others. Some of the techniques will also slow your site, i.e. massive file minification which I encountered not to long ago, also forcing files in the header because it has to render, and then render again with files at the top. Also combining all your files to make a 1MB JS file isn’t good either. Its better and faster to have 4 js files. A browser can on average make 4 requests to your site at the same time, meaning you get 4 js or css files at once vs waiting for the first to completely load. Don’t rely on your browser time or anything like that, it tends to be inaccurate as many pages load more file even after you can view the site, so it seems longer. Eyeball it with a timer, its easier that way. Don’t compress images, it almost always ends up taking longer. Use a PHP accelerator, my preference is Zend OPcache over APC, others will argue the other way around, benchmarks prove different. Sorry for the poor structuring and argument of this comment, to tired to think much but you all hopefully get the point of where I am going with this.

      Brashell

      1MB is just an idea reference, not an exact number, also many browsers can’t cache larger files. Also, think about it like this, since it can download 4 at once, wait for 1 or do it four times faster. See what I am saying? Same size, and faster, I use Better wordpress minify for JS files to split em up into 4. I use autoptimize for css and html compression.

      Timothy

      I see your comment here, I then took a look in our admin searching your name but don’t find anything else.

      [EDIT]

      I found your comment, it was marked as spam by Akismet. I presume because of the link in your comment.

      I marked you as not spam :)

        mauricio_macas_ochoa

        Thanks for you reply, but my comment still appears: Your comment is awaiting moderation.

        Best regards.

    john_birchall

    Cloudflare is great for a free service. To some extent you get what you pay for and I stopped using partly because it slowed down my sites, but it was by no means bad.

    For users (like Google) who are not logged in, caching your main HTML page by installing Varnish (or ningx as cache) is one of the best options for getting a CMS to serve pages very fast. Cloudflare does not do that. If you set it up to do so, Varnish can store your pages in RAM, so it does not even have to read them from disk. Getting Varnish working well does cost a little more (although the software is free), but it does not break the bank. It would be an amazing achievement to live in the 95+ region alongside the people who spend millions on hosting, without a little custom work of that kind.

    jason_crawford

    Thanks for the good article. Probably one of the best to come from WPMU in a while.

    I tested a few of the things you recommended on my travel blog. It’s a photo intensive blog and it’s being run on cheap shared hosting. I also did not change my theme which is not exactly the most minimalist out there.

    But I was also able to reach 91. To be honest though, testing with the same factors ranged from 85 to 91 depending on how quickly the server responded and that’s hard to account for on shared hosting.

    I only played with a few of the suggestions that I hadn’t considered in the past and moved from the 80-85 range to 85-91. So thanks for the great advice!

    miss2s

    Thanks Raelene … reminded me of checking my speed.

    I must have the worst site ( http://www.fabulous-femme.com )in the universe … my score is 49 at Google Page Speed … Noooo!!!

    I love my big images (they are all 1160px wide and there are lots of them … lots … :-) In some way I don’t want to sacrifice on image quality.

      jason_crawford

      Hey Miss2s,

      I did a quick look over your site on some things. It’s a great looking site, but there are some improvements you can make to your speed. Your large images aren’t really the problem. Whatever you’re doing to shrink the data size has them taking up a relatively small amount of data for the size of the photos. I tested a couple and was only able to get about 12% less data out of them. However, the photos are not progressive. I recommend a tool called ImageOptim. It will make your photos progressive and simultaneously losslessy optimize them.

      That 12% reduction I got was without any loss in image quality. You may want to test it out against whatever program you’re using because your images appear to be a bit grainy for the size of them. It may just be that the standard WP 10% reduction is causing the graininess, but changing that is another topic.

      According to GTMetrix, it’s actually the photos in your quotes section that are killing your speed the most. They are actually larger than some of the main photos.

      Also, you may want to look at your caching. It looks like you’ve got some caching in place, but it’s not quite setup right.

      Good Luck!

        miss2s

        Hello Jason,

        thanks a lot for your response. Much appreciated. I tried to create a pretty page.

        I shrink the photos in lightroom … it’s not perfect but reasonable. It does a great job and I usually work with setting between 60%and 80% quality or sometimes limit the file size to “just 250kb” – this worked the best for these large images.

        I agree that there would be another 10-20% shrinking possible – this will cost a bit more time as you would need to look at each picture and not just “bulk” export them. Some will work better then others. But the 10-20% decrease in size might be worth the time. Progressive is also a great tip (will try to find this option for my new uploads).

        Thanks for pointing out the quotes section … will have a look there. As I added some text to the pics I might have forgotton the optimisation.

        Yep … I tried (emphasise: “tried”) to setup some caching with W3 Total Cache and I “use” Cloudflare (at least I think so). I am not the expert in these things and just played around a bit with the setting what made sense to me … haha … a very uneducated guess in a lot of options … these plugins have just too many options for me – I prefer taking pics :-)

        (Hey WPMU … isn’t that a great topic for an article … “The ideal W3 Total Cache setup”).

          jason_crawford

          Your CloudFlare is fine. If you’re using Lightroom, chances are you’re on Windows. I did a quick search for alternatives for ImageOptim for Windows and there were various results. This tool “appears” to be the best, but I can’t test it to be sure: http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer

          A lossless editor will reduce your images a lot more without distorting the quality. On ImageOptim I simply drag all the photos into the application once I’ve exported from Aperture and it takes care of everything. It needs about 10 seconds per photo on average, but no real work on my end. If you can find something similar it would be well worth the search time.

          Good luck!

            miss2s

            Hello Jason,

            thanks a lot for the tip. I am on Mac … so ImageOptim is great for me … looks like it’s free too :-). Looks easy enough to add the extra step in the workflow …

            I checked my W3Cache Plug in and realised not a lot of options were enabled … didn’t want to break the site back then and was very careful. So maybe by just clicking on enable all will help a bit … will give it a shot.

            Lets see if I get my speed of 49 a bit up :-). hehe … thanks …

    elmalak

    HI,
    Thank you for the great article.

    I followed some of your tips in addition to what I had before and I managed to get 86 for Page Speed insights and 94 for GTMetrix
    http://gtmetrix.com/reports/www.elmalakrx.com/ooyKhYjw

    I am always having problems with this part,
    “Eliminate render-blocking JavaScript and CSS in above-the-fold content”

    OR as GtMetrix puts it, “Defer parsing of JavaScript”

    Any idea how to fix that?

    Thanks.

    hannes_hj__rne

    Hey! Thanks for a great tutorial in how to make your wp site faster! When I try to improve my page speed and install any plugins like W3 total cache or autoptimize my page score is lowered from appr 90 to 50 in google page speed! And with autoptimize it is even error 500.. :/
    Why is that?!
    Thanks

    Hannes

    hackrepair

    Just like to add that the benefits of CDN services, like Cloudfare, et al, are not reflected in the PageSpeed Insight numbers (at least not according to my tests).

    So you might have a score of 85 in PageSpeed Insights (which should be everyone’s goal), though real world wise may have performance improvements far above the person not using a CDNS with the same score (since the PageSpeed Insights does not take the benefits of a content delivery network into account).

    In this regard, I find GTmetrix numbers are more accurate for real down and dirty testing and tuning, not to mention the “History” snapshots in GTmetrix are just so sweet and yummy to chew on.

    Otherwise, loved the article– Kudos!

    Brashell

    I wanted to throw in here as well, of you have the ability to choose your PHP handler, and have a nice chunk of memory, Fast CGI is the way to go, with Zend Opcache (APC is ok to, but requires extra setup as zend is built into PHP, and in my benchmark tests Zend performed better) and if you aren’t utilizing HTTPS you can install Varnish as well, don’t try to use all the add ons and things for varnish to use it for HTTPS as it will make things take even longer. I use Zlib as well with a compression number of 6, Autoptimize is great so long as you use it for the CSS and only the JS in the header, using it for the whole page will slow things down when it pushes it all into one file. I found that using Better WordPress Minify for JS Min and Compression, and Autoptimize for CSS and HTML compression works the best. My site load times have actually changed since enabling FastCGI and fixing Opcache so now my site loads at 1.6 seconds on average. (I don’t have Varnish installed as of the moment but it will improve the speed a lot soon, I have an SSL on one of the user accounts so I have to figure out how to get past it). Note, your gonna need a VPS with root WHM access, just compile to PHP 5.5.12, MySQL 5.6, and Apache 2.4.9, enable the Fast CGI module, and when its done compiling in step 5 at the prompt, select fast cgi as the handle and make sure SuExec is left on so it will run as user and not Apache. Remember that you can’t use DSO either, despite it being the fastest PHP handler, its not compatible with wordpress. New Relic helps as well to identify bottlenecks, beware on sites using HTTPS as well as some extra config may be required for Fast CGI, if you have a nice host though, they will help you, (I use Inmotion and they fixed the 500 errors that happened). I think this sums it up pretty good on server side though, for even basic knowledge users, if you really know what your doing, Nginx I guess would be best and it has to use FastCGI, but I don’t recommend it, unless you really know what your doing.

    m_chauhan

    The parameters you tested are good enough but we should actually look for server respond time by reducing DB connection time. Also back end language Code does matters lot which usually uses server resources to respond in delay. I seriously don’t like WP or any other CMS as they offer so many tables with so many unwanted features. I always recommend code from scratch by using best resources available in open market. Still u did great with WP page speed

      Brashell

      Your joking right? I just laughed at your post so hard, I almost passed out. WP doesn’t have many tables, your thinking Drupal, now thats a mess. WordPress does a very nice job of organizing things, and both server and frontend config i.e. minification etc are important. DB time is important to, but its how long it takes to compute that matters. Using OPcache and FastCGI will greatly speed things up, and you should be using localhost for your server as well.

    Paulo

    I found the article funny and I accepted the challenge. I’ve never worried too much about the speed because the sites are made to customers who have never questioned me about it. I chose two sites (http://universorc.com.br and http://eduwebnet.com.br) installed only 3 plugins and did not move in a line of code.

    My best result on google was 94/100. I did EVERYTHING for 95, but unfortunately I could not!
    In GTMETRIX got 97% as the best result. Website speed test and I got 100/100.

    I do not know if it interferes, but I’m in Brazil.

    Increase speed and fun and easy. Even though I still consider myself a beginner could do in 1 hour. Worth a try.

      Raelene Wilson

      Nice work. You got so close!

      It’s so frustrating getting close but not getting more than 95! The difficulty is being on a shared server and not being able to have full control over the server settings. That’s only so much you can do otherwise.

    marshall_estes

    This is an old cutline 3 column theme. Using Raelene’s suggestions I got this score on GT metrix 82 / 86 which is 20% better than it had been doing. Google was Mobile User 58/100 (it is not a mobile theme) and 72/100 speed and Desktop 87/100. So the experience of working with an old theme and learning that it can be made faster has been a good learning experience.
    http://www.fly-fishing-colorado.com/wordpress/

    Ihor

    We usually get 96+ for our websites, it’s a kind of hard ‘not less than’ limit in my company. And it’s not that hard to achieve. What we do:
    – host all websites on VPS servers (Digital Ocean) running Ubuntu 14.04 LTS, latest versions of Nginx, PHP with OPcache, Memcached, MariaDB. All services are configured for maximum performance with WordPress. Caching, gziping, proper headers etc is properly configured.
    – follow all Google’s recommendations.
    – inspect every plugin for security, speed and external resources. Optimize if needed.
    – build optimized themes, from the first lines of html (e.g. remove meta charset tag from head, etc).

    And BTW, 2 or even 1 second loading time for a lightweight site – 4reqs, 72Kbs – is waaaaaay tooooo long :) It should be around 80-120ms for close locations (US to US, EU to EU) and with extra 200-400ms to travel the world (US to EU, EU/US to Australia etc). 600ms max would be fine. So, it’s definitely a problem with hosting. Even the cheapest $5 VPS (512Mb of RAM) will be much faster.

    anthony_marshall

    Fellow Aussie here (I assume you are since you mentioned Ventra), just spent about 5 hours today trying the same thing. I wonder if some of the issues are to do with Google Pagespeed Insights operating from a central server somewhere in America.

    Just working on a development site at the moment http://www.tsvits.net.au while I am trying to get away from my final Wix site http://www.tsvits.com.au

    The best I got is 91. I also am using VentraIP, WordPress, W3 Total Cache and manually entering in some js/css entries into W3 cache minify options.

    As an aside my Wix site is Scoring 75/55 (Desktop/Mobile) which is considerably worse than WordPress.

    rajan_malla

    I tried Remove Query Strings and Minit but my blog could score max of 69 (desktop) and 58(mobile). Pingdom reported max of 86/100 with min load time of 2.36s and Page size max of 1.9mb. I tweaked each one at a time but those were the results I could score for my blog (http://workmoneyfun.com).

    ras__ed________sl__m

    Hi.
    i am having trouble with the wordpress plugin “W3 TOTAL CACHE”. can u please help ??? when i Activate the plugin my desktop site becomes like my mobile site…..
    anybody can help ?
    thanks in advance

    johny_kurniawan2

    I got 100 mobile speed, 100 desktop speed and 100 user experience.

    WordPress 4.0, Shared Hosting and No CDN

    https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.webdesignerland.com&tab=mobile

    These are my recipes :

    1. Minify CSS and JavaScript files
    use this plugin : https://wordpress.org/plugins/async-js-and-css/
    2. Caching
    use W3total cache : https://wordpress.org/plugins/w3-total-cache/
    3. Losslessly compression image
    use this tool : http://pngquant.org/
    4. For logo and banner on homepage
    Convert them all to Base64 Image . it will reduce http request. Tool that I use : http://duri.me
    5. Combine all css in your style.css
    6. Combine the js file too ( put in your footer )
    7. If you using Google analytics, upload ga.js on your hosting. Put it on your root directory
    8. Do not use lazy load plugins ( it will decrease your score )
    9. Don’t use Social Share plugins ( You can make it without using any plugin )
    10. Don’t display feature image/ thumbnails on your homepage, you will fail.

    Good luck..

    Regards
    Johny Kurniawan

    painters_london

    Full screen slider and thumb nails swift theme
    91-96 mobile 89-96 desktop on Godaddy shared managed wordpress with ssl

    numbers change due to godaddy server response time and glitches in plugins used

    No CDN

    https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Ftopainters.ca

    This was used as a test site to see what was possible.

    pingdom load time also changes due to godaddy server response time

    from 1.27 sec to 2.5 sec and a rating of 84/100 with 357 kb

    Recipe used many plugins loading javascript last I found the order i loaded them changed the glitches and breakage of site.

    1.Jetpack phantom
    2.Gzip
    3.Speedbooster
    4.Better wordpress minify
    5.wp optimizer by xtraffic

    still glitches but it has good scores and it is useable

    Luyen Dao

    A good middle-ground solution to the specific issue of a CDN vs PageSpeed score is the use of a reverse-proxy like Varnish or Cloudflare.

    If you’re running a high-traffic site and really care about performance, control and scalability putting Varnish in front of your web server will offer tons of benefits beyond just performance. You can control down to the most minute request what goes hits Varnish (as a cache or DNS control) and what actually hits your web server.

    It’s important to investigate the difference between page speed for a one-off test on GTmetrix and consistent, scalable page speed with high traffic, traffic spikes or geographic locations to contend with.

    Nathan Pinno

    54 for desktop and a 46 for mobile for my company’s site, with a 53 for desktop and 50 for mobile for my personal blog. I run 5 sites (4 WordPress, 1 just 2 HTML pages) on my own VPS from JaguarPC. Two of the WordPress-powered sites are locked down now as I’m the only one that needs access at the moment.

    I may have to put some of these plugins into them in the future when I can afford to have multiple VPS, but at the same time, I’m quite leery, as I’ve got them down to the minimal plugins right now. 5 is a big drop from 13 (including 1 dropped multisite installation) IMHO and should affect the speed more long term.

    Luke Boobyer

    I used to obsess about getting the highest possible score I could. Ultimately it’s pretty irrelevant though as long as your site actually loads quickly. If your speed is under around 2 seconds your score will probably be pretty decent anyway, so just aim to make your site load quickly for the visitors actually using it and you’ll be set.

    Terry

    Google page speed for insight is so flawed its unbelievable. I am sick and tired of Google telling website owners what they need to comply with google’s (moral) practices. Google does not own the internet, although allot of people think they do. googles is a search engine,period. Please Please stop thinking about google as your only source of traffic. Optimize your sites for Bing,Yahoo,Msn and other not so mainstream search engines. Remove Adsence from your sites and replace them with other ad networks or affiliate programmes. Let Google Know they wouldn’t be so successful with out webmasters. Sorry for the rant but Gmetrix gives a real speed test of your site. google insite is total BS

    Daniel

    So I installed the Minit plugin and two things happened:
    1. It did nothing to increase my PageSpeed or remove any warnings
    2. Completely screwed up my site’s appearance

    Luckily removing it undid what I thought was going to create a major problem. I guess you could say I don’t recommend this plugin!

    wlpdrpat

    Funny stuff, I get a 93 on desktop but everything in the suggested problems is Google’s stuff!!!

    Minify Javascript – google’s
    Leverage Browser Caching – google’s

    You would think as the biggest company in the world they could learn how to either fix their own issues or hide them from their testing tools results.

    Cudos: Autoptimize & WP Super Cache

    Pat

    Yasmeen

    Hi,
    I am using the Jupiter theme and I am trying my best to improve the score. My score for desktop is 53 and 45 for mobile. How I improve my score. Are there scome suggesstions?
    I tried the above but I cannot get a score.

      Raelene Wilson

      Hi Yasmeen,

      If all of the above doesn’t work you might want to rethink the content on your site and how it’s impacting your page load. I’m surprised that none of the above is helping you. What kind of site are you running?

      Cheers, Rae

    Alan

    Hi Raelene nice post

    Here at http://www.seotweaks.com.au we have 100/100/100 throughout, if there is anything you need help with, or anyone else for that matter you can contact us anytime, we would be happy to help as this is what we specialize in.

    keep up the god work Rae

    Baruch

    Hi Raelene,
    Very nice post.
    I have found that W3 Total Cache does not do the job out of the box.
    I decided to replace its Minify functionality by Autoptimize plugin, and got PageSpeed 100.
    I posted both the reasons and the detailed directions how to configure these plugins here:
    http://baruchyoussin.com/configure-w3-total-cache-plugin-settings-for-pagespeed-100-grade-part-1.html
    This post and all other posts on my site score PageSpeed 100 almost always (depending on server response) while a couple of pages are close to 100.

Comments are closed.