How To Speed Up Your WordPress Website

Advertisement

A few months ago, I ran an experiment to see how much faster I could make one of my websites in less than two hours of work. After installing a handful of WordPress plugins and fixing a few simple errors, I had improved the website’s loading speed from 1.61 seconds to 583 milliseconds. That’s a 70.39% improvement, without having made any visual changes to the website.

According to a 2009 Akamai study1, 47% of visitors expect a page to load in under 2 seconds, and 57% of visitors will abandon a page that takes more than 3 seconds to load. Since this study, no shortage of case studies have confirmed that loading time affects sales.

In 2006, Amazon reported that a 100-millisecond increase in page speed translated to a 1% increase in its revenue. Just a few years later, Google announced in a blog post2 that its algorithm takes page speed into account when ranking websites.

So, how can you speed up your WordPress website?

Below are twelve quick fixes that will dramatically improve your website’s loading time, including:

  • identifying which plugins are slowing down your website;
  • automatically compressing Web pages, images, JavaScript and CSS files;
  • keeping your website’s database clean;
  • setting up browser caching the right way.

Lay The Foundation

When your house is sinking into the ground, you don’t polish the windows — you fix the foundations. The same goes for your website. If it’s hosted on a sluggish server or has a bloated theme, quick fixes won’t help. You’ll need to fix the foundation.

So, let’s start with what makes for a good foundation and how to set ourselves up for a website that runs at lightening speed.

Choose A Good Host

Your Web hosting company and hosting package have a huge impact on the speed of your website, among many other important performance-related things. I used to be sucked in by the allure of free or cheap hosting, but with the wisdom of hindsight, I’ve learned that hosting isn’t an area to skimp on.

To put this into perspective, two of my clients have similar websites but very different hosting providers. One uses WPEngine (an excellent hosting company), and the other hosts their website on a cheap shared server.

The DNS response time (i.e. the time it takes for the browser to connect to the hosting server) of the client using WPEngine is 7 milliseconds. The client using the cheap shared hosting has a DNS response time of 250 milliseconds.

If you want your website to run quickly, start with a good hosting company3 and package.

Choose A Good Theme

Unfortunately, not all WordPress themes are created equal. While some are extremely fast and well coded, others are bloated with hundreds of bells and whistles under the pretence of being “versatile and customizable.”

A few years ago, Julian Fernandes of Synthesis ran an interesting case study in which he updated his theme from WordPress’ default to the Genesis framework, monitoring page speed. He noticed that just by changing the theme to Genesis, his loading time improved from 630 to 172 milliseconds.

When you choose a theme, check the page speed of the theme’s demo, using a tool such as Pingdom, to see how quickly it runs with nothing added to it. This should give you an idea of how well coded it is.

Use A Content Delivery Network

I recently started using a content delivery network (CDN) for one of my websites and noticed a 55% reduction in bandwidth usage and a huge improvement in page-loading speed.

A CDN hosts your files across a huge network of servers around the world. If a user from Argentina visits your website, then they would download files from the server closest to them geographically. Because your bandwidth is spread across so many different servers, the load on any single server is reduced.

Setting up a CDN can take a few hours, but it’s usually one of the quickest ways to dramatically improve page-loading speed.

12 Quick Fixes To Speed Up WordPress

Now that our foundation is solid, we can begin fine-tuning our website.

A good way to start speeding up a website is to look at what can be removed. More often than not, a website is slow not because of what it lacks but because of what it already has.

1. Identify Plugins That Are Slowing You Down

P34 is one of my favourite diagnostic plugins because it shows you the impact of your other plugins on page-loading time. This makes it easy to spot any plugins that are slowing down your website.

Runtime by plugin5
(Large preview6)

A common culprit is social-sharing plugins, most of which bloat page-loading times and can easily be replaced by embedding social buttons into the theme’s source code.

Once you’re aware of which plugins are slowing down your website, you can make an informed decision about whether to keep them, replace them or remove them entirely.

2. Compress Your Website

When you compress a file on your computer as a ZIP file, the total size of the file is reduced, making it both easier and faster to send to someone. Gzip works in exactly the same way but with your Web page files.

Once installed, Gzip automatically compresses your website’s files as ZIP files, saving bandwidth and speeding up page-loading times. When a user visits your website, their browser will automatically unzip the files and show their contents. This method of transmitting content from the server to the browser is far more efficient and saves a lot of time.

