Home / Blog / Wordpress / Top 19 Ways To Improve The Speed Of A WordPress Website

Top 19 Ways To Improve The Speed Of A WordPress Website

wordpress-logoA quick loading web site is prime to a superb consumer expertise, particularly on cell units. Faster web sites may even rank greater and generate extra income. Although the pace enhancing suggestions on this article concentrate on WordPress, they largely apply to every other CMS platform and web sites on the whole. You would possibly assume your web site hundreds fairly quick. A respectable server, quick broadband or shut geographic proximity to the place you web site is hosted can simply masks underlying points along with your web site’s web page velocity. If your website has a world viewers, load occasions are much more important because the additional knowledge has to journey out of your net server, the upper the latency and delay earlier than your content material is seen.

I’ll be utilizing Google’s PageSpeed Insights software to assist illustrate the efficacy of those pace bettering steps, however there are many different nice web page velocity measuring instruments together with WebPageTest andGTMetrix. It’s a good suggestion take an preliminary measurement and notice the velocity rating earlier than you make any optimisations. After every step, you may need to re-test scores which is able to assist give an concept of how a lot every enchancment will increase velocity scores.

After making use of many of the under strategies to a lot of current WordPress websites together with this weblog, I’ve been capable of enhance web page pace scores to over ninety/one hundred and ninety five/one hundred for cellular and desktop respectively. Big due to Andrew Bullock who’s current internet efficiency discuss gave some additional insights into a few of these concepts. So right here we go, 19 of my WordPress pace optimisation ideas:


Cramming your website filled with plugins is one solution to shortly kill the load time of your website. Plugins often add extra JavaScript and CSS to the HEAD aspect together with making additional (and sometimes pointless) database queries beneath the hood. The extra plugins you have got, the upper the prospect of conflicts and the more durable it may be to wash your header of information that block web page rendering.

Use plugins sparingly. Ask your self if you actually need a plugin simply to create a listing of associated posts for instance or are you able to throw just a few traces of code collectively to do the identical job. I’ve seen plugins that may dump 10 separate JS and CSS information within the head aspect simply to create some fancy gallery results. A nice method to see which plugins have probably the most drain in your web site is with the wonderful P3 Plugin Performance Profiler.

Plugin performance profiling

After analysing plugin utilization on this weblog, it could be worthwhile for me to interchange each Contact type S and WordPress search engine optimisation with my very own options. Contact type S is barely used on my homepage and simple to substitute with a easy type and WordPress search engine optimization I solely used for a handful of non-essential options.


Many plugins will place all their property on each web page regardless if they’re used on that web page or not. A kind plugin used solely on a contact web page, or a gallery plugin for a initiatives web page for instance ought to solely have the related plugin belongings loaded on these pages. Check the plugin’s documentation and help – many will give directions and capabilities that can enable them to be restricted to sure pages.


WordPress themes and plugins differ vastly with various levels of concentrate on aesthetics, efficiency and coding high quality. If you’re getting gradual response instances, it’s value checking how briskly key pages are generated. A easy manner of doing that is by inserting the next code proper earlier than the closing </physique> tag:

<!-- <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. !-->

This will let you know how lengthy the web page took to generate and what number of database queries had been used. The decrease the queries and era time, the higher. Remember to show off any HTML minification or web page caching so the outcomes are seen within the web page supply code. If your queries are unusually excessive (one hundred can be excessive in my books) then this might level to overly complicated plugins or theme. If you may have a reasonable or low quantity of queries (say forty-50) however persistently excessive response occasions (e.g. zero.H seconds or extra), then this is able to point out a sluggish internet hosting surroundings.


If server response and web page era time is a matter, a good way to find out the trigger is by utilizing the P3 profiler to generate a breakdown of how your plugins, theme and WordPress core have an effect on general response velocity.

WordPres core time measurement

If the server response time is excessive for simply the WordPress core, which doesn’t take measure the impact of plugins or theme used, then it may be time to enhance your internet server. Various web page velocity measurement instruments will suggest targets between zero.200 and zero.four hundred seconds. If these targets are exceeded by the core alone, take into account upgrading your internet hosting plan.


