It has been almost a full year since Covid-19 started. It has changed the way of life and businesses drastically. There is a good number of Pakistanis who started buying online for the first time in their lifetime. A lot of businesses started selling online. Businesses, who never took their online platform seriously, started investing in ecommerce and digital marketing. Businesses, who could not afford a full-fledged ecommerce platform, started advertising their WhatsApp number for online orders.
A few days back, I was trying to buy something online. The website was terribly slow and I could not complete the transaction. A quick investigation showed that it was a badly maintained Magento theme. In the early 2010s, when we were working with different retail fashion brands, Magento was the go to option for a brand’s ecommerce presence. Brands would half heartedly hire someone to install and configure a free Magento theme on a shared hosting, put 10-20 products there and forget about it. They were not interested in online sales and the sole purpose of this activity was to keep their online presence. Nobody ever cared about optimizing or maintaining those low traffic websites. SaaS based hosted solutions were unheard of.
Is it still the same case? How have things evolved during the last decade? I pulled a list of ≈100 local retail fashion brands and started looking for answers. The list covers small to big local apparel brands for kids, teenagers, men & women.
Shopify is clearly the winner here but the situation was very different just a year ago.
As apparent from the above chart, Magento was the king till 2020. Everyone, including Magento & Fishry, lost their share from the pie. Something significant happened during the last year. Brands are trying to find smarter ways to sell online. Shopify’s partnership with Facebook has improved Facebook/Instagram ad conversion for Shopify customers. We have heard horror stories of poorly managed Magento ecommerce websites crashing in sales days. Finding and maintaining a skilled in-house Magento team is also getting expensive due to the increase in outsourcing.
Now the next question, does choice of technology affect website performance? Is X faster than Y? I tested all these websites using a high-speed Pakistani internet connection. Let’s look at TTFB first:
Some brands have managed to keep TTFB low by intelligently designing their homepages irrespective of the backend. We have examples of low TTFB for Magento, Fishry & Shopify. Geolocation of servers also matters here. We know that Shopify is hosted in Canada, Fishry in Hong Kong and self hosted Magento can be anywhere in the world but mostly the United States.
Approximately, 85% of the websites are hosted in North America, 10% in Europe and only 5% in South East Asia. Is it a sensible choice to host your website 2-3 continents away from your primary audience? Although some new Pakistan based hosting & cloud services are popping up but no ecommerce website is using them. Maybe because they are expensive or maybe their services are not upto mark. GeoLocation can be tricky sometimes. It is not just about kilometers. You have to consider the map of submarine cables and geopolitical situation as well. For example, once I received a call from a friend asking for help regarding their slow website. The website was hosted on an AWS instance in our not-so-friendly neighbouring country. This seemed to be the best possible location, for serving people in Pakistan, when you look at the map only. The instance was pretty big and wasn’t being utilized 100%. But still communication with the instance was very slow. I recommended them to move their host location to South East Asia or Europe and the problem resolved. Sometimes, a location in Europe gives a better ping than South East Asia.
Not using a reverse proxy/cache or CDN can also slow down the website. CDNs help to increase performance of your pages by serving them from the nearest POP. But for actions performed on ecommerce websites like “add to cart” & “checkout”, the request must reach the end server. I don’t think that anyone is using edge node compute yet for this purpose. This is the real test of a website’s performance. This is where most of these websites crash during sales days.
Shopify uses both CloudFlare and Fastly. CloudFlare for serving pages and Fastly for its static content. CloudFlare has data centers in KLI. In my experiment, Shopify requests were served from CloudFlare’s Karachi POP. Other self-hosted websites using CloudFlare on their front were served from Singapore or Hong Kong. Maybe because they are using a free account on CloudFlare. Fastly has no presence in Pakistan. All static content (Shopify or Self hosted) is being served from Singapore or Hong Kong. About 1/3 websites don’t use any CDN at all.
Out of these 30% self-hosted no CDN websites, almost 1/3 are still using cheap shared hosting. This doesn’t necessarily mean a slow website. A basic instance on a big cloud provider can slow down the backend performance as well. What surprised me was that none of the top 3 cloud service providers are at second or third position. Alibaba cloud & Digital Ocean have taken these positions.
Finally, geo location of server, hosting provider and use of CDNs help as long as other parameters are optimized as well. For example, a CDN cannot help when your end customer is on a slow DSL or 3G connection and you serve him a 30MB web page. Only a small percentage of websites optimize their web page size.
Shopfiy seems to be the easiest way to optimize many things about your website including performance. It has its own set of problems. First, latency of actions is always going to be high as it is hosted across the globe. CDNs can only help for static content. Secondly, choice of a bad theme or using a lot of high-resolution images or client side libraries can still degrade performance of your website just like Magento or any other platform. Magento based websites are relatively harder to maintain. You have to do all the optimizations yourself that Shopify does for you. The only advantage over Shopify would be that you can bring servers nearer to your primary audience and reduce latency for actions.
Disclaimer: This survey was performed using publicly available data. I have no link with any of these technology platforms. Facts published in this post can change over time.