Reducing your WordPress website load time

Those of you that following me on Twitter would have just seen that I’ve been tweeting about improving the load times of a couple of the sites I run. I have been working on a massive news site over the past couple of months, and now that it’s almost ready to go live, I wanted to see if i could improve the performance of it.

The post below outlines the steps I took in order to reduce the load time of this site down to 25%.

Why bother?

Page load times are important for both visitors to your site but also the search engines. This post here from Google goes some way to explain the importance of it.

First things first, find out how long your site takes to load. You can either use the advanced tools of your web browser to find this out, or something like this.

Get your load time, and write it down.

1. Sort those images out!

Every site contains images somewhere and on news sites they’re often displayed within articles as well. If you’re sourcing, or taking the images yourself, the chances are you’re uploading much larger files than you need. WordPress does a lovely job of resizing the images for you, so you don’t use a 1000 x 750 image for a 250 x 250 spot, but sometimes in the process of doing that, the size of the thumbnail is still larger than it should be.

The first step is to install a plugin that’ll automatically put your images on a diet to get them looking trim. Log in to your WordPress site and install the plugin called “WP smushit”. This plugin uses the smush.it service from Yahoo to reduce the file size of images on your site. It’s free, and will automatically reduce any future images you upload to WordPress.

Once installed, click into the “Media” tab of your site and click the “bulk smush.it” link and start the process. Depending on how many images you already have in WordPress, it might take a while. The site I’m working on right now is expected to take about 15 minutes…

Plugin link : http://wordpress.org/extend/plugins/wp-smushit/

2. Compress the CSS

NOTE : For those of you that are not web developers, but are reading the tutorial to try to improve a site that was built for you, CSS is a web language used for the layout and look & feel of your site.

The problem with most CSS files is that they’re not compressed down to the most efficient size they can be. It’s all to easy for a web developer to not do this and I would be the first to say that I don’t always remember to do this. That said, compressing the file down has more of an effect the larger and more complex a site is.

There’s an awesome plugin that you can install on WordPress that dynamically compresses the CSS used in your site and caches it for future requests. Again, it’s free and shaves a fair amount of time off the load time of your site.

I found a bug in the code of this plugin, so have uploaded the plugin for you to download and use without any hitches.

Plugin Link : wp-css.zip

3. Optimise your database

If you’ve had your WordPress site for a while, this step could be the single most effective step of this entire blog post. I jumped onto a long-running WordPress site a moment ago, ran this plugin and was amazed at the results.

Again, for the non-techies reading this, behind your WordPress site is a database that stores all the pages, comments, menus etc that exist on your site. That database is called many times when a page is loaded, and subsequently when you save changes to your site the database is adjusted then too. All these changes can make the workings of the database slightly clogged up and not as efficient as they could be. This plugin simply cleans up the mess, fills the database with a million shots of espresso and sends it on its way.

Just go ahead and install the plugin called “optimize db”. When it’s installed, the link to run the plugin appears under “tools” and “optimize db”. When it loads it’ll tell you how well it can optimise the database, and with the click of a button it’ll sort it out.

Plugin Link : http://wordpress.org/extend/plugins/optimize-db/

4. Install a caching plugin

The last step is to install a plugin that will hold cached versions of your pages on the server for quicker load times. For the non-techies, WordPress is coded using a web language called PHP. All the heavy lifting is done on the web server when you load a page of the site. Each time you click refresh, the server is running all over the place to gather the information from the database, templates for the look and feel and trying to piece it together for you as quickly as it can. You could imagine that if you’re only updating the site once a month this process is “too much”. The idea solution is for the web server to store a pre-built version of that page that will be sent back to the web browser when nothing has changed since the last visitor. Well, that’s what this plugin does!

Go into WordPress and install “WP Super Cache”. It’s by far the most popular caching service for WordPress and I love it. Once it’s installed there’s a whole host of extra options for you to tweak to make it more effective. If you’re not comfortable tweaking the settings then don’t. Get in touch and I’ll happily sort this out for you.