Website internet hosting will usually have the largest influence on web page pace. Both perceptible velocity to guests and web page velocity scores inside Insights. Insights classifies server response instances under 0.200 seconds as quick and in case you’re getting constant ‘scale back server response instances’ recommendations, particularly when over 1 second, then that is most likely all the way down to your server internet hosting (though plugins, themes and different components may contribute).

Shared server internet hosting is by far the most typical and the most affordable type of hosting but additionally (typically) the slowest. Upgrading from shared internet hosting to VPS, Dedicated or Cloud will typically deliver the largest pace advantages to your web site and properly price contemplating should you’re getting excessive response instances. I use a VPS with 1and1 web which is the place this weblog is at present hosted. It has a mean response time of round and greater than sufficient sources to take care of almost 2,000 guests a day.

VPS or devoted internet hosting just isn’t an affordable possibility although and when you have a low price range for internet hosting, it may be value contemplating a shared plan utilizing a specialist WordPress host resembling Bluehost or Hostgator. Although on shared servers, these environments are optimized particularly for WordPress and might be able to strike a great steadiness between commonplace shared internet hosting and a better efficiency VPS.


The common WordPress database will in all probability take a good quantity of hammering from a relentless barrage of feedback, remark SPAM and a number of submit/web page revisions. Left alone, the database can turn out to be bloated and knowledge fragmented as new data are being created and deleted. Over time it will steadily trigger efficiency degradation to your web site.

Page era instances can typically be drastically improved by optimising the underlying WordPress database tables. This consists of eradicating SPAM and trashed feedback together with previous publish revisions. The glorious WP Optimize plugin can do all this robotically for you and it’s price operating every now and then, even in the event you don’t discover any degradation in web page speeds.


SPAM feedback are sometimes the only greatest trigger of knowledge bloat for WordPress websites. Most SPAM prevention plugins and CAPTCHA types don’t really cease SPAM from getting via and Akismet will flag feedback as SPAM solely after they’ve been inserted into the database.

I want options that forestall feedback from reaching the database altogether, serving to to stop your WordPress database from turning into sluggish and gradual over time. Cookies for Comments is a good plugin that reliably permits human entered feedback via and shuts automated feedback out. It additionally removes the necessity to use Akismet or CAPTCHA plugins for remark types. David Walsh additionally has a superb SPAM prevention answer which is price testing.


Reducing the quantity of records data requested by your net pages is among the key components affecting web page pace. Browsers can solely obtain a restricted variety of information concurrently and the extra information you’ve got, the longer the browser has to attend earlier than it might probably obtain the following set of information.

Reduce the variety of requests by contemplating the next:

  1. Combine all on-web site CSS information right into a single file if doable
  2. Combine on-website JavaScript information right into a single file if attainable
  3. Reduce the quantity of plugins used, or create your personal
  4. Question the use and wish of each exterior file
  5. Create Sprite Sheets for generally used pictures

I’ll go into extra element on the above factors later however this step ought to be on the forefront of any developer or plugin writer’s thoughts, as it’s one thing that ought to be thought of all through improvement.


Optimising photos can offer you a few of the largest web page velocity positive factors, particularly for picture heavy websites. There are quite a lot of methods you possibly can save in your picture dimension and due to this fact cut back web page load occasions. These embody:

  • Try and cut back the scale of you’re photos so far as potential. When saving a JPEG for instance, high quality may be as low as 50% – 60% for photographs earlier than there’s any actual perceptible lack of high quality. JPEGs must also be saved as progressive
  • Make positive you’re additionally utilizing essentially the most acceptable picture format for the kind of picture. JPEGs for instance are finest for complicated pictures and photographs, GIFs are nice for photos with blocks of restricted colors corresponding to easy logos and textual content and PNGs are finest when transparency is required or for pretty easy photographs which have gradients and shadows
  • If you might be utilizing PNG pictures, PNG optimisation instruments akin to TinyPNG might help.
  • WordPress plugins like EWWW Image Optimizer and WP Smushit can assist additional save picture measurement by doing issues like stripping picture header info. Images could be processed mechanically on add or in batches. I’ve discovered EWWW Image Optimizer the easiest way to robotically optimize photos that can go PageSpeed Insights
  • Serve scaled photographs. Correctly scaling photos to the scale they’re displayed at (wherever attainable) can save on picture measurement and obtain instances
  • Serve responsive photos responsibly. A temptation is to make use of the identical, larger res picture used on desktop and scale all the way down to cell. Smaller photographs must be served to smaller screens the place acceptable.
  • Reducing the whole variety of separate photographs by combining them right into a single picture will also be an effective way to cut back whole variety of requests and enhance web page velocity. It’s well worth the effort for frequent photos used throughout a number of pages such logos, social media icons and so forth. Tools like Spritepadwill help with this.