Gzip7
(Large preview8)

There is virtually no downside to installing Gzip, and the increase in speed can be quite dramatic. As we can see in the screenshot above, MusicLawContracts.com9 goes from 68 KB to only 13 KB with Gzip installed.

While some plugins will add Gzip to your website with the click of a button, installing it manually is actually very simple. Open your .htaccess file (found in the root directory on your server), and add the following code to it:

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

Once you’ve added this snippet of code to .htaccess, test whether Gzip is working on your website by running Check Gzip Compression10. If for whatever reason the code above doesn’t work, try one of the other methods that Patrick Sexton describes in his article “Enable Gzip11.”

3. Compress Images

Images take up the majority of bandwidth on most websites. WP Smush.it12 is another great plugin that automatically compresses images as you upload them to the media library. All compression is “lossless,” meaning that you won’t notice any difference in the quality of images.

One nice thing about WP Smush.it is that it works retroactively. If thousands of images are saved in your media library, you can run them all through the plugin, compressing them to a more manageable size.

4. Leverage Browser Caching

Browser caching is a tricky issue. A handful of great caching plugins are available, but if set up incorrectly, they could cause more harm than good13.

Expires headers tell the browser whether to request a particular file from the server or from the browser’s cache. Of course, this only works if the user already has a version of your Web page stored in their cache; so, the technique will speed up the website only for those who have already visited your website.

Expires headers speed up a website in two ways. First, they reduce the need for returning visitors to download the same files from your server twice. Secondly, they reduce the number of HTTP requests made.

To do this with a plugin, I recommend using WP Super Cache14. However, following an installation guide15 is strongly recommended to ensure that you set it up correctly. Alternatively, you could add expires headers by adding the following code to your .htaccess file.

#
# associate .js with “text/javascript” type (if not present in mime.conf)
#
AddType text/javascript .js

#
# configure mod_expires
#
# URL: http://httpd.apache.org/docs/2.2/mod/mod_expires.html
#

ExpiresActive On
ExpiresDefault “access plus 1 seconds”
ExpiresByType image/x-icon “access plus 2692000 seconds”
ExpiresByType image/jpeg “access plus 2692000 seconds”
ExpiresByType image/png “access plus 2692000 seconds”
ExpiresByType image/gif “access plus 2692000 seconds”
ExpiresByType application/x-shockwave-flash “access plus 2692000 seconds”
ExpiresByType text/css “access plus 2692000 seconds”
ExpiresByType text/javascript “access plus 2692000 seconds”
ExpiresByType application/x-javascript “access plus 2692000 seconds”
ExpiresByType text/html “access plus 600 seconds”
ExpiresByType application/xhtml+xml “access plus 600 seconds”

#
# configure mod_headers
#
# URL: http://httpd.apache.org/docs/2.2/mod/mod_headers.html
#

Header set Cache-Control “max-age=2692000, public”

Header set Cache-Control “max-age=600, private, must-revalidate”

Header unset ETag
Header unset Last-Modified

5. Clean Up the Database

I’m a big fan of how often WordPress autosaves everything, but the disadvantage is that your database will get filled with thousands of post revisions, trackbacks, pingbacks, unapproved comments and trashed items pretty quickly.

The solution to this is a fantastic plugin called WP-Optimize16, which routinely clears out your database’s trash, keeping the database efficient and filled only with what needs to be kept. Of course, when doing anything to your database, always back up first.

6. Minify CSS and JavaScript Files

If you’ve installed more than a handful of plugins, chances are that your website links to 10 to 20 individual style sheets and JavaScript files on every page. This is not ideal. Putting all JavaScript into one JavaScript file and all CSS in one CSS file is considerably more efficient.

This is where minification comes in. Plugins such as Better WordPress Minify17 will combine all of your style sheets and JavaScript files into one, reducing the number of requests that the browser needs to make.

I prefer Better WordPress Minify because it’s less aggressive than some of the other plugins that do the same thing (some of which cause problems, as Hristo Pandjarov outlines18).

7. Turn Off Pingbacks and Trackbacks

