Special

WpEngine Vs Siteground – How to choose the best hosting for you

It’s time for LifestyleUltimatum to have a big change, and so I did, because now LifestyleUltimatum is running on a new server, but which one should I choose?

What you will learn in this post:

  • Why you need a fast hosting
  • How to perform a speed test
  • Which one is the best choice (in my opinion) between Siteground and WpEngine

TagMan.com AnalisysAccording to TagMan.com on an average website where you hit 10000 visits per month, with a visitor value of $30 and a conversion of 5%, to increase the site speed by 2 seconds means to have a gain on your revenue of more than $28,000.

Although I don’t really know how they calculate this revenue, I must say that having a fast website is of course fundamental for Google and for your audience.

So before to check every SEO tutorial you should consider to have a good Server for your website.

During the Affiliate Summit I had time to met the Siteground Team, and explored deeply the features of this hosting.

In the past I had already setup some blogs for clients on Sitegorund and I must admit that I have been really satisfied by the service.

So I decided to do some proper tests and challenge Sitegorund against WpEngine, the service I have always used for my important projects.

And guess what? … Let’s see what happens.

First things first. In order to do a fair test Between WpEngine and Siteground I have asked Siteground to transfer my Italian blog on to their European Server, because I have my WpEngine Server in Europe.

But I have also decided to perform a lot more tests over Siteground to properly understand its qualities.

I have tried to do a fair test, and for that reason I have performed a lot of different tests collecting approximately 2500 results in total.

For the geeks amongst you, all these tests are downloadable unlocking the box below.

How have I performed my tests?

I have decided to test 5 pages of my Italian website:

My Homepage.
A Review Page where there is some Jquery code, in order to be sure that everything is working with a hard caching level.
A tutorial I made on how to increase visits instantly with BuzzBundle.
A tutorial on how to put a blog online which is ready to monetize.
A forum page with a simple list of topics, which is something really light to load.

To do a fair test I have used the 3 most well-known online testing tools:
GTMetrixPingdom and WebpageTest in 5 different locations (New York, Miami, London, Switzerland and Paris).

Hosting Speed TestWith WebPagetest, because I was performing 3 tests each time, I have activated all the tests temporarily grouped by 5 locations with 3 tests each, in order to not overcharge the server.

Obviously I have given Siteground the same opportunity I gave to WpEngine.

The websites have been cloned perfectly as it was in WpEngine, and I have just done a small change in the Siteground version to be sure that I was testing the right server after the DNS propagation.

All the plugins and WordPress was updated at the time of the test to the latest versions, and the same versions have been used for all the servers.

As for differences between the two installations, I have only installed the plugin given from Siteground to ensure their cache system works properly.

Siteground provides three caching levels so in order to get the best test results I have tested all three levels.

I have also used Cloudflare for all the servers, in WpEngine like in Siteground. This is a service that ensures I don’t have to wait a long time for the DNS propagation, because I just need to change the DNS in the Cloudflare account.

Every time I changed server, in order to be sure that I was testing in the right place, I have made small changes on the design to ensure I was testing the correct server.

So let’s get to the test and the results.

The results were interesting and I suppose you want to know the results immediately.

So let’s head to the Excel spreadsheet and see what happens.

In the European test, which was the fairest test, the winner is Siteground. (Red Bars)

Siteground Vs WpEngine Speed Test

With an incredible result of 6.81 seconds of average load time against the 9.42 seconds of WpEngine.

A total of 2.61 second less, so really a winning performance!

Claim it Now
Claim your Siteground special offer Now!

Try Siteground Risk Free! You have the 30 Days Money Back Sitegorund warranty! Claim it now!

And if you remember, according to tagman.com we are talking about $28000. So not bad.

Keep calm and let’s analyze the results.

What really made WpEngine slow in this tests were the New York results.

For some reason in New York there is no way for WpEngine to have good results. I have tried to repeat the test multiple time but the results still the same.

The results have also been confirmed by Pingdom, which is the service that performed the test in New York.

Although I decided to get rid of the New York results, Siteground still wins the competition, even if it is with a really small 0.019 seconds.

WpEngine Vs Siteground withotu the New York test

I must admit that it is the Switzerland results that lower the winning margin of Siteground, because looking at the chart it is clear that the performance of Siteground (the red bars) are better everywhere except in Switzerland.

Did you love this article? Why don’t subscribe to get the latest update directly in your inbox?

But why I am considering Siteground the winner over WpEngine?

Siteground has all of the features of the Personal Plans of WpEngine at a lower price… $29 per month at the time of the test vs. the $13.95 per month of Siteground.

Wpengine Vs Siteground Price comparison

That is not the only consideration because if we compare the Geek Plan I am testing in Siteground with the Personal Plan of WpEngine there are other differences to pay attention to.

In the Geek Plan I have:

  • Email service included
  • Free domain registration.
  • I can also host more websites, versus the single site I can have as part of the personal plan in WpEngine.
  • Starting from the Geek account i have also the Staging
  • Starting from the Geek account i have also the GIT
  • All the features are also for Joomla
  • There is no installation limits
  • There is no Plugin limitations
  • Daily Backups and more…

I must say that I haven’t tested the U.S. server of WpEngine, where maybe the performance might increase. Additionally, there is some news from both services.

In perfect timing with the test I received two emails, one from WpEngine and one from Siteground, telling me that they (both) were updating their U.S. servers.

Siteground and WpEngine Us Server Upgrade

So maybe there are future test to conduct.

But even if I achieve some better performance (things that we clearly don’t know now) with WpEngine I don’t have the same service for the same price that Siteground offers.

With WpEngine I cannot have more domains, a registrar and the email so my personal Winning Tag still goes to Siteground.

Claim it Now
Claim your Siteground special offer Now!

Try Siteground Risk Free! You have the 30 Days Money Back Sitegorund warranty! Claim it now!

Also I must say that althoug for me WpEngine has always been a good choice, I cannot forget the support trouble that happened to Matthew with WpEngine not too long ago.

This trouble forced Matthew to move to Traffic Planet Hosting, which may be another good hosting providing to challenge next in the future.

So now lets CRUNCH some more Siteground tests

I have done many interesting test over WpEngine and obviously over Siteground.

You can download all the spreadsheets unlocking the box below and see the various tests for yourself:
[sociallocker id=”684″]

Thank you for Sharing! Don’t forget to get in touch with me, be part of this change!

Join me on Google+ and introduce yourself:

How I have performed my tests?

To do a good test we must be aware of 3 things.

The first thing is the warm up time. Each time a page will get called it warm up the DNS caches.It contributes to heat the servers, database interrogations, so usually when the same page is asked more time in a row, usually the second time is faster.

If you want to study all this information you can look at this interesting video from Patrick Meenan (Google) here:

So keep in mind this info, and also remember that every time a test is performed the results are not always the same.

 

As Said I have kept the entire test archived in my account so you can review it by yourself at a later time:

Here the tests list:
http://www.webpagetest.org/testlog.php?days=182&filter=www.lifestyleultimatum.com&nolimit=on

I decided with WebPageTest to perform for each location 3 tests in a row on 5 different pages.

All pages have been tested from different locations, with different browsers.

I started with New York and Chrome, then Miami with Chrome on the U.S. side. Then for the European side I tested London, Paris, and Switzerland because it is closer to Italy.

Remember that I am also interested in the Italian market, and also wanted to see how my server performs worldwide. So, I setup an imacros Macro to help me collect all the data in a spreadsheet and automatize the test.

Here The Macro for the Data Extraction:

VERSION BUILD=8820413 RECORDER=FX TAB T=1 SET !EXTRACT_TEST_POPUP NO SET !EXTRACT URL TAG POS=1 TYPE=SPAN ATTR=TXT:www.* EXTRACT=TXT TAG POS=1 TYPE=P ATTR=TXT:From:*,*-*-* EXTRACT=TXT TAG POS=1 TYPE=TH ATTR=TXT:Time EXTRACT=TXT SET !VAR2 {{!EXTRACT}} SET !EXTRACT NULL TAG POS=1 TYPE=TD ATTR=ID:fvLoadTime EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvLoadTime EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:fvTTFB EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvTTFB EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:fvStartRender EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvStartRender EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:fvDocComplete EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvDocComplete EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:fvRequestsDoc EXTRACT=TXT TAG POS=1 TYPE=TD ATTR=ID:rvRequestsDoc EXTRACT=TXT TAG POS=1 TYPE=TD ATTR=ID:fvBytesDoc EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvBytesDoc EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:fvFullyLoaded EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvFullyLoaded EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:fvRequests EXTRACT=TXT TAG POS=1 TYPE=TD ATTR=ID:rvRequests EXTRACT=TXT TAG POS=1 TYPE=TD ATTR=ID:fvBytes EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR1}} TAG POS=1 TYPE=TD ATTR=ID:rvBytes EXTRACT=TXT SET !VAR1 EVAL(“var s=\”{{!EXTRACT}}\”; s.replace(\”s\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”KB\”,\”\”);”) SET !VAR1 EVAL(“var s=\”{{!VAR1}}\”; s.replace(\”.\”,\”,\”);”) SET !EXTRACT {{!VAR2}} ADD !EXTRACT {{!VAR1}} SET !CLIPBOARD {{!EXTRACT}} SET !VAR2 EVAL(“var s=\”{{!VAR2}}\”; s.replace(\”URL_\”,\”\”);”) SET !VAR2 EVAL(“var s=\”{{!VAR2}}\”; s.replace(\”[EXTRACT]\”,\”_\”);”) SET !VAR2 EVAL(“var s=\”{{!VAR2}}\”; s.replace(\”[EXTRACT]\”,\”_\”);”) SET !VAR2 EVAL(“var s=\”{{!VAR2}}\”; s.replace(\”[EXTRACT]\”,\”_\”);”) SAVEAS TYPE=EXTRACT FOLDER=/Users/admin/DESKTOP/ FILE=speedtest.csv

 

Here the Macro to automatize the test:

VERSION BUILD=8820413 RECORDER=FX TAB T=1 URL GOTO=http://www.webpagetest.org/ TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:url CONTENT=http://www.lifestyleultimatum.com TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:label CONTENT=BHLU-3LO-Ff-Hp TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:urlEntry ATTR=NAME:submit TAG POS=1 TYPE=A ATTR=TXT:Home TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:url CONTENT=http://www.lifestyleultimatum.com/affiliate-marketing-toolkit-analytics-event-tracking-much/ TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:label CONTENT=SBHLU-3LO-Ff-Analytics TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:urlEntry ATTR=NAME:submit TAG POS=1 TYPE=A ATTR=TXT:Home TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:url CONTENT=http://www.lifestyleultimatum.com/lifestyle-report-of-july-2014/ TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:label CONTENT=BHLU-3LO-Ff-LifestyleReport TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:urlEntry ATTR=NAME:submit TAG POS=1 TYPE=A ATTR=TXT:Home TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:url CONTENT=http://www.lifestyleultimatum.com/website-heat-map-tools-now-see/ TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:urlEntry ATTR=ID:label CONTENT=BHLU-3LO-Ff-Inspectlet TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:urlEntry ATTR=NAME:submit TAG POS=1 TYPE=A ATTR=TXT:Home

In this way I have had the same load at each server doing 5 test 3 times each for each page.
The third thing is to give to each Hosting the same opportunity whenever possible.
So if you are using some CDN, use it to both the hosting, or better yet, get rid of it from both, so you are sure that there is no things in the middle that can fail.

Be sure that all the plugin and themes are updated.

And finally every time I changed server, in order to be sure that I was testing in the right place I have made small changes on the website like change a color in the logo etc…

Important, only small changes that don’t affect the code or the load time.

So here all the tools needed:

Excel Spreadsheet with all the data collected:
WP-SG1.xlsx It is a ZIP File
Here the tests list:
http://www.webpagetest.org/testlog.php?days=182&filter=www.lifestyleultimatum.com&nolimit=on
GTMetrix:
http://www.gtmetrix.com/
Pingdom:
http://tools.pingdom.com/fpt/
WebPageTest:
http://www.webpagetest.org/
How to verify your DNS:
http://www.dnswatch.info/dns/dnslookup
Tools to check for GZip compression on your server:
http://www.gidnetwork.com/tools/gzip-test.php

[/sociallocker]

Testing the Cache

I have also tested the 3 caching levels of Siteground, one versus the other.

In the U.S. server the cache level 2 performs better than 3, and paying attention to the other comparisons it seems that the third level is not always the best solution.

But I notice that both the Siteground Server correctly configured they have the same load time, this mean that the quality persist no matter the server.

2 Cache Level Comparison

Good and Bad of Siteground.

With Siteground I paid $50 to move my website because it was bigger than 1 Gb. But is it really so much work to do? It also cost another $30 to move it between server locations.

But, as part of the Geek Plan Siteground offers a lot of features such as the Staging and GIT. These are not limited only to WordPress as they are available also for Joomla.

Then you also have daily backups, auto update and many more good features.

Furthermore it has cheaper plans that are ideal for the entry level, and it is also the best option for advanced users.

I am only sorry that they pay lower commission than WpEngine, but we are searching for quality, so the winner of this competition is Siteground!

So guys, hopefully you enjoyed this review. It took me more than two weeks to complete, among all the other work I have had to do.

Please share and don’t forget to subscribe to my Newsletter, so you don’t miss other great tutorials and reviews such as this one.
Get in touch with me!
Claim your Ultimatum