wiki/knowledge/wordpress/variant-pages-design-pattern.md · 573 words · 2026-04-05

Variant Pages Design Pattern

A pattern for building service-specific landing pages in WordPress/Elementor that present treatment variants (e.g., different add-ons or body areas for a single service) and link directly to a booking system. First developed for [1] as part of their WooCommerce/Bookly integration project.

Overview

When a service has multiple purchasable variants (e.g., "Vampire Facial — Face Only," "Vampire Facial — Neck + Face + PRF Injections"), a dedicated variant page surfaces those options with distinct descriptions, imagery, and a direct booking CTA per variant. This avoids a generic service listing and gives each variant its own bookable entry point.

The pattern was built on the LMB staging site using WordPress + Elementor, with Ishak implementing the variant page templates. As of late 2025, only the Vampire Facial variant page had been fully built out — the remaining ~81 service pages were pending design approval before being templated and replicated.

Implementation

Page Structure

Each variant page typically includes:

There are two CTA link patterns in use on the LMB site, and the distinction matters:

Context Behavior
Service listing card (grid view) "Book Now" links to the generic Square homepage — a known bug on the live site
Individual service detail page "Book Now" links to the specific Square service page — correct behavior

The fix for the listing-card bug is a simple URL swap: replace the generic Square homepage URL with the direct deep-link URL for each service. This is considered a low-effort, high-value correction.

Staging vs. Live

Variant pages were built on the staging site and had not been pushed to production as of the December 2025 sync. The contingency plan (see below) treats the staging variant pages as production-ready assets that can be deployed independently of the Bookly integration.

Contingency: Direct-to-Square Launch

If the WooCommerce-to-Bookly tokenization integration cannot be resolved (see [2]), the recommended path is:

  1. Deploy the staging variant pages to the live site as-is — the design work is complete and high quality.
  2. Wire all "Book Now" buttons to their corresponding Square service deep-link URLs.
  3. Skip Bookly entirely for service bookings; Square remains the booking system of record.

This approach is not framed as a new stopgap — it preserves the existing Square booking flow that clients already use, avoids data migration risk (Square holds 5+ years of client history), and ships the visual design work that has already been completed. The client (Lisa) explicitly rejected "janky" interim solutions, but deploying polished variant pages that link to Square was accepted as a legitimate launch state.

Scale Considerations

Sources

  1. Index|Lmb
  2. Woocommerce Bookly Tokenization Blocker|Woocommerce–Bookly Tokenization Blocker
  3. Index|Lmb Client Overview
  4. No Go Sync — Kim & Melissa