Pair of Thieves
Performance basics and clothing brand.
Pair of Thieves (PoT) is a diverse clothing brand with the tagline: we’re here to make all lovely humans ready for everything. Ambaum first engaged with Pair of Thieves in the summer of 2019 and we were brought in initially to fix performance issues on the site.
Ambaum took over regular maintenance work on the PoT site and quickly got started creating new custom pages, adding a new collection navigation features, as well as various minor style edits, and developing custom discount scripts for special promotions.
PoT was struggling with slow-loading pages and Ambaum kicked off a site speed diagnostic to figure out what was causing the problem. The biggest problem we found was how the theme managed color swatches for their products. PoT lists different colors of the same product as separate products, rather than variants of the same product in order to improve SEO, but this requires custom code in the theme to associate the different colored products with each other. The information has to be stored under the hood so that the theme knows what products go together, and what swatch image to display for each color.
- The previous code developed for managing these swatch associations was inefficient, it required looping through many large lists of data in order to pull the information needed to display the swatches under a product. This slowed download times considerably as the looping caused it to take longer to pull all of the needed information from the server.
- We were able to improve the efficiency of the swatch code by moving some of the data out of lists that had to be looped through, into metafields which could be accessed more quickly and efficiently. Rather than having to loop through a long list of swatches until the needed one was found, we are able to instantly access the swatch by name through metafields. We also came up with more efficient ways to store the groupings of products. While some looping was still required to go through and get the data for the products, splitting things out into smaller groupings reduced the amount of looping needed. These edits provided a noticeable improvement to the loading speed of the site.
While we were able to make some improvements to the site loading speed by editing things like swatches to be more efficient, some of the site speed issues were more deeply rooted in the foundational structure of the site, so in order to further improve site speed, we began a complete theme rebuild that with an eye towards efficiency and performance.