What is Web Performance optimization?
SEO is the way to make your website successful? Not anymore. Search Engine Optimization was useful 10 years ago, when search engines needed help indexing your content. But today the only tricky part is to provide good content and search engines will magically find it. It is especially interesting to notice that even sites which have a “bad” SEO but provide good content are preferred over SEO optimized sites with bad content.
So, because finding something on the Internet is not an issue anymore, it is even more important to keep customers satisfied with their experience on your site or they will move to your competitor.
The key factor for customer satisfaction is website performance. So we need to make sure that websites are fast, which is called Web Performance Optimization = WPO. WPO means addressing various performance challenges to deliver your webpages as fast as possible to keep customers satisfied and generate more revenue.
Studies have proven that users will more likely come to sites that load fast, especially on mobile connectivity. 2-3 seconds is the average time users are willing to wait before going to alternatives. With a strong trend to even less than 2 seconds.
As a side effect of improved performance, also operative costs can be cut with reduced power and bandwidth consumption, resulting in optimized cost per sale and the overall bottom line.
Can we prove the effect of WPO on revenue and user experience?
Those promises and numbers indeed exist, as multiple companies already have proven by measuring the impact of performance optimizations.
One of the best examples is Google. Google went into the search engine market which was owned by bigger players. However, Google understood WPO and has been always working on delivering the fastest website. In just a few months Google became the number one search engine with just good and fast results. Today, Google continues to push for faster web performance and just recently released Google Instant: search results that appear before you finished typing for them.
But also besides Google other key Internet companies build their success on improving performance. Here are some interesting numbers.
- Amazon: 100 ms delay caused a drop in revenue.
- Google: 400 ms delay caused a 0.59% decrease in search requests per user.
- Yahoo!: 400 ms delay caused a 5-9% decrease in traffic.
- Bing: 2 seconds delay caused a 4.3% drop in revenue per user.
- Mozilla made their download page 2.2 seconds faster and was rewarded with an increase of 15.4% in downloads.
- Google Maps reduced the file volume by 30% and observed a 30% increase in map requests.
- Netflix, which uses Appdynamics to monitor their performance, enabled gzip on the server; simply by this single action pages became 13-25% faster and saved 50% of traffic volume!
- Shopzilla succeeded in reducing the loading time from 7 down to 2 seconds, whereby the conversion rate increased by 7-12, they observed a 25% increase in page requests, they were able to retire 50% of their servers, thus saving energy costs.
- AOL observed the number of page views on several websites. While the fastest users requested 7-8 pages, the slowest only viewed 3-4.
- Edmunds got down from over 10 seconds to less than 2, adding 17% page views and increasing revenue by 3%.
How to implement WPO?
There are 3 main parties which can contribute to improving web performance
Infrastructure and Hosting Team
Usually some kind of scaling and loadbalancing is used when high load is expected, however there are multiple ways to set up the various servers. On the Internet, many architectures try to achieve a shared nothing principle, while in enterprises usually failover and replication architectures are used.
Also the usage of content delivery networks close to your customers is part of this area. Usually companies outsource this to hosting provider, allowing the hosters to create unique solutions for their customers. However not all optimizations can be done by the hoster alone and also the devops trend is closing the gap.
System and Software Architects
We are talking about the server side software here which includes optimizing the actual application code, which is generating webpages and ajax responses. This area is hughe and contains most of the software design issues as well as a lot of coding. At codecentric we have a long history in solving performance issues inside and around Java serverside software. In this area even third party upgrades like Application Server or utilized frameworks can give a better performance. Also the correct protocol and caching solution choice and its options do matter.
Developers also have to think about the actual data transfer to clients. Payload needs to be made small and fast, avoiding re-requesting data unnecessarily.
In the next installments of this series, I will talk about those three areas and give examples of best practices or typical Antipattern. You will see that there is a grey area and some overlap between these responsibilities. There are also different troubleshooting and monitoring tools available for each area.
My WPO series: