Case studies/E-commerce & marketplaces
Beauty e-commerce · 18,000-page catalogue

Luxury Parlor

2006 - 2026

Professional beauty storefront - salon hair care, fragrances, makeup and skin care from Kerastase, Aveda, Redken, Bumble and bumble, Estee Lauder, Dior and La Mer - whose 18,008-page catalogue now runs as static files on Cloudflare Pages.

Overview

Luxury Parlor is a professional beauty storefront - salon hair care, hair loss, fragrances, makeup, skin care, natural and organic, mommy and baby, body and spa, accessories and gift sets - carrying the brands a salon actually stocks: Kerastase, Aveda, Redken, Bumble and bumble, Paul Mitchell, Keratin Complex, Macadamia Natural Oil, American Crew, Bosley, Davines and Mason Pearson on the hair side, Estee Lauder, Christian Dior, Clarins, Clinique, Dermalogica, La Mer, Chanel and Bvlgari on the beauty side. The footer carries a 2006 to 2026 copyright, and the site still runs the merchandising it was built with: a beauty sale, free shipping over $99, a free gift at $200, international shipping, a wholesale sign-in with its own application, and an authenticity guarantee answering the grey-market question every discount beauty store gets asked.

The catalogue is the asset, and it is large: the sitemap lists 18,008 URLs - brand and category pages such as Aveda, Kerastase with its Nutritive, Resistance, Reflection, Soleil and Specifique lines, Keratin Complex, Sexy Hair and Bosley, plus thousands of product pages with their prices.

Today it is served as static files from Cloudflare Pages. A catalogue that size does not sit in one project comfortably, so it is split in two: the page project serves the 18,000 HTML pages, and every /static/ path - product imagery, banners, the old stylesheet and script bundle - 301-redirects to a second Pages project that serves assets only. The original front end is preserved as it was, jQuery 1.4.2 menus and rotating banners included, so the storefront looks and navigates exactly as it did.

What the static build serves is the catalogue and the merchandising around it. The dynamic parts of the old application - adding to the cart and checking out - are not part of it: the add-to-cart controls are inert in the markup and the cart page renders as an empty snapshot.

What was built

Stack

Frontend

Static HTML catalogue
18,008 pages served as files; no application server behind them
jQuery 1.4.2
The storefront's original scripts: jdMenu navigation, innerFade banners, dimensions and positioning plugins

Infrastructure & DevOps

Cloudflare Pages
Two projects: one for the pages, one for the images and legacy assets
301 redirects
Every /static/ request is redirected to the asset project, so the original markup keeps working unchanged

Engineering highlights

Hosting cost and maintenance for a store of this size went to what static hosting costs: no database, no PHP, nothing to patch, and a catalogue that cannot go down because an application did.

The split into a pages project and an assets project is what makes 18,000 pages plus their imagery practical to deploy on Pages at all - and the 301 rules mean the legacy HTML never had to be touched.

A 2006-era front end was kept deliberately: rewriting it would have meant rebuilding the merchandising, the menus and the brand hierarchy that customers navigate by.

The URL structure survived the move, so the brand and category pages the catalogue was indexed under are still the ones being served.