Social Media Web Design June 3, 2020

Ethnava full stack seo peoject for chikankari garment wordpress woocommmerce site

A global brand entrusted us with a unique challenge: crafting an internal tool to share its brand story with every employee, from sales to product development. This wasn’t just about information – it was about forging a unified company culture.

Task

Building an internal tool of this scale is no small feat, but with the right approach, it can be a powerful force for uniting a company.

  • Strategy

    Brand Strategy, UX Strategy

  • Design

    UI/UX Design, Art Direction

  • Client

    Envato

Open Project

Project Overview

Ethnava is a heritage Chikankari garment brand transitioning from a purely offline, artisan-led sales model to a full digital commerce operation. The brand engaged us to design, build, and technically optimize a WordPress/WooCommerce storefront capable of ranking competitively for high-intent, low-volume long-tail queries in a niche handicraft vertical, while handling variant-heavy inventory (fabric, size, embroidery pattern, colorway) at scale.

Technical Stack

  • CMS/Commerce: WordPress 6.x + WooCommerce, hosted on a LiteSpeed-based VPS with PHP 8.2 (OPcache enabled, JIT compilation on)
  • Caching layer: LiteSpeed Cache with object caching via Redis, ESI (Edge Side Includes) for the mini-cart and account widgets to keep page-level caching enabled sitewide
  • CDN: Cloudflare in front of the origin, with Argo Smart Routing and Polish (lossy) for automatic image compression
  • Search/Indexing: WooCommerce native search replaced with a custom Elasticsearch-backed layer to handle fuzzy matching on regional/transliterated product names (e.g., “Chikankari” vs “Chikan” vs “Chikan kari”)

Information Architecture & Technical SEO

The core SEO challenge was disambiguating a large catalog of visually similar variant products without triggering duplicate content penalties. We implemented a canonical hierarchy where parent products own indexable URLs and variant permutations (fabric/colorway) are handled via query parameters excluded from indexing through a combination of a custom robots meta rule and Google Search Console URL parameter handling.

Structured data was implemented using JSON-LD, covering Product, AggregateRating, BreadcrumbList, and Organization schema types, validated against the Rich Results Test. We built a custom schema generator hooked into woocommerce_structured_data_product to inject GTIN/MPN-equivalent identifiers (SKU-mapped) and availability status dynamically per variant.

Category pages were restructured around a faceted navigation model (fabric type, occasion, embroidery style, price band) using AJAX-filtered results with pushState-driven URL updates, ensuring each meaningful facet combination remains crawlable and indexable while low-value combinations are noindexed via a rules engine keyed on combined facet cardinality.

Core Web Vitals & Performance Engineering

Baseline Lighthouse performance score on mobile was 31 pre-migration. Post-optimization, we achieved a consistent 92-96 range through:

  • Critical CSS extraction and inlining per template type (shop, product, cart, checkout) using a build-time Critical CSS pipeline
  • Deferred and conditionally-loaded JavaScript — WooCommerce’s cart fragments script was rewritten to load only on interaction rather than on every pageload, eliminating a persistent 340ms main-thread block
  • Image delivery via WebP/AVIF with responsive srcset/sizes attributes generated at upload time, lazy-loaded below the fold using native loading="lazy" with an IntersectionObserver fallback for older browsers
  • Largest Contentful Paint (LCP) reduced from 4.8s to 1.6s by preloading the hero product image with fetchpriority="high" and eliminating render-blocking web font requests via font-display: swap
  • Cumulative Layout Shift (CLS) brought under 0.05 by reserving aspect-ratio boxes for all product imagery and ad-hoc dynamic content blocks

WooCommerce-Specific Engineering

Given the fabric/embroidery variant matrix (up to 40+ SKU combinations per parent product), we moved variant pricing and stock logic out of standard WooCommerce variation meta lookups (which scale poorly past ~30 variations) into a custom indexed table joined via a REST-based variant resolver, cutting variant-switch AJAX response time from ~900ms to under 120ms.

Checkout was streamlined into a single-page flow using WooCommerce Blocks (Store API) rather than the legacy shortcode checkout, reducing steps from 4 to 1 and cutting cart abandonment. Payment integration includes Razorpay and UPI intent deep-linking for mobile checkout, with webhook-based order status reconciliation to handle intermittent gateway callback failures.

Results

Within four months of relaunch: organic sessions increased 214%, non-brand keyword rankings in the top 10 grew from 12 to 187 terms, mobile conversion rate improved from 0.8% to 2.1%, and average page load time on 4G connections dropped from 6.2s to 2.1s.

Back