Optimising ExpressionEngine

Small changes to speed things up.

What is Optimisation?

Optimising your website is when you make small changes to get your message accross faster.  Usually we think of ways to make each page load quicker but it can also refer to making the content optimised for your audience.

In this blog item, I am going to concentrate on getting your ExpressionEngine website to load more quickly.

Why Optimise?

These days people have little patience and won't wait for your pages to load if they are too slow.  It's not just visitors that you need to consider, search engines such as Google will penalise you in the search rankings as they rank faster loading sites higher.

Template Caching

You can turn this off or on a per template basis.  For templates that are rarely updated, it makes perfect sense to turn caching on.  Remember to clear the cache or turn it off temporarily when you do make any changes to the template.

Tag Caching

This is  a simple parameter in a tag that allows you to serve the value up quicker.

Dynamic Channel Query Caching

Don't use this if you use future entries, expiring entries or random entries

Query Optimisation

By using the "disable" parameter in a channel entries tag, you can prevent unnecessary table joins in the database query which makes the call much quicker.  Typical things to disable are categories, member_data, custom_fields, pagination, etc.  Obviously, do not disable something that is needed on that page!

Visitor Tracking

If you experience an extreme Traffic event, you might want to disable visitor tracking as tracking adds an additional write to the database.

Image Optimisation

Always ensure that your images are the right size and are compressed enough without degrading their quality.  What is the right size? Well the right size is a combination of the size in pixels which shouldn't be much larger than the actual size in which it is rendered and the file size. The larger the size in pixels, the larger the file size and it is the file size which is the thing that affects the load time.  Using modern formats such as WebP will help to get that file size as small as possible.

Don't forget that image sizes will display differently on each device so using a source tag to render optimal images for each device.

File based or Memory Caching

File based caching is the most compatible for all hosting but if you are experiencing high volumes, you might want to consider using Redis or Memcached as these are supported by ExpressionEngine.

Clearing Caches

If you make some changes to your site but cannot see the change on the front end (visitor facing site) then you might need to clear some of your caches.

Unsure how to proceed?

Give us a call, we're here to help.