---
layout: page
title: Takealot
---

Takealot is a popular South African ecommerce site. They stock a wide range of goods, so they have big Information Architecture challenges. They process of a lot of transactions, so they have big scaling challanges. We're going to focus on something that we can see and test: the front-end performance of the site.

## Statistics

* Google's PageSpeedInsight: [53 on mobile and, erm, 5 on desktop](https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.takealot.com%2F&tab=mobile)
* Webaim's WAVE: [1 error and 115 alerts](http://wave.webaim.org/report#/http://www.takealot.com/)
* WebPageTest on 3G, running Motorola G, Chrome: [SpeedIndex of 19294 on first view](http://www.webpagetest.org/result/160605_HJ_f56acba8e102bb1422cf9edaf1a7d13f/)

## Review

Here are a few things that stand out as areas for improvement:

- lots of static assets not cached;
- images not optimised;
- lots of JavaScript files.

Setting expiry date or maximum age headers for more of the image, CSS, and JS files would mean files get cached by the browser: instead of fetching those files from the web every time, the browser would use the local ones. That means the page would load faster and use less of the user's data.

Optimising the images would reduce the file sizes. That means the page would load faster and use less of the user's data.

Combining / concatenating the JavaScript files would lead to fewer HTTP request, meaning a faster page load. Ideally, the number of JavaScript files should be reduced. There are quite a lot of scripts that add glitzy UI elements (tooltips, scroll-jacking, and the like): it would be worth reviewing these with user testing to see whether they add real value to users. There are also quite a few `script` tags inside the page itself: these should be moved to external files so that they can be cached, and more maintainable.

---

Published on Friday 10th June 2016.

[Steve Barnett](https://naga.co.za/) ([@maxbarners](https://twitter.com/maxbarners)) and [Justin Slack](http://justinslack.com/) ([@justin_r_slack](https://twitter.com/justin_r_slack))

[CTFEDs](http://ctfeds.org/) Organising Team

Add first thoughts on TAL
Add first thoughts on TAL