Plugin Link : http://wordpress.org/extend/plugins/wp-super-cache/

Check out the effect..

Now you’ve done this, go back and re-run your speed test. You should see a hefty decrease in the load time of your site. Brilliant!

If you have any worries or just don’t feel comfortable doing this yourself, get in touch and I’ll happily help you.

Let me know your before and after scores for your sites in the comments. Would love to see how it’s helped to improve your site too.

Posted in Banter | 6 Comments

Another new year, another footer date update

So, 2012 has finally crept up on us! Happy New Year to you all.

This is a quick post to prod you to check that the year shown in the copyright statement of your website is correct, and if not, how to change it so that it updates automatically.

Firstly, open your site and scroll down to the bottom. Most websites will have a statement in the footer of the site that reads something like this :

“© 2012 – Acme Doodle Widgets”

If your site is still showing 2011, here’s a quick fix to make that date change automatically each New Year.

The Quick Fix

Prerequisites 

  • You must have FTP access to the files of your site.
  • Your server / hosting must be capable of running PHP
  1. Log in to the FTP and download a backup of your entire site (in case something goes wrong).
  2. Depending on how your site is built, look for a file that contains the code for the footer of your site, or if your site contains individual files open each file.
  3. Look for the section that shows your current copyright notice, and substitute the year (2011) for this :
    <?php echo date('Y'); ?>
  4. Save the file, and re-upload it to your server
  5. Open the page (or site) in your web browser to double check whether it’s worked.

But i’m not a techie!

If you don’t have access to your website, or you’re not comfortable updating it yourself feel free to get in touch and we’ll happily help you out.

Posted in Banter | 1 Comment

Merry Christmas

Only 3 more sleeps to go!

I thought I would take a moment to thank everyone i’ve been working with this year for what has been a simply incredible year! Looking back, i’m amazed by what’s been achieved, and look forward to much of the same in 2012.

Festive Opening Hours

22nd December : Open until lunch
23rd December : Meeting / Work until lunch
24th December – 1st January : On call, but office closed.

All that is left is to wish you all a very Merry Christmas, and have a superb (but safe!) New Year. *raises cup of coffee* Here’s to a successful 2012!

Posted in Company News | 1 Comment

Doing right for your client

I’ve literally just got back in the office from a meeting with a new client and this post is a result of my brain whirring on the drive home.

Today’s meeting was to demo something i’ve been building for a while. It’s a ground-breaking project, and something that clearly has legs to make a big impact for it’s intended audience. The meeting went incredibly well; the client was clearly impressed with what’s been done so far and the opportunities this project would bring for them.

Like most meetings of this sort, there came a point where the client was considering the future enhancements that could be made to this project. Their brain was working over-drive considering all the wonderful opportunities they would have, and what the future could bring in store for them. Personally, this is a moment that reinforces my passion for doing what i do. It is just simply magic.

We got chatting about the ideas they had, and one of the “coolest” was to develop a mobile app to sit alongside what we’ve already built. I agreed (as it was a bloody good idea) but rather than leaving it at that i took the time to give them some advice on what i’ve seen from this side of the fence.

The advice i gave was not to develop a mobile app. Crazy, i know given that i said it was a good idea above, and no, i am not under the influence of any festive spirits!!

I’ve seen a number of articles of late where they’ve discussed the popularity of mobile apps, and the trend i seem to be picking up on is that mobile apps are starting to hit the proverbial ceiling of popularity. Whilst i’m not suggesting they’re suddenly going to disappear, i am conscious that there are alternatives out there to native mobile apps.

Whilst at this meeting, i took a moment to introduce “mobile web apps” to my client. I explained how the technology has progressed to enable most of the features you would expect to find on a native mobile app to work with a simple mobile-orientated web app.

From my point of view, the case for a mobile orientated web app is simple :

  • Invariably cheaper to develop
  • One pool of code for multiple devices, rather than individual projects for each type of mobile device.
  • Quicker to update
  • Removes any requirements for developer accounts with the vendors, thus saving money
  • Bypasses any proprietary “app-stores” that may slow down or even reject your application’s launch.
  • Has “native” features such as gestures, multimedia etc etc
  • Did i say it’s very probably cheaper???

After running through some example web-apps (some of which didn’t work!) i think i’ve  helped my client make a decision that in the long run would save them an incredible amount of money.

I didn’t offer this as a suggestion for commercial gains but because the requirements of the client better suited this route. By making them aware of all of their options, which ever route they take would be the right one for them.

This meeting got me thinking a bit more about what I do, and what clients need rather than what they want. As a web professional we’re not just here to provide a service but to take moments to educate when necessary. When my client arrived and ordered their cappuccino today they weren’t aware of mobile web-apps or how they might better suit their project. By taking the time to learn about what the overall plans were i was able to introduce them to new concepts and options.

To me, that’s a job well done.

Posted in Banter | 3 Comments

HTML commenting : Let’s all do it

I’ve come across this time and time again, and i know i don’t necessarily do this every time, but if you’re working on a complex layout please please please comment your code! It makes future work for yourself, and other developers much easier.

In case it helps, this is the standard i tend to use:

<div id="header">
    <h1>Site Title</h1>
    <p class="subtitle">Subtitle</p>
</div> <!-- @end #header -->

Nice and easy, doesn’t take much time to write and makes scanning through HTML much faster for everyone.

Right, as you were…

Posted in For the financial services industry | 3 Comments

A post full of thanks…

Hope you’re comfy, this is going to be a long one…

Put simply, this year has been nothing short of epic for me. Those of you that follow me on twitter would have seen my tweets every now and again when i “level up” as a result of some meeting or networking attempt. Having only been in business (full-time at least) for 9 months, to look back at this year and see all the ground i’ve covered already is quite bewildering.

I’m the first to admit that i’ve had some pretty awesome support and advice from both family & friends (that includes you lot!). There have been too many occasions to recall in a blog post * but i wanted to take a moment and say a special thanks to those that you may not be aware have helped me and codepotato.

The hidden heroes from the Web Industry

@mrqwest (Anthony Killeen)
Anthony has helped with a number of projects throughout the year, some of which haven’t gone live yet. He’s a top chap, full of passion for what he does and very talented.

@simianstudios (Kris Noble)
Kris has helped out a number of times with development issues, and was kind enough to offer a room for the night before @geekkarting v1.0. Another good egg.

@philreadman (Phil Readman)
Phil is a recent addition to the codepotato power-league, but one that has very much made his mark already. A young, talented designer who is very easy to work with.

@samwilliamh (Sam Harding)
I could write an essay on how brilliant Sam is. Sam is a partner of codepotato and has been busy juggling a degree and our own web-app. He’s mad to be thinking of a career in Accounting, as he’s one of the most capable developers I know. Mega mega kudos to Sam for his hard work this year.

@charliesaidthat (Charlie Southwell) & @jacksaidwhat (Jack Parsons)
Top of their game, that’s what these two are. What they don’t know on search engines or digital marketing isn’t worth knowing. Two young chaps destined to make a massive mark in the industry. They’ve offered their services to help boost codepotato and I couldn’t rate them higher!

@danfast (Dan Fast)
Dan has helped multiple times picking up on issues or speed improvements with the projects i’ve worked on. Believe it or not, he also sent me a pack of Starbucks instant coffee and in my books that makes him a legend.

The hidden heroes from the financial services industry

@martinbamford (Martin Bamford)
Martin was possibly my first “proper” client (long story, won’t go over it now) but has been incredibly helpful over the last four years let alone just this year. Martin has provided advice along the way which has helped me setup what I hope to be a long-lasting sustainable business.

@theparaplanner (Richard Allum)
Much like Martin, Richard has given me plenty of advice and feedback on many elements of my business and the projects I embark on. It was great to finally meet Richard this year at the IFP Conference and I look forward to another year working with him.

