I’ve written and re-written this article about 10 times now because it’s very hard to discuss website performance without getting technical. Each time I try a different approach, I end up down the same rabbit hole of overly-complicated concepts that I’m sure you have no interest in trying to read. So this is my attempt at trying to talk about performance from the 30,000 foot view, and I apologize ahead of time if I miss that mark.
Performance can mean a lot of things to a lot of people so it’s important to define what I mean when I say website performance. When I talk about the performance of your website, I’m talking about both the speed and efficiency with which your website’s pages are served to the end user.
Performance matters more than you think it does. Our job as website developers is to deliver the smallest possible pages (the least amount of information we can) in the shortest period of time, while maintaining a high level of usability and aesthetic appeal.
To do this, we employ a number of techniques. We reduce the size of your images to an acceptable quality level. We load external resources like images from content delivery networks. This forces your browser to download more of them concurrently so they display quicker. We even go to lengths like removing whitespace from code files. Human beings need line break to make files readable, but to a computer they’re not only useless, they also have the unfortunate consequence of increasing the size of the file.
We can also tweak hardware to optimize the resources of the computer(s) your website is being hosted on to match the functionality of the software. We can look at database queries to see what changes can be made to read and write data faster. And we cache data anywhere and everywhere to eliminate the slowest parts of this process as much as we possibly can.
Ant that’s just a start but it’s my attempt at brevity as promised :-).
So the real question is, why do we do this? We do it because a high performing website can mean the difference between a user on a bad mobile network getting frustrated and leaving your website vs getting the information they’re looking for and calling your business. We do it because it can reduce the costs involved in hosting your website. We do it because users expect speed and when you don’t deliver, it looks bad.
Then, there’s maybe one of the most important reasons: Search engine optimization (SEO). Google strives to deliver the best possible search results to it’s users. This doesn’t just mean websites that contain the information the user is looking for, it also means delivering a website that will offer an optimal experience for that user as well. Because of this, Google counts things like whether your website is optimized for mobile devices and even the speed and size of your pages as search ranking indicators.
The bottom line, the better your website performs for a user, the higher Google will rank you in it’s results.
Content management systems (CMS’s) like WordPress, Drupal, Joomla!, or Evoq (DotNetNuke, DNN, or whatever they’re calling themselves these days) have the distinct disadvantage that they are extremely inefficient. It’s not their fault, and they work constantly to improve in this area, but there’s only so far they can go. With the flexibility they offer comes a degredation in performance.
This doesn’t mean you can’t do things to improve the speed and efficiency of a CMS, but it does mean you can only go so far with it. Whether that’s far enough for your particular needs is up to you and your web designer to decide.
On the other hand, a custom website means purposeful pages designed and fine-tuned to the exact task they were created for. Think of it like running a dishwasher for one or two dishes instead of just washing them by hand. Will the dishwasher get the job done? Certainly. Is it the most efficient approach? Absolutely not.
[For a good overview of whether or not you should choose a CMS for your website, read this.]
What you should take away from this article is that performance should be a primary discussion point with your current web designer or the website developer you’re considering working with for your website. If they can’t answer serious questions about what they do to optimize the performance of your site and don’t rattle off at least some of the items I mentioned at the top of this article, it’s time to look elsewhere.