I spend the last 2 months of 2008 running tests against CMS 2200 websites, to get an answer to:
- How fast is the average WordPress website?
- How do Wordpress, Joomla and Drupal page load times compare?
- How fast do these CMS pages download: Movable Type, PHP Nuke, Mambo, ez Publish and Plone?
This article documents the results.
CMS = content management system.
If you use, or plan to use any of these CMSs, this article is relevant to you.
Fortunately my conclusion is: all CMSs could be tuned to let your webpages download in a second or two.
So pick your CMS based on your needs: these CMS are very different from each other.
A few introductory sentences, before we view the graphs:
All tests were done at http://performance.:8080/ using the fastest speed. DSL tests cause pages to download around twice as slow.
I only tested 85 Elgg pages. Once I realized these websites are all slow, I stopped testing further Elgg pages. So Elgg remain on the graphs to show how bad things can be.
Some tests had widely different download times: I eliminated that 3.1 percent from my test results.
Websites were selected by searching on “powered by …” in google and selecting the first 300 to 700 websites for each CMS.
Unfortunately it was VERY difficult and time consuming to get 300 websites representing each CMS. ( People remove the required credit lines, etc. )
So I am just using the results of the serveral hundred websites could easily get within three weeks.
Graphs ’speak for themselves’ so I have just a few comments about each.
First graph: Page Load Time
All graphs made with the superb gnuplot
Average page load time across all 9 CMSs tested: 5.4 seconds
Top 10 percent fastest CMS sites: 0.7 seconds
Movable Type: bottom red line. Very impressive. Movable Type has a static publishing model build in. Obviously most people use that. That makes Movable Type the undisputed champion where page load times are concerned.
WordPress and Joomla does very well too.
After 2 seconds download time, the remaining websites quickly become slower: people care about download times and either have fast sites, or do not care and have slow sites.
Speed | Page Load Time (sec) | Compared to Others | ||||||||
Very Fast | .5 | 95% of all other websites are slower | ||||||||
Very Fast | 1.1 | 81% of all other websites are slower | ||||||||
Average | 2.1 | 50% of all other websites are slower | ||||||||
Slow | 3.1 | 61% of all other websites are faster | ||||||||
Very Slow | 5.9 | 88% of all other websites are faster | ||||||||
Very Slow | 8.7 | 96% of all other websites are faster | ||||||||
Very Slow | 11.3 | 98% of all other websites are faster | ||||||||
Speeds measured by www.
HTML Table provided by www. |
||||||||||
You are welcome to use this table on your website, if you keep the above credit lines. |
Based on Alexa, if your website loads in more than 3 seconds you are slow.
According to Alexa, 5.9 seconds is very slow. More than 80 percent of the 2200 tested CMS sites are therefore slow.
Fact: Average time for 2200 CMSs is 5.4 second.
This study only tested the, around 300, top ranking CMS websites in each category.
Speculation: There are probably 1000s of additional CMS websites in the world.
Speculation: The overall page load time of these websites might easily be 8.7 seconds, making them the worst 4 percent slowest websites in the world.
Fact: if your page load time is over 11.3 seconds, you fall within the worst 2 percent worldwide.
Some people continue to say … it is just a few seconds.
Based on you technical knowlege, it could take less than an hour to fix your website to move from a 10-15 seconds to 2-3 seconds download time.
The most difficult thing is to care enough and decide to do something about it.
To make a website faster is technically easy.
CMS | Nr. of Web sites | Nr. of pics |
Page Load Time (sec) |
Time To First Byte (ms) |
Start Render (sec) |
Nr. of Req. |
Web Page Size in KB |
|||
Overall Top 10% | 200 | 10 | 0.9 | 69 | 0.7 | 15 | 143 | |||
Movable Type | 209 | 15 | 3.0 | 132 | 1.4 | 26 | 409 | |||
Drupal | 292 | 19 | 4.2 | 124 | 2.8 | 38 | 417 | |||
Mambo | 196 | 20 | 4.7 | 220 | 2.9 | 25 | 421 | |||
Plone | 286 | 19 | 4.9 | 155 | 3.7 | 29 | 320 | |||
WordPress | 323 | 26 | 5.0 | 161 | 2.5 | 47 | 594 | |||
Joomla | 272 | 32 | 5.6 | 159 | 2.9 | 45 | 489 | |||
EZ Publish | 239 | 20 | 6.7 | 239 | 4.3 | 33 | 362 | |||
PHP Nuke | 160 | 43 | 7.2 | 165 | 3.4 | 54 | 636 | |||
Elgg | 85 | 9 | 7.8 | 493 | 6.5 | 17 | 205 | |||
Performance Data provided by www. | ||||||||||
You are welcome to use this table on your website, if you keep the above credit line. |
Months after you have seen the benefits of your faster website, you can make another effort, to move from 3 seconds to under a second, and become member of the elite 5 percent fastest websites.
You probably are not emotionally and technically ready to move from 15 to .7 seconds in one go … you might still believe more content on the home page is better, and might be unwilling to ’sacrifice’ any of your current content, just to have a professional, fast website.
The route to a 0.7 seconds website is a pleasant emotional and technical enlightenment journey. Enjoy the journey itself as well.
Second Graph: time to First Byte
Time To First Byte or TTFB is a measurement that is often used as an indication of the responsiveness of a webserver or other network resources.
It is the duration from the virtual user making an HTTP request to the first byte of the page being received by the browser. This time is made up of the socket connection time, the time taken to send the HTTP request and the time to taken to get the first byte of the page.
Average TTFB across all 9 CMSs tested: 205 ms
Top 10 percent fastest CMS sites: 69 ms
Elgg stands out again as being particularly bad. TTFB at a fast website host is less than 50 ms.
A TTFB of over 100 ms probably means you are not using the static html plugin, but PHP regenerates your webpages every time.
A TTFB of over 2000 ms means your host is VERY slow. If that time is your TTFB for static html, you are obviously hosted at a fast free webhost.
Third Graph: Initial Connection
A good Initial Connection time is 30 ms.
Except for the around 40 websites with slower than 150 ms Initial Connection times, results are remarkably consistent.
Please note that if your Initial Connection is 120 ms instead of 30 ms, every one of your page objects have that 120 ms vs 30 ms times: slower times add up to cause slower pages.
Fourth Graph: Page Size
Average page size across all 9 CMSs tested: 428 KB
Top 10 percent fastest CMS sites: 143 KB
A large number of sites have home pages sizes of over 1 MB.
Notice how the top 100 sites all have sizes less than 500 KB.
Fifth Graph: Number of Requests
Average Number of Requests across all 9 CMSs tested: 34
Top 10 percent fastest CMS sites: 15
Mustard yellow Elgg very impressive, but extremely slow web hosts make them the worst CMS in this study.
PHP Nuke purple squares: these people like to have many objects on their webpages.
Between 200 and 320, WordPress have many websites with 50 to 150 objects on their home pages.
Lets see what those requests consist of.
Sixth Graph: Number of images
aahhhh, PHP Nuke likes to have many images on their pages.
Notice how the top 100 sites have mostly less than 25 images on their homepages.
Less than 25 images is impressive, since that includes gifs, jpgs and pngs.
Gifs, jpgs and pngs have different reasons for existance.
For convenience (synomyn for lazyness) I just added apples to oranges here.
Seventh Graph: Number of css
Even with the Drupal feature to combine css, they (brown triangle) clearly have significantly more css’s than everybody else.
Mambo does very well, with their yellow area dominating the bottom of the graph.
WordPress with blue asterisks does well with less than 5 css for nearly all 320 websites tested.
ez Publish have 5 to 15 css per home page, easily visible as the green crosses, rising above everyone else.
Eighth Graph: Number of js
Unfortunately many WordPress sites have more than 20 js’s per page.
Notice how the top 100 fastest websites nearly all have fewer than 7 js’s per page.
Conclusions
- Slow webhost: slow TTFB, slow initial connection, slow overall page load times
- More css, more tcp connections and sockets required; slower pages
- More js, more tcp connections and sockets required; slower pages
- More images, more tcp connections and sockets required; slower pages
- No apache expires header information: all images, and all css downloaded upon every page visited.
This study did not summarize and average the Optimization Checklist items you get at http://performance.:8080/
However, overall I found that fast websites have their expire headers set and compress their css and images, while slow websites do not have expire headers and does not compress anything making EVERY page slow requiring everything to be downloaded for every page someone visits on their websites.
Fast sites have more green checkmarks in their the Optimization Checklist
At the bottom of the checklist is a table explaining reasons for passing or failing the optimize tests.
Solutions
- Fewer objects per page results in faster webpages
- Subdomains results in parallel downloads of your webpage contents: resulting in faster page load times
- Set the Apache settings as referred to in the Optimization Checklist.
- Use the static cache plugin if your CMS has one
- Test your website for free at http://performance.:8080/
I have free copies of these ( and several others, including a complete WordPress-only set ) page load time graphs available from my website. Anyone is allowed to use these graphs on their website, when providing a link to me.
So, enough from me, make your website faster and write about it.
I implemented what I preach here, and now probably have one of the fastest WordPress information site in the world.
Here are the results of testing my WordPress website - 0.8 seconds download time … using Apache, MySql and PHP … no proxy, no fastcgi, no lighttpd, no Nginx.
Here are the page load time test results for the WordPress, Drupal and Joomla demos, before and after tuning.
If these demos load in 1 second, why does other people’s your pages load in 15 seconds?
You too can easily be among the top 5 percent fastest CMS websites.
Just care and do something about it … simple.
Comments invited.
Subscribe to the RSS feed (at the top right of this webpage) so that you are automatically kept up to date when I publish new articles.
Author: Alwyn Botha http://www./