@petematthew (Pete Matthew)
Pete’s random act of kindness several months back is still helping me now. He sent me a number of audio-books which he (correctly) thought might be of interest to me, and codepotato. He’s a massive supporter of what i’m doing, and another good egg!

@kingmakersgroup (Rob Stevenson)
Rob is another generous chap who’s dedicated a fair amount of his time to offer advice and feedback on what i’m doing, and where i’m going. He’s also a bloody good laugh, and has a similar taste in music. My claim to fame is that I introduced him to Goldie lookin’ chain.

@jenny_smyth (Jenny Smyth)
I remember how I first said hello to Jenny (hello localton!) on Twitter, and it was definitely a wise move! Jenny has provided an awful lot of help and ideas around marketing and i’m incredibly grateful for how she’s helped.

Many others have helped along the way, and apologies if i haven’t listed you above. I’m incredibly grateful for the support i’ve been given and look forward to another year of #winning

* I’ll save it for my autobiography… :)

Posted in Banter | 4 Comments

Gold Standards Winners 2011

Last night was a big night in the financial services industry.

It was the night of the coveted “Gold Standards Awards” in London; where the industry celebrates the successes of firms that are “on top of their game”. The Gold Services Awards are considered the hardest awards to win as they rigorously audit how you treat your customers and how well you’re doing at igniting trust in what your company offers.

Nine awards were handed out last night to IFA firms, and i’m delighted that a third of the winners are existing clients of [codepotato]. Informed Choice, Wingate FP and Mearns & Company all walked away last night with the coveted award! No doubt they will be waking up with sore heads this morning!

The other winners were Investment Quorum, Torquil Clark, Clarity Independent Financial Advisers, Mazars Financial Planning, Braemar Wealth Management and Churchouse Financial Planning.

My challenge for next year is simply to be the trusted website provider for at least half of the winners of the Gold Standards Awards. It’s ambitious, but i’m hoping with my abilities at brain-washing and cleverly used stickers i’ll be able to do this!

Massive congrats again to our winners, and to the other companies that walked away with the award last night!

Until next year…

 

 

Posted in Awards, Company News | 2 Comments

The danger of assumptions

Assumptions. The world is full of them!

Take insurance as an example. Being under 25 and male, if I phoned an insurance company asking them to insure me so I could drive a Lamborghini, what do you think they would quote? The same amount as a Citroen C2? Unlikely! Their quote will be based on assumptions that being both under 25 and male, I will drive like a maniac and probably end up writing the car off in a country lane ditch!! They would like to assume the worst of people. Are they right, well, they would never know, but nonetheless assumptions are key to their business

The web is no different.

I’ve seen it many times. When companies look to update or create a website they look at what their competitors do for inspiration. Whilst this is fine to a degree, people are making the assumption that just because the other company is successful, their website is perfect.

When company “A” looks at their industry leader “B”, copies the features of their site and finds it doesn’t work, they’re none-the-wiser as to why it failed.

Let’s run through an example together.

Example 1 – Copy-cat Bank

You and me have had a chat and decided that together we’re going to start a new breed of bank in the UK. Hurrah! About time!

We sit down and look at what the major high-street banks do currently, and see that as a path to our success. We assume that by copying their business model, marketing strategies and website layout we’ll be millionaires this time next year.

Launch day comes, and the bank flops. No-one wants to use us. Why? Because copy-cat bank is no different to any other high-street bank. There’s no differentiating factor as to why people should use copy-cat bank rather than Halifax.

Example 2 – AgainstTheGrain Bank

Whilst the monumental flop took place with Copy-cat Bank, another bunch of forward thinking individuals put their heads together to set up their own bank, with a difference.

Instead of assuming the high-street banks have it right, these clever sods look at the current state of  banks and rip out the bits that they hate. They notice that some of the bits they like exist in high-street banks at the moment, but they’re swamped with other junk that ruins the experience.

