0Wordpress LogoThe WordPress Guide

Part 3: Growing & Making Money

3.1 Performance

Keep your site fast — both humans and search engines don’t like waiting

3.1.1 Minimise plugins

Through­out this art­icle we’ve recom­men­ded lots of plu­gins. They’re all valu­able and can add to your site. How­ever, don’t go over the top. Each and every plu­gin that changes your site appear­ance adds pro­cessing and trans­fer over­heads. Plu­gins that are for man­age­ment use only (e.g. backup plu­gins) are of much less issue. Wherever pos­sible, use a theme which includes the func­tion­al­ity, or imple­ment solu­tions without plu­gins, for example, instead of using the “extern­al links” plu­gin to apply style your extern­al links, simply imple­ment this styl­ing your­self with a bit of CSS and an image or 2. Try to keep a sens­ible bal­ance — don’t remove valu­able plu­gins just to keep the num­ber of plu­gins low, but don’t keep ones you don’t really need either.

3.1.2 Remove unused plugins

This is simple — if you’re not using a plu­gin then don’t waste host­ing space on them. Unless you think you might want to react­iv­ate a plu­gin in the future don’t just deac­tiv­ate, but delete. Remov­ing unneeded plu­gins also keeps your word­press man­age­ment page less cluttered.

3.1.3 Replace plugins

Some plu­gins are very large and have a lot of fea­tures, but you might only use one fea­ture of such a huge plu­gin. Con­sider manu­ally adding the code for that fea­ture and ditch­ing the over­head of the whole plu­gin (see sec­tion 3.1.1) or con­sider find­ing an altern­at­ive plu­gin which offers just the fea­tures that you need.

3.1.4 Cache & Minify

Word­Press is based on PHP and MySQL, and both of these require sig­ni­fic­ant pro­cessing whenev­er a page is accessed. Since neither users nor search engines like wait­ing for pages to load you should reduce load times by util­ising vari­ous cach­ing and effi­ciency plu­gins. Cach­ing gen­er­ates stat­ic HTML files for each of your pages, redu­cing the delay caused by your web serv­er pro­cessing PHP and access­ing the data­base. Mini­fy­ing removes redund­ancy from your CSS and JavaS­cript. The 2 lead­ing solu­tions are W3 Total Cache, which does both cach­ing and mini­fy­ing or a com­bin­a­tion of WP Super Cache and WP Mini­fy.
[google_adsense]

3.1.5 Compression

Your host­ing will almost cer­tainly be run­ning on either the Microsoft of the Apache web serv­er. Our host uses Apache, which sup­ports com­pres­sion of any data it sends, if you choose to enable it. The Microsoft web serv­er also sup­ports com­pres­sion which can simply be turned on or off. All mod­ern web browsers sup­port com­pres­sion. There are 2 ways of com­pres­sion data with Apache, and you may only want to com­press cer­tain files. Here at DIYMH we com­press all our text based files using apache’s mod_deflate. This reduces our front page load size from approx 100k to approx 20kDepend­ing on your web host you may only be able to enable some types of com­pres­sion. Better­Ex­plained have an excel­lent guide to com­pres­sion which we recom­mend you read.

3.1.5 Keep scripts in files

All non con­tent really should be in extern­al files, not loaded inline. This speeds up browser ren­der­ing sig­ni­fic­antly and also makes debug­ging any page errors easi­er. JavaS­cript should be in js files, Styl­ing should be in CSS files etc. Even some meta con­tent can go in extern­al files (for example see sec­tions 1.4.3 and 1.4.17).  Word­Press is very good at keep­ing to this, but if you make modi­fic­a­tions try to stick to the sys­tem. Some word­press plu­gins are bet­ter than oth­ers at this, so if some aren’t up to scratch, con­sider find­ing an alternative.

3.1.6 Use CSS Sprites

CSS sprites are an excel­lent way to reduce the num­ber of HTTP requests sent back and forth between the read­ers browser and your web serv­er. Instead of hav­ing 30 indi­vidu­al images, which all have to be reques­ted sep­ar­ately, you can reduce the num­ber of requests to the serv­er by hav­ing all of images in a single file. Use CSS to insert the cor­rect part of the image each time you want to use it. Anoth­er bene­fit is that 1 large image file is often smal­ler than sev­er­al small images com­bined. There is more inform­a­tion at CSSTricks, W3Schools and Smash­ing­Ma­gas­ine

3.1.7 Compress images

By default lots of images can be losslessly com­pressed bet­ter than word­press does by default. This will save on image trans­fer times. There are plu­gins that will do this for you, e.g. WP Smush.itIf you’re using PNGs (as recom­men­ded in sec­tion 2.1.2) then there are sev­er­al ways to improve effi­ciency. To max­im­ise PNG effi­ciency images can be com­pressed with PNG­Gaunt­let, how­ever this must be done after upload. If the image does­n’t con­tain many shades or col­ours then save it as a 256-col­our image — this will reduce the file-size sig­ni­fic­antly, but again, this effi­ciency should be sought after upload. The reas­on for not com­press­ing or redu­cing the col­our depth of images before upload is that the PHP res­ize func­tion will not cre­ate good qual­ity res­ized images if they are already com­pressed. So, upload your images, let word­press gen­er­ated the res­ized images, down­load them with an FTP pro­gram, com­press them with PNG­Gaunt­let, and then reup­load and over-write the ori­gin­als. WP Smush.it will get you 90% of the way and is much more con­veni­ent. We always recom­press our PNGs loc­ally with PNG­Gaunt­let, but you may not want the hassle — the choice is yours.

3.1.8 Set expiration of static resources

Browsers cache all the con­tent that they load. To avoid images and oth­er stat­ic resources being reloaded on every page load you can spe­cify an expiry time which instructs the browser to use its cached copy until the expiry date passes, when it will fetch a fresh copy. Any­thing that does­n’t change very often should have an expiry set. At DIYMH we do this via W3 Total Cache.

3.1.9 Use relative links

If you insert any links to any­thing else on your site always use a rel­at­ive path, rather than a full path. This saves a tiny bit of page size, but more import­antly, it means you won’t have to change them if you ever change your domain name.

3.1.10 Remove old revisions

By default word­press retains a copy of all pre­vi­ous revi­sions of every art­icle on your site. This is overkill in our view. The easi­est way to man­age this is to use a plu­gin, e.g. revi­sion con­trol, which will auto­mat­ic­ally cull older revi­sions based on your set­tings. This will keep your data­base size down and the speed of your site will benefit.

3.1.11 Check your page speed

Whilst google page speed (see sec­tion 1.3.2) is a good place to start, we recom­mend using a wide range of tools to check you’ve optim­ised your site fully.

You might also like...

Leave a Reply