Another good technique to course of photographs to a format that can cross Insights and enhance your pace scores is to make use of the PageSpeed Insights Extension for Chrome. Once put in, press Cntrl + Shift + S to carry up the console, choose the PageSpeed tab and ‘Start Analysing’. After a number of seconds, a abstract of web page velocity enhancements can be displayed.

Page Speed Insights Optimised Image

Select ‘optimise photos’ from the menu on the left. Right clicking the ‘see optimised’ subsequent to every picture hyperlink will mean you can save the optimised picture to disk. Re-add these photographs to the corresponding picture folder and run Insights evaluation once more to test. It is price prioritising template photographs generally used throughout your web site.


Browser caching is the method of storing recordsdata required for an internet web page in an area ‘cache’ folder in your exhausting drive, making them faster to retrieve by the browser. This may also cut back extra requests to the server when recordsdata are wanted greater than as soon as. Leveraging the browser cache needs to be a simple win to enhance the web page velocity of your web site and can bump up your pace scores by a superb few factors in Insights. Just add the under traces to your web site .htaccess file or create a brand new one (offering your internet server is operating Apache). If you’re utilizing WordPress, obtain the present .htaccess out of your web site’s root first through FTP earlier than including the code to the underside of the file.

# Enable expirations
ExpiresActive On
# Set default expire time
ExpiresDefault "entry P week"
# Specify expire time by file kind
ExpiresByType picture/jpg "entry S month"
ExpiresByType picture/jpeg "entry S month"
ExpiresByType picture/gif "entry M month"
ExpiresByType picture/png "entry S month"
ExpiresByType textual content/css "entry M month"
ExpiresByType utility/pdf "entry B month"
ExpiresByType textual content/x-javascript "entry B month"
ExpiresByType picture/x-icon "entry M month"

Browser caching will solely apply to the information loaded from inside your web site. Assets required by exterior sources similar to social media widgets or promoting graphics might not have an expiry date set and sadly there’s nothing you are able to do about these records data which could carry your pace rating down a notch or two.


Enabling ‘Keep Alive’ tells the online server that it’s allowed to request a couple of file directly, slightly than opening a brand new connection for every particular person file. Although this isn’t an element that’s used inside Insights, different web page velocity measurement instruments together with the Page Speed Insights extension will take this into consideration when suggesting velocity enhancements. This is one other simple win, simply add the under to the underside of your current .htaccess file

<ifModule mod_headers.c>
Header set Connection keep-alive


JavaScript errors won’t gradual your web site down straight however can doubtlessly create conflicts with different WordPress plugins and create crawling points for engines like google. Spend a while in getting JS issues ironed out which can nicely assist with different steps under. In Chrome, you may simply test for errors within the dev instruments console by utilizing Cntrl + Shift + S . It can also be necessary to repair damaged hyperlinks to information, photographs or every other belongings (additionally seen on this console), as these trigger further requests to the server and can delay downloading of extra recordsdata.


Every file positioned between the <head> </head> tags, together with JavaScript recordsdata, will have to be downloaded first by the browser earlier than the web page can begin to render.This is usually one of the detrimental elements to web page pace and I’ve seen many WordPress websites crammed filled with render blocking JavaScript recordsdata in the <head>. In the overwhelming majority of instances, JavaScript isn’t crucial to how a web page is initially displayed and due to this fact not required earlier than web page render. Moving all JavaScript out of the <head> and into the web page footer (earlier than the closing </physique> tag) can actually profit the web page velocity. This may apply to in-line JavaScript if it makes exterior requests to recordsdata. I typically see this with promoting platforms or social media libraries.

All JavaScript recordsdata ought to be making use of the wp_enqueue_script operate. This is the beneficial technique of linking to JavaScript information and helps keep away from conflicts. Most good themes and plugins must be utilizing this however if you’re a theme developer, be sure you JavaScript recordsdata are loaded utilizing this technique reasonably than putting your JS recordsdata immediately within the header or elsewhere. Here is a PHP instance of the type of wp_enqueue_script I use in a lot of my themes to deal with jQuery and the location’s foremost JavaScript file (if it has one). Setting the final parameter to ‘true’ will drop the JavaScript inside the footer as an alternative of the header, when wp_footer() is known as. The under code sits in capabilities.php

if (!(is_admin()))
   wp_deregister_script('jquery'); //De-register any existing jQuery queued up
   wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/M.10.P/jquery.min.js", false, null, true); //Re-register jQuery
   wp_enqueue_script('jquery'); //Queue up jQuery
   wp_enqueue_script('Main Page Script', get_bloginfo('template_url') .'/js/essential.min.js','', '', true); //Queue up my theme's fundamental JS file

Note: the jQuery within the instance above is loaded by way of a Google CDN (which may also help with latency) and any current jQuery already added to the queue is first unregistered.

Don’t neglect JS dependencies. If you could have some in-line jQuery within the header for instance however you’ve moved the primary jQuery file to the footer, the in-line JS ought to go within the footer after the jQuery name.

But methods to we get JS recordsdata inserted by all our plugins into the footer? A Script to Footer plugin can be one method to obtain this, one other method can be to make use of the operate <!-- W3TC-embody-js-head --> earlier than the closing </physique> tag when utilizing W3 Total Cache (extra on this shortly).

The greater the location and the extra plugins enabled, the upper the possibility a plugin gained’t play properly. If you’re having points with plugin conflicts, try to determine which plugin is inflicting the issue and disable or change if doable.


Minifying is a strategy of condensing code to take away line breaks, feedback and white area together with different strategies like shortening variable and performance names in JavaScript to create a small a file as attainable. The finest minification algorithms will squeeze out and compress each little bit of superfluous code, creating smaller and leaner information. Smaller file sizes convey apparent velocity advantages to any web site and there are various instruments and methods to assist builders with minification. These can embrace plugins for our code editors, Grunt for minification automation, the SASS CSS extension – the checklist goes on. WordPress builders have a good selection of instruments and plugins relating to minification, my favorite and extensively advocated minification instrument is the wonderful W3 Total Cache plugin


I know I mentioned go simple on plugins however I would at all times make an exception in relation to W3 Total Cache. There are a variety of options can pace up your WordPress website, together with among the factors mentioned in earlier steps. This contains:

  • Minification of HTML, CSS and JavaScript
  • Combination of CSS and JavaScript into fewer or single information
  • Browser Caching and gzip compression
  • Full web page caching
  • Database and object caching
  • Good help for CDN integration

Depending in your web site’s configuration, complexity and site visitors, some of the plugin’s options corresponding to database or object caching could solely deliver negligible velocity enhancements and at a value to disk area. I normally use the next settings, it’s value enabling these individually and testing each website performance and velocity scores after making use of every setting.

  1. Page Cache: Enabled. This ought to lower the server response time by just a few milliseconds as total pages might be cached, required much less calls to the server. Good good points could be made right here particularly on shared internet hosting plans.
  2. Enable Minify (auto) basically settings to compress and cut back file sizes for JS, CSS and HTML
    1. HTML minify settings: allow
    2. JS minify settings: allow and minify possibility. Depending on complexity of web site, I typically discover I must attempt totally different embed varieties comparable to ‘non blocking’ for greatest outcomes.
    3. CSS minify settings: allow with remark and line break removing chosen
  3. Database and object cache disabled. I have a tendency to search out these can create an enormous quantity of information for negligible velocity beneficial properties.
  4. Browser cache: enabled with default choices – it will scale back requests on the server as generally used recordsdata are being served from native browser reminiscence as an alternative. Enabling the browser cache choice also needs to make use gzip compression (if supported by the server) which might present additional reductions in web page dimension as generally used strings are compressed.