Cleverly crafting their own breed of bank, they feed off the fact they’ve created something different and get to work on marketing it. Because they’ve not copied the existing model their marketing is more effective, and although they’re not millionaires within a year, their business is booming and they’re eating away at the client bank of the existing banks.

Now to the point…

I’m not in any way saying that you shouldn’t look at what your competition are doing. That would be daft. However there’s a fine line between getting ideas, and becoming a sheep of “assumptions”.

When you next look at a competitors site, instead of doing this :

“This company makes £3m a year and I’ve noticed their site is full of widgets. We need widgets! [SHOUTS TO THE SECRETARY] Order widgets by the truck load!”

Do this :

“Okay, so this company makes £3m with a site FULL TO THE BRIM of widgets. Everyone hates widgets used like this but we can’t ignore the fact widgets are useful, so let’s make it simpler and more fun. Let’s review it after a month or two, and see what happens.”

Posted in Banter | 6 Comments

Give the gift of Karting – Competition

So, some of you on twitter would have heard (hopefully) that there’s another @geekkarting event happening soon.

Following the massively successful event at Milton Keynes earlier in the year, we’re holding another event down saaaaaff in Brighton.

The venue is the brand new indoor karting centre, designed by a karting fan but built by TeamSport – the UK’s largest indoor karting company.

The event is on Friday 2nd December and is an event not to be missed. However, as it’s nearing Christmas, i’m sure some geeks will have to make the hard decision whether to buy their Mum another cute puppy calendar, or go karting with fellow geeks.

As a gesture of (early) Christmas spirit, i’m offering a lucky geek a ticket to the event, paid for by [codepotato].

How do you enter? Simples. Leave a comment on the post below (make sure you include your twitter name) and i’ll pick someone at random (got to love <?php rand() ?> function eh?) on the 18th November, at roughly 1pm GMT.

The winner will get a ticket to the event free of charge. Unless you’re on the drive from Portsmouth to Brighton, you’ll have to make your own way there.  But heck, you’ve saved yourself £50 anyways!

So, what are you waiting for! Leave your name, and RT about this post too!

UPDATE : Congrats to @markskinner_ who won the ticket. Using php’s rand() function, it return “2″, and Mark’s comment was the 2nd on the blog. 

Posted in Company News | 16 Comments

How many hits to a site is “Good”?

I’ve been asked this a lot recently, as people are naturally looking at their online marketing to see how effective it is. Problem is, there’s not an easy answer to determine what number of hits would be considered “Good”. I’m going to go some way to explain the way I would consider this problem, with the help of Tim Ng from Threesixty Services (@tim_kc_ng).

Books down, eyes on the board please

Firstly, let’s make sure everyone is on the same page for a moment. When I refer to a “hit” I am actually referring to someone viewing a single page of your website. This is the same metric that most web analytics tools such as Google Analytics record.

A “visit” is different. When someone views your site, most analytics tools give that visitor a unique number. When that visitor clicks through your site, the analytics tool knows that person’s number, and associates that page load (hit) with that visitor. So one “visit” can often be traced to a number of “hits” to your site.

Now we’ve covered that, let’s move on. At each step, there’s an exercise for you to do. I’ll point this out, so you can analyse your site as we go.

A single visit can be better than 20,000,000,000

When you look at your web analytics (which I hope you do fairly frequently!) do any of you do something like this?

“Hmph… I’ve only had 400 hits this month! That’s rubbish! I must increase that number because everyone knows more visits mean more business.”

If so, stop. You’re focusing on the wrong thing.

Rather than focusing on the number of visits, have you considered your overall conversion rate? No, not sure what I’m talking about? Okay, let’s run through it together.

Let’s imagine you run “Parallax Professional Advice”, a city-based financial services company. Your website has had 400 visits that month, and you’ve recorded that 2 enquiries came through your website.

A simplistic conversion rate calculator would be : (100/400) x 2 = 0.5%

So, 400 visitors meant that they were achieving a 0.5% conversion from their website. Theory would dictate that if you doubled the visitors to the site, you would double the enquiries, right?

