After Google recently announced it’s using speed as a ranking factor, Matt Cutts sensibly set panic-mongers at rest by explaining that it’s only a small part of the picture. Content, relevance, back links, accessibility and various other traditional SEO factors still account for the most part of how high your website will appear in the SERPs.
Having said that, every little helps and (as is the case with content and usability) to have a successful website, users must find visiting it a pleasant experience and want to come back. As home and business internet connection speeds increase, users’ patience for slow sites drops, so the faster your site performs, the better.
If you need some more information about the monetary value of improving page speed, I found an interesting webinar about how web speed affects online business KPIs.
- There are a number of tools that provide a free comprehensive website performance scans: Google’s PageSpeed, YSlow or Zoompf. These analyse what you can improve within the scope of your website (e.g. number of objects on page, image sizes, DNS requests, compression)
- If you have WordPress, these plugins (all of which offer free versions) will speed up your site with a minimum of effort:
– W3 Total Cache
– WP Supercache
– Webo Site Speedup
- Get a good hosting provider. Sounds obvious, but on the whole, the more you pay, the better hardware you get. Although a private blog may not need a load balanced multiple server industrial strength solution, if you choose a really low end hosting solution, be prepared to have a slower site. It may be worth paying a little extra for better performance.
- Carefully consider the size of your images. It’s well worth using a tool like SmushIt to compress image file size and in general use the most appropriate compression algorithm. Often png is a better option than jpg or gif, but that’s not always the case.
- If you feature videos, use streaming if you can and don’t automatically trigger playback, as this effectively adds to the initial page load time.
- Don’t use table based html – use css for more efficient markup and smaller file size.
- CSS sprites is a rather cunning technique to improve performance by using a single background image instead of multiple smaller images.
- Utilise caching wherever possible – this can work on a number of levels:
- if you’re doing a database look-up to load a list on your homepage for all users, which doesn’t change on a regular basis, store it in the server’s application cache for a sensible amount of time, rather than looking up every time
- partially cache data for pages within a CMS using xml and transforming with xslt at runtime
- after creating a page dynamically, if there’s no user specific customisation or real-time data, have your server save it as flat html for users to access
- set expiry/cache control for pages appropriately so that users can take advantage of local browser based caching
- Minimise the number of DNS look-ups by hosting assets on as few domains as possible. e.g. don’t feature lots of images hosted at other websites.