Pingbacks and trackbacks are methods used by WordPress to alert other blogs that your posts link to. While sometimes interesting, they can be a drain on page speed and are usually better turned off. You can turn them off under the “Discussion” tab in “Settings.”

8. Specify Image Dimensions and Character Sets

Before a visitor’s browser can display your Web page, it has to figure out how to lay out the content around the images. Without knowing the size of these images, the browser has to figure it out, causing it to work harder and take longer.

Specifying image dimensions saves the browser from having to go through this step, speeding things up.

For the same reason, specifying a character set in your HTTP response headers is useful, so that the browser doesn’t have to spend extra time working out which one you’re using. Simply add the character set to your website’s head section.

9. Move CSS to the Top and JavaScript to the Bottom

Linking to your style sheets as close to the top of the page as possible is widely recommended because browsers won’t render a page before rendering the CSS file. JavaScript, on the other hand, should be as close to the bottom of the footer as possible because it prevents browsers from parsing anything after it until it has full loaded.

In the majority of cases, this simple fix will improve page-loading speed by forcing files to be downloaded in the optimal order. But it can cause issues on websites that rely heavily on JavaScript and that require JavaScript files to load before the user sees any of the page.

10. Use CSS Sprites

A sprite is essentially one large image file that contains all of your individual images next to each other. Using CSS, you can hide everything in the image except for the section you need, by specifying a set of coordinates.

CSS sprites speed up a website because loading one big image is much faster than loading a lot of small images.

SpriteMe19
(Large preview20)

The easiest solution is SpriteMe21, a tool that turns all of your images into a CSS sprite.

Remember that Safari does not load large sprites, so use William Malone’s calculator22 to identify whether your sprite is too large.

11. Enable Keep Alive

HTTP Keep Alive refers to the message that is sent between the client’s machine and the Web server asking for permission to download a file. Enabling Keep Alive allows the client’s machine to download multiple files without having to repeatedly ask for permission, thus saving bandwidth.

To enable Keep Alive, simply copy and paste the code below into your .htaccess file.

Header set Connection keep-alive

12. Replace PHP With Static HTML Where Appropriate

PHP is great for making a website efficient and reducing the need to enter the same information multiple times. However, calling information through PHP uses up server resources and should be replaced with static HTML where it doesn’t save any time.

Conclusion

In the next 12 months, mobile Internet usage is expected to overtake desktop usage. This shift towards Internet-enabled mobile devices means that having a fast website has never been as important as it is today. Users now expect websites to be lightening fast, and developers who don’t comply will ultimately lose out to developers who invest in delivering a great experience.

(al, il)

Footnotes

  1. 1 http://www.akamai.com/html/about/press/releases/2009/press_091409.html
  2. 2 http://googlewebmastercentral.blogspot.com.au/2010/04/using-site-speed-in-web-search-ranking.html
  3. 3 http://www.ventureharbour.com/web-hosting-guide/
  4. 4 https://wordpress.org/plugins/p3-profiler/
  5. 5 http://www.smashingmagazine.com/wp-content/uploads/2014/06/runtime-by-plugin-large-opt.jpg
  6. 6 http://www.smashingmagazine.com/wp-content/uploads/2014/06/runtime-by-plugin-large-opt.jpg
  7. 7 http://www.smashingmagazine.com/wp-content/uploads/2014/06/gzip-large-opt.jpg
  8. 8 http://www.smashingmagazine.com/wp-content/uploads/2014/06/gzip-large-opt.jpg
  9. 9 http://www.musiclawcontracts.com
  10. 10 http://checkgzipcompression.com/
  11. 11 http://www.feedthebot.com/pagespeed/enable-compression.html
  12. 12 https://wordpress.org/plugins/wp-smushit/
  13. 13 http://www.smashingmagazine.com/2014/03/21/wordpress-performance-improvements-that-can-go-wrong/
  14. 14 https://wordpress.org/plugins/wp-super-cache/
  15. 15 http://www.wpbeginner.com/beginners-guide/how-to-install-and-setup-wp-super-cache-for-beginners/
  16. 16 https://wordpress.org/plugins/wp-optimize/
  17. 17 https://wordpress.org/plugins/bwp-minify/
  18. 18 http://www.smashingmagazine.com/2014/03/21/wordpress-performance-improvements-that-can-go-wrong/
  19. 19 http://www.smashingmagazine.com/wp-content/uploads/2014/06/spriteme-large-opt.jpg
  20. 20 http://www.smashingmagazine.com/wp-content/uploads/2014/06/spriteme-large-opt.jpg
  21. 21 http://spriteme.org/
  22. 22 http://www.williammalone.com/articles/html5-javascript-ios-maximum-sprite-frames/

↑ Back to topShare on Twitter

Marcus Taylor is the founder of Venture Harbour, a digital marketing agency that specialises in working with companies in the music, film, and game industries.

Advertising

Note: Our rating-system has caused errors, so it's disabled at the moment. It will be back the moment the problem has been resolved. We're very sorry. Happy Holidays!

  1. 1

    Gabriele Romanato

    June 25, 2014 3:14 pm

    Very interesting article. Just a note about performance: Apache’s directives should be put in your VirtualHost block, not in the .htaccess file. Apache parses this kind of files every time a request is made. Increasing the number of directives in the .htaccess file is not recommended. Leave only the basic WP rewrite rules. :-)

    • 2

      While this is generally true, there are cases where the admin of the WordPress blog does not have the rights/access to alter the httpd.conf file on the server his blog is residing on.

    • 4

      Thanks for the tip Gabriele, I wasn’t aware of this.

  2. 5

    I’ve been working on site optimization on my own site for awhile now.

    I agree the biggest fix you can do for any website is your Host. If your on a cheap shared solution. You can only tune up a Yugo so far. Eventually it’s going to be your stumbling block.

    Sprites can actually hurt your load time rather than help it. And if you decide to implement changes that require static images needing to be moved around? Its a royal PITA. My recommendation is switching to something like Awesome Fonts and use their icons instead. It will reduce the overhead and offer you additional flexibility.

    For caching/minifying? There isn’t a perfect solution out there. I’ve used WP Super Cache and W3 TC. Both will get the job done. I prefer W3 Total Cache as it is definitely more ‘advanced’ and you get more control/configuration options and has a great built in minify solution. (Hint: Use the manual one and its on par with Better WP Minify – which is excellent btw)

    But – check with your host to see what Cache plugins are even supported. HostGator recommends your solution while other hosts such as WP Engine bans any Cache plugin due to the way there servers are setup.

    Unfortunately reducing http requests can be a huge challenge in and of itself. The only way to do this is by figuring out where you can chop or hard code instead of using plugins. Or deciding you don’t need to offer specific functionality for a website. I managed to cut it down from the over 100 down to 39 for a pretty simple website. A lot of that was done through combining/minify CSS and JavaScript.

    There is a lot of trial and error when optimizing WordPress. It’s never as cut and dry as the tips make it out to be. I always suggest you make sure you have a backup first. Go slowly and test test test!

  3. 6

    The best way to speed up your website is to use WP Rocket! http://wp-rocket.me/

  4. 9

    When testing my website’s page speed, I usually do so in an incognito window (or after turning off the WordPress admin bar). Just mentioning this, since it can be frustrating to try and find your website’s bottle neck, just to find it is only happens when logged in.

    Should you not need the admin bar, it can be switched off using the show_admin_bar function

  5. 10

    I am having a problem with all Cache type of plugins. It seems to be that my theme has a conflict and I get error messages upon installation. Any suggestions?

  6. 14

    Miguel Salazar Velásquez

    June 25, 2014 5:56 pm

    Muchas gracias comenzare con la optimización.

  7. 15

    If you can install it on your host and later configure it, varnish caching is definitely a huge boost for load times.

  8. 18

    I highly recommend Imsanity as Image Optimizer plugin instead Smush.it! Try it, also allows bulk optimization.

    Anyone else agree with me?

    Regards

  9. 22

    All those curly double quotes in that .htaccess example are going to screw some poor sap who copies and pastes it. Can you make them regular double quotes?

  10. 23

    Don’t forget that PHP 5.5 has opcache (integrated APC) this caches functions taking pressure off the server CPU.

    Some servers may require this to be manually enabled

  11. 24

    Just wanted to point out that changing the setting in General > Discussion for pingbacks and trackbacks only turns them off for posts you create in the future — it doesn’t affect any existing posts.

  12. 25

    Great article, thanks.

    I would like to minify CSS and JS, however I installed the Better WordPress Minify (1.2.3) and although it reduced the number of files the design is messed up, so I have deactivated it.

    I did notice that the plug-in hasn’t been confirmed as compatible with WordPress 3.9.1, but as no one else had mentioned anything I took a gamble that it would work. Sadly not.

    I guess I’ll have to wait for the author to update the plug-in.

  13. 26

    Very informative article Marcus. I enjoyed reading it. Also i came to know some new techniques for speeding up a word press site. My company’s website (www.cdnmobilesolutions.com) is also developed in word press, but its loading time is high. Although i have implemented most of the points mentioned but still their are 2-3 left, as per your write up. Will also implement them.

  14. 27

    Hi all,

    Can anybody tell me what the advantages of using a caching plugin instead of htaccess rules are? I know that you can do standard caching pretty quickly and easily in htaccess but I’m not sure about configuration of CloudFlare and Varnish (I’m on a VPS). I’ve never done it before and would like to know if plugins can help me with it.

    • 28

      Varnish is something that caches your web browser locally

      CloudFlare caches and stores your website on their systems so that people in countries that are not close to your web server will get files/page loads a bit quicker

  15. 29

    Woop! Just pasted your expired headers code in to my .htaccess and got a 500 error?
    I use Vidahost shared server

    This worked – or at least, it didn’t break my site:

    # Activate mod_expires for this directory
    ExpiresActive on

    # locally cache common image types for 7 days
    ExpiresByType image/jpg “access plus 7 days”
    ExpiresByType image/jpeg “access plus 7 days”
    ExpiresByType image/gif “access plus 7 days”
    ExpiresByType image/png “access plus 7 days”

    # cache CSS files for 24 hours
    ExpiresByType text/css “access plus 24 hours”

    Any reason for that?

  16. 30

    I have written about most of your stuff in 2010…

  17. 31

    I agree with everything except for the use of CSS Sprites. Because some industry leader moron says it’s good, the moronic masses decide to make it a standard. This is one of the worst travesties to hit the world wide web. If you have to make a small change to the graphics of a design, you have to re-code the entire design, including all coordinates to fit the one single graphical change on page 1,000 of the website. Why would you create all that work for yourself and headaches for the client when the alternative is far simpler and efficient?

    It is quite certainly possible to achieve the same load times using very small repeating CSS images. And the best part of using separate images are their efficiency. I will always argue the use of CSS Sprites. They are horribly inefficient and it is more of a way for shady web designers and developers to scam their clients by saying “Oh, we have to re-code the entire design to make that change so we have to charge you more for that…” instead of taking what would otherwise take AT MOST two seconds to make that change.

    From an ethical standpoint and superior web development standpoint I will NEVER use or support CSS sprites for an entire design.

    • 32

      Sprites are largely obsolete. The use of icon fonts on CDNs has made sprites obsolete for many uses. Rounded corners with CSS has made another typical use of sprites obsolete (i.e. corner gifs). There are probably other examples.

      But your description of the hassle of re-coding a legacy site just because one image in a sprite has to be changed is not always true. You can change that single image so that it does not load the sprite.

    • 33

      If css sprites are so inefficient why do Amazon and Yahoo (as examples) use them?
      https://g-ecx.images-amazon.com/images/G/02/gno/sprites/global-sprite-v1._V339352782_.png

      CSS Sprites are used to reduce the number of HTTP Requests (which can have the biggest impact on page load time). There are tools that will generate the sprite/css for you.

      As with most things, there can be a tradeoff.

      • 34

        Because Amazon, Yahoo, and Google are low on pictures. They have a bunch of smaller graphics sitting next to each other in one file. Using sprites on an image-heavy site makes much less (or no) sense.

  18. 35

    You should to know
    1) https://core.trac.wordpress.org/ticket/28634
    In wordpress all images has useless metadata for many many users.

    2) https://core.trac.wordpress.org/ticket/15311
    This is cool feature. Problem with non effective wordpress images resizing. (You know about regenerate thumbinails plugin and useless regenerated images)

  19. 37

    I tend to ftp into the server, download all the images WordPress has generated for a particular post and recompress them using Photoshop. I can get savings of over 50% in size on average compared to Smush.it.
    I recommend using a neat plugin called ‘Custom Upload Dir’ to automatically organise the posts into neat folders so the images are easy to find.

  20. 38

    Anything Graphic

    June 30, 2014 1:28 pm

    Great tips here that I will definitely incorporate into my sites!

    I stopped using caching plugins a while ago as they never really got it right in my opinion. I knew about more than half of the tips in this post and integrated Cloudflare and the results were amazing.

    One question that I never understood, hopefully someone can answer it… If you use something like WP Rocket, can you also use a CDN such as Cloudflare’s free account? I know it might be a stupid question, but there is so much going on with editing the .htaccess file to incorporate these tips and then implementing a service like Cloudflare and WP Rocket together… just don’t want anything to get messed up while it all try’s to work together.

    Thanks again :-)

    • 39

      Hi Anything Graphic,
      Of course you can use both WP Rocket and a CDN (CloudFlare for exemple).

      With a CDN your static files (images, JS, CSS) will be cached on multiples servers around the world. Thus if a visitor come to your website from Europe, your statics files will be served from a European server even if your host is based in US.

      A caching plugin generate an “copy” of your pages. Normally when a visitor request a page of your website, there are a lots of PHP/MYSQL requests. Once generated the plugin save the page as a single HTML file. So when a new visitors request the page, only the single HTML file (without any PHP/MYSQL) will be served.

  21. 40

    A great service I’ve used for image compression is https://kraken.io. They also have a WordPress plugin that you can install compress existing image files and future uploads. It’s a paid service, but it offers fantastic results for the price.

  22. 41

    A fantastic overview of WordPress performance with some handy plugin recommendations I didn’t know about, thanks very much!

  23. 42

    Nice post. It describes the most important and useful aspects of speeding up WordPress very well.

    About ‘6. MINIFY CSS AND JAVASCRIPT FILES':
    I prefer to use the Autoptimize plugin for combining and minifying. It has more options and it removes query string variables as well, which has a positive impact on browser caching of static files.

    http://wordpress.org/plugins/autoptimize/

    Also if combining files breaks your website, you can choose to just strip the ?version= query variables using this plugin:

    https://wordpress.org/plugins/query-strings-remover/

    Cheers!

    Rick

  24. 43

    Great Writeup Marcus, I’ve been into wordpress development for quite a long now, Regarding putting CSS on top and JS on bottom, i need your help, how do we handle JS files wordpress places itself on top (when we install plugin etc) which are called by wp_head(), do we have any solution for that? I am looking forward for your kind help.

  25. 44

    I found the biggest returns on my site when I enabled both an object cache and an opcode cache.

    To your first point – if you’re using a good CDN provider, then the speed of a DNS lookup to your actual host doesn’t matter – the user will get served a DNS node. So you can have a *relatively* poor host as long as you have a good CDN and the visitors won’t know the difference.

    This is especially true if your content doesn’t change too often as the latency will be between your host and your CDN updating.

  26. 45

    Hey I tried the KeepAlive, but instead of less queries to the DB I got more queries, more than 10 queries on average so more load time. Anyone knows what about this? Also I am using W3 Total Cache plugin.

    Thanks in advance for any comment.

  27. 46

    Great post, I’ve already implemented some of these solutions and will try some of these out, never knew about the P3 plugin, I tried it out quickly on my website a few mins ago and saw that infact Jetpack accounts for half the plugin slowdown, anyone else had any experience with that, I am currently using the Sparkling theme from ColorLib(free version), But I’m thinking of maybe making my own with all the rich snippets and schema tags.

  28. 47

    Mauro Bogliaccino

    July 10, 2014 10:44 pm

    Very good! Thanks for your post

  29. 48

    WordPress Expert

    July 19, 2014 2:40 pm

    If you want to make your life easier then forget everything and just start using pingdom. It is an awesome tool for analyzing performance of your website.
    I optimized http://hacksecure.me using pingdom tool.

  30. 49

    Hi Marcus, great post and thanks for your suggestions.
    I have a magazine website, daily have 15 post (in future more and more posts )and I have a trouble with SuperCache.

    Without cache, website speed is 2,30 sec, if I activate SuperCache(recommended options only), with Smush.it, and WP SEO, website speed increase to 6 sec!

    Yes, on frontpage there are many post, many categories, images …but it’s a magazine, it’s dynamic website.
    Other thing, sitemap doesn’t work fine with SuperCache, doesn’t updated at time on Google or Bing.
    With other plugin WP Total Cache is worse. Suggestions?

    • 50
      • 51

        Hi Marco.

        A large portion of your load time is coming from many unscaled images. Your homepage is 1.85MB, but could be reduced to just 0.55MB by resizing your images appropriately. And it wouldn’t affect the site visually. You should also leverage browser caching like Marcus mentions in the article (#4). Lastly, I highly recommend a CDN, like CloudFlare, if you really want to take your website speed to the next level.

  31. 52

    Hi Marco,
    How did you measure your website speed?
    A caching plugin should have speed up your website.
    You can test WP Rocket (notice, I’m the cofounder) : http://wp-rocket.me
    I would be very happy to help you :)

  32. 53

    Good stuff. I wrote a similar article last year. I didn’t quite go into the detail of using CSS sprites and HTTP Keep Alive. Need to take a look at those on my sites.

    Anyway in case anyone is interested:

    http://carey.is/blog/web-development/improving-page-speed-website-blog/

  33. 54

    Thank you for this great article! It’s incredible how many plugins exist to help solve problems that website owners face.

  34. 55

    Hi Marcus, thanks for the great article.

    Can you help me with some advice please? Using Google Pagespeed Insights, my site has a score of 82% for desktop but a lowly 53% for mobile. Google has suggested optimizing my images, but I already run smush.it, though I only get about 8% compression for each image. My website is quite image heavy and I have a 4 page ‘featured post’ slider.

    Do you know of an alternative plugin to smush.it? I see it has mixed reviews. Any other advice for speeding up things on a mobile platform would also be appreciated.

    Thanks!

  35. 56

    regarding second point, I’ve a quick question:

    <<You said that enabling Gzip didn't effect website overall look. But before exactly one week, I was implementing onsite SEO changes to my Israiel based client. I used a plugin to compress the pages (I used to do these things for last four years) but this time the whole look was changed. All side-menu items were moved near to the bottom of the page…At the end client called me and asked that Ghufran!!!! What you've done to my site, it looks me that its not my website that I saw before an hour ago Please tell me what you did with it…

    Thanks to God, he was in internet marketing business for last twenty years and understood things. As an experiment I removed that plugin and all things were normal again…

    Can you tell me why did this happen?

  36. 57

    Steffan Carrington

    August 20, 2014 4:20 pm

    Great post! Have implemented some of the following on client sites and seen instant results!

    One area that I seem to be having a bit of difficulty with is serving scalable images, any ideas on how this can be done?

    Thanks in advance…

  37. 58

    Thank you for this great article! It helped me a lot.

  38. 59

    Did used all above tricks and now my site http://www.wpdiv.com loads faster now even in less than a second

  39. 60

    Solve WordPress Issues

    September 9, 2014 3:41 am

    Very informative post. I think wordpress is fast growing technology. But speed of wordpress is little slow. This can be overcome from some techniques .

  40. 61

    I tried this.. you won’t believe it but now my site is 69% faster while it was 15%! Thank your for sharing!

  41. 62

    There i faced some problems when i tried to make ” Browser Cache ” with .htaccess file. It caused 505 Internal Error when i paste the code on my .htaccess file. what could be a problem ?

  42. 63

    What an article.

    A big thank to you.

    A handful of useful information with actual direction given on how to make use of them.

    Thank you again.

  43. 64

    Thank you so much!!!!!!!!!!!!!!!!!!!!!!!
    I used the P3 plugin and I reduced my site load time from over 2 sec to 0.27 sec that’s awesome!!!!!!!!!!!!!!

  44. 65

    I just checked how smashingmagazine.com deals with speed and a quick test shows 99/100 on both Mobile and Desktop: https://developers.google.com/speed/pagespeed/insights/?url=www.smashingmagazine.com&tab=mobile
    Wow, really want to know and many of us WordPress users how smashing magazine gets this great result! Google loves ya guys :) Great work!

Leave a Comment

Yay! You've decided to leave a comment. That's fantastic! Please keep in mind that comments are moderated and rel="nofollow" is in use. So, please do not use a spammy keyword or a domain as your name, or else it will be deleted. Let's have a personal and meaningful conversation instead. Thanks for dropping by!

↑ Back to top