Hang on a moment, are you happy with a 0.5% conversion rate?

Exercise 1 : Work out your site’s conversion rate for last month. Use the formula shown above to work out the percentage of visitors to your site that convert. Remember to look at visitors, not hits! If you’re unsure of the number of enquiries through your site, have an educated guess at it. 

Brainwashing… I mean funneling

So you know your conversion rate, but you are not sure how to improve it. Do not fret! Let’s run through some ideas to help. I’ll focus on two aspects, design & content.

Do not underestimate the power of a deceptively well designed site. Especially those that push you closer to getting in touch with the company as you progress through the site.

Exercise 2 : Before we continue, consider this. What are your intended customers? What problems will they be having in order to be looking for a service like you offer? Do they know of the industry terms that are used to describe what you offer? Now, with those fresh in your mind look at your homepage. If you were a potential customer, looking on that page, where would you see that you can help them with the issue they’re trying to resolve? Where can they click to learn more? If you’re struggling to find answers, what do you think your visitors will do?

To illustrate the point above, let’s consider Parallax Professional Advice again. They’re targeting high-net-worth individuals that are looking to protect themselves against a tax that only kicks in when you have £50m+. The individuals know of this as the “50 mil tax”, as this is how they’ve seen it referred to in the media. With that in mind, you would expect that Parallax would mention this term on their site, but they don’t. If they changed their site to include that term they would reassure the visitor that they are the right company to talk to about this tax.

The hardest part of creating the content for a website is removing the knowledge and lessons that you’ve learnt from being a professional.  Consider the following :

It’s all to easy to use the terms you’re used to as a professional, but more-often or not, they’re not the terms your clients use. Instead of adding to the confusion, why not provide the solution?

By thinking from the clients’ point of view, you’re making it easier for them to see that you offer what they’re searching for, and are therefore more likely to get in convert.

Exercise 3 : Remove the mumbo-jumbo from your site. Instead of referring to terms you use in the industry use words that your clients might use themselves. Instead of talking about a mortgage review, talk about the potential money saved from being on a better mortgage. Instead of talking about protection, talk about the peace of mind it gives if something goes wrong. Think like your client thinks. Measure the time spent on site before, and after your changes. Does it increase? Do your conversions increase? 

Now that you have seen the process that you can use to review content and design you need to focus next on your potential client and what would be the key driver to get them to convert from a visitor to a client? In the world of marketing it would be a “call to action” you defined the problem them now get them to do something about it – usual phrases “call us” or “click here to find out more” may seem trite but the calls to action along with the visuals are commonly seen to be the triggers to aid conversions.

But back to the question at hand “How many hits to a site is ‘Good’?” well that depends… bet you thought there would be a nice factual number such as 1000 a day? Unfortunately there is no such number, what is good for one may not be good for another. Take Parallax Professional Advice (again!), they are a local firm situated in a city, with only two advisers – their expectations for their website would differ greatly compared to a national firm with multiple offices and multiple locations.

The key points to determine whether your site is successful requires you to consider numerous criteria: -

  • Who your clients are (demographic), are they young, old, technically savvy?
  • What are you offering? Products, services or content?
  • What is the main purpose of  the site? sales channel or just to have presence?
  • Is the website a prime channel or just a secondary channel for communication? will it stay static or will it be updated frequently? essentially how much effort will be put into maintaining it?
  • What industry you are in? should you expect numerous visitors or is it traditionally face to face, person to person?

All the above should effect how you measure the success of your site. For Parallax Professional Advice they may consider the following measures successful:

  • 500 hits per month
  • 200 visitors per month
  • 1% conversion per quarter

But the national adviser firm would expect more along the lines of:

  • 2000 hits per month
  • 250 visitors per month
  • 1% conversion per quarter

So to finally answer the question, to determine what makes your site successful does not depend on just the hits but a set a metrics specific to your site (of course you can benchmark against similar but that can provide inappropriate results).

Posted in Banter | 3 Comments