First and foremost, we believe that speed is more than a feature. Speed is the most important feature.
After reading Ian Lurie’s post again on how he made Portent.com’s site “really freaking fast,” I decided to see if I could get similar website load time results for Geonexus.com.
I am not a web developer, an engineer, a systems administrator or a performance expert. So my goal was only to make changes that would have a significant impact and that I could do without the need to learn entire new skill sets.
Start with the basics
Geonexus is a WordPress site that is hosted on a shared server at Hurricane Electric (who are amazing by the way).
Like most website owners at small companies, I have little control over the network or the server. So I knew the place where I could make changes would be to improve the speed that Geonexus pages are processed, delivered and displayed in the browser of its visitors.
Using a plugin, I cleaned and optimized the database. I went through the installed WordPress plugins and removed the ones I thought I could live without.
With the easy tasks out of the way, I moved on to new territory.
Google PageSpeed is my North Star
Google emphasizes the importance of website load time for user experience and for search rankings. To help website owners improve their performance, it provides Google PageSpeed Insights. PageSpeed doesn’t actually measure the speed of your site. It simply analyzes your pages and makes suggestions for improvement. When I first ran the test my score was 69/100. Not good! PageSpeed made four suggestions in the High and Medium categories.
- Enable Keep-Alive
It takes time to open a connection over the internet between a visitor’s browser and the web server. The website load time increases if this connection has to be opened multiple times. By sending a keepalive signal to the network I am telling it to keep the connection open.
- Optimize Images
I had paid little attention to the size of the images, the filetype, or their compression. I take a lot of screenshots, so I became more conscious of which filetype to use. And I started compressing the images before I uploaded them to my server.
- Enable Compression
- Leverage Browser Caching
Am I done with changes to improve my website load time?
Well, I’m done for now at least. Google PageSpeed says I have completed all the High and Medium Priority items. It now gives me a score of 94/100, much better than where I started.
As far as the actual load time, these changes brought the website load time down to about 4.5 seconds. Not great, but ok. Of course, after that first visit, additional page views to the site are much faster since some material has been cached locally. Below you can see that the second visit to the same page is less than half a second.
Additional areas to work on include caching more files in the browser, optimizing images, and getting rid of a nasty 301 redirect in WordPress that takes over a half second to complete. But I’m going to save those battles for another day.
What did I learn from this experience?
- Be pragmatic about your goals. My site needs to be fast, but since it is a small site to begin with, I didn’t need to wring every last performance improvement out of it. After you have fixed the critical obstacles to a faster site, additional changes will see diminishing returns in performance results. Avoid investing lots of energy to get small improvements unless you believe it’s important for the user experience.
- Proceed carefully and methodically. Make backups. Take notes. Annotate your changes. Do one thing at a time. Always be in a position that you can back out of a change if you need to.
- Measure the results of your changes. If the change doesn’t have a measurable impact, then it might be unnecessary.