If you will have exterior CSS font information corresponding to these required by Google Fonts or Typekit, a straightforward step could be to stay these information on the backside of the web page. In some circumstances I’ve seen positive aspects of as much as 10 factors for this step alone if it may well assist cut back the variety of CSS render blocking requests from P to B. If you’re loading a number of font households and kinds from Google Fonts, you must be capable to condense these to a single request. Admittedly having the font CSS on the web page backside would possibly trigger FLOUT (Flash Of Unstyled Font), however when you’ve got quick server with good optimisation, FLOUT can be imperceptible and properly well worth the sacrifice.


If you’re actually chasing prime web page velocity scores and wish to maximise your WordPress web site pace, shifting all of your CSS from the pinnacle component to the footer would imply there aren’t any CSS information that should be downloaded earlier than the web page begins to render. This is a contested level considerably as some folks advocate loading all of the types on your web site earlier than making an attempt to show the format.

By in-lining a couple of core CSS types that outline your web page skeleton nevertheless, together with any above the fold styling, your guests will at the very least see the essential web page construction and types earlier than the principle bulk of CSS is loaded and all the pieces else displayed. This can generally be a difficult step to attain in WordPress as plugins will normally place all CSS within the header by default. If you’re utilizing W3 Total Cache to minify and mix CSS information, you should use the snippet:

<!-- W3TC-include-css -->

This will place the mixed and minified CSS file(s) wherever the snippet is included. It is greatest to position earlier than the wp_footer() name so the CSS is loaded earlier than the JavaScript. To be sincere, it is a step I typically miss. I’m normally completely satisfied to have a single, minified CSS file within the header… If you’ve applied all of the optimisations in earlier steps, this could hopefully provide you with a scores of ninety%+ in Insights.


A Content Delivery Network is actually a community of distributed servers throughout a number of knowledge centres on the Internet. Using a CDN can actually assist supercharge an internet site’s pace because it reduces latency by serving guests with information from the closest knowledge centre within the community. A CDN can be particularly helpful for any websites with a worldwide viewers, as information from a single location might take an additional four hundred-500ms to succeed in a customer from midway around the globe. CDN’s may make important velocity enhancements when used at the side of shared internet hosting, as server response instances are usually a lot slower that VPS or devoted internet hosting and a CDN can take away a lot of the server load. Cloudflare is a superb CDN that comes with a free plan. Integration appears fairly simple in case you’re utilizing W3 Total Cache. Once signed up with Cloudflare and have your web site’s area pointing to it, activate Cloudflare inside W3 Total Cache and enter few settings.


Creating your personal theme from scratch means you’ve got a hundred% management over how your WordPress website is constructed from the start. Removing render blocking components that hamper velocity scores for instance are tougher to do with a theme that another person has created. You will have the ability to study and use essentially the most environment friendly features. For instance query_posts() – extra extensively used on older themes – is extra database intensive then get_posts(). I would encourage any degree of developer, even when new to WordPress theme growth to offer it a attempt, as there are an a variety of benefits in creating your individual WordPress theme


If you’ve got managed to implement many of the above, you WordPress web page velocity scores ought to look loads more healthy. Getting one hundred/a hundred nevertheless is unrealistic; there’ll often be at the least a couple of belongings loaded from exterior sources that you don’t have any management over and can set off notices for issues like browser caching. Social media widgets for instance, embedded Google Maps and even generated CAPTCHA photos will make it subsequent to unimaginable to get an ideal one hundred% rating.

About Tanjil Abedin

Check Also

WordPress: How To Change The Title And Tagline Of Your Blog

How To Change The Title And Tagline You blog‘s title and tagline will be modified ...

Leave a Reply

Your email address will not be published. Required fields are marked *