Skip to main content

Case Studies

Structured Data Case Study in Pakistan

Valid Product schema coverage rose from 18% to 97% of product pages, lifting organic CTR 31% on commercial templates and organic sessions 34% within 90 days.

Structured Data and Rich Results for a Multan Spice-Blend D2C Brand campaign results dashboard
Case study D2C Brand
Result snapshot +31%

Answer-ready summary

What happened in this case study?

Valid Product schema coverage rose from 18% to 97% of product pages, lifting organic CTR 31% on commercial templates and organic sessions 34% within 90 days.

A Multan-based D2C brand selling spice blends and specialty foods nationwide saw its product-page clicks fall 19% within two months of a storefront redesign, while impressions stayed flat. The redesign had destroyed the site's structured data, wiping rich results off the search listings for its highest-intent pages. The fix was not more content or backlinks — it was rebuilding schema from a single source of truth.

The rollout ran in 4 phases: Structured-data audit and template inventory; Single-source schema rebuild; Validation, recrawl, and snippet optimization; Entity clarity and compounding content.

At a glance

Case summary

Industry
D2C food (spice blends and specialty foods)
Market
Pakistan (Multan)
Duration
90 days
Client type
D2C Brand
Services used
Schema markup and structured data implementation, Technical SEO audit, On-page SEO, Entity optimization
Starting problem
A WooCommerce theme migration silently broke the brand's product schema, wiping star ratings and price snippets off the search results for its highest-intent pages.
Work completed
Rebuilt all structured data from a single template source, added Organization, Recipe, FAQPage, and breadcrumb schema, and repaired the brand's entity signals.
Evidence type
illustrative_composite

Results and proof

Measured impact at 90 days

Headline outcomes first — where a metric moved from a measured starting point, both ends of the change are shown before the full execution notes.

+31%

Organic CTR on product templates

Improved from 2.4% to 3.15% (+31%) on the top 200 commercial queries

97% share

Product pages with valid Product schema

Grew from 18% to 97% of indexed product pages

From effectively zero to 31,200 per 28

Rich-result impressions

From effectively zero to 31,200 per 28-day period

+34% against

Organic sessions

+34% against the pre-migration baseline at day 90

Measured metrics

Before and after

3.15% Organic CTR (product templates)
97% Product pages with valid Product schema
+34% Organic sessions
+22% Non-brand organic orders

Challenge context

Challenge context

A Multan-based D2C brand selling spice blends and specialty foods nationwide saw its product-page clicks fall 19% within two months of a storefront redesign, while impressions stayed flat. The redesign had destroyed the site's structured data, wiping rich results off the search listings for its highest-intent pages. The fix was not more content or backlinks — it was rebuilding schema from a single source of truth.

1,140 of 1,390 product items flagged invalid in Search Console after the theme migration

Organic CTR on product templates fell from 3.0% to 2.4% over eight weeks while impressions held

Three different page components emitted conflicting Product schema, so Google trusted none of them

30+ recipe posts — the brand's biggest content asset — carried no Recipe markup at all

The brand name collided with a similarly named Gulf food business, confusing brand searches

Execution roadmap

Implementation phases

Delivered in 4 phases, in the order they ran, with each phase building on the outputs of the one before it.

01

Phase 1

Structured-data audit and template inventory (Weeks 1-2)

02

Phase 2

Single-source schema rebuild (Weeks 3-5)

03

Phase 3

Validation, recrawl, and snippet optimization (Weeks 4-8)

04

Phase 4

Entity clarity and compounding content (Weeks 8-12)

The Client

The client is a Multan-based D2C brand selling spice blends and specialty foods — single-origin chili and turmeric powders, blended masalas for biryani, karahi, and chaat, gift boxes for Eid and corporate gifting, and Multan-style confectionery specialties — founded in 2020 by two siblings from a family spice-trading background. The brand runs on WooCommerce, ships cash-on-delivery nationwide, and draws roughly 60% of orders from Karachi, Lahore, and Islamabad, with the rest spread across secondary cities where the family’s wholesale reputation already travels by word of mouth.

The catalog holds about 220 SKUs, average order value near PKR 2,900, and online revenue around PKR 3.6 million a month, split between paid social and organic search. Organic matters disproportionately to this brand: blended masala queries carry strong commercial intent, margins are tight enough that a 30% organic share is the difference between profitable and break-even growth, and their content hub — 30-plus recipe posts in English and Urdu — had quietly become the brand’s largest acquisition asset.

They engaged WeProms in the spring of 2026 after a storefront redesign aimed at improving conversion rate produced an unwanted side effect. The redesign itself was competent work — a freelance developer had rebuilt the theme around faster product pages and a cleaner checkout, and conversion rate did improve. But within weeks of the new theme going live, the star ratings, prices, and availability tags vanished from their Google listings. Product-page clicks fell 19% over two months while impressions stayed flat — the signature of a rich-result eligibility break rather than a ranking problem. The internal team had resubmitted sitemaps and tinkered with their SEO plugin without effect, because the cause sat in the theme layer they were reluctant to touch again after paying for it once.

The Problem

The diagnosis took days, not weeks, because Search Console told most of the story. After the migration, 1,140 of 1,390 product items were flagged invalid in the enhancement reports. The specific errors — missing offers, missing availability, and duplicate conflicting Product graphs — pointed to a site emitting structured data from more than one place at once.

  • Three emitters, zero trust. The new theme shipped its own partial Product JSON-LD, the SEO plugin emitted a second graph, and the review plugin a third — with different price fields, different currencies, and no coordination. Faced with contradictory markup, Google effectively trusted none of it and dropped the rich results.
  • Commercial CTR fell 20% in eight weeks. Product-template CTR slid from 3.0% to 2.4% while impressions held, confirming that the loss was eligibility, not position — the pages still ranked, they just looked bare next to competitors showing stars and price.
  • The recipe hub was invisible to rich results. Thirty-plus recipe posts, the brand’s most-linked content, carried no Recipe markup — no ratings, cook times, or ingredient display in search, in a query category where recipe rich results dominate the screen.
  • The brand entity was ambiguous. The brand shares its name with a similarly named packaged-foods business active in the Gulf region. Queries combining the brand name with “recipes” or “online order” were surfacing the other company’s pages and socials, splitting the entity’s signals.
  • No breadcrumbs anywhere. SERPs displayed raw URL paths, wasting a line of snippet real estate on every listing.
  • Hand-patched markup was structurally doomed. The old theme’s JSON-LD had been hand-edited per product, which is why valid coverage had already decayed to 18% of product pages before the migration finished the job. Any fix that relied on manual edits would decay the same way.

The commercial math made the fix urgent. Rich results do not directly change rankings, but on commercial queries they change who gets clicked — and the brand was competing for clicks against national spice names whose listings showed stars, price, and stock while theirs showed a bare blue link.

Phase 1 — Structured-Data Audit and Template Inventory (Weeks 1-2)

Ready to improve your marketing results?

Book a free strategy call - we'll audit your current setup and identify the highest-impact fixes.

Book Free Call

The audit began as a technical SEO audit scoped to structured data: every template crawled, every page’s markup run through the Rich Results Test and the Schema Markup Validator, and every Search Console enhancement report baselined. The point was not just to list errors but to establish which component owned each schema type and what single source of truth should replace the three-way conflict.

TemplateSchema foundStatus
HomeNoneMissing Organization and WebSite
Category (12 pages)Partial ItemList from SEO pluginInvalid
Product (220 pages)Conflicting Product graphs ×2–3Invalid on 82%
Recipe (30 posts)NoneMissing Recipe
Blog indexNoneAcceptable — not required
ContactNoneLow priority

Alongside the crawl, we baselined template-level CTR from Search Console over a 90-day window: the top 200 product queries, their average position, impressions, and clicks, so the CTR recovery could later be measured on the same query set rather than on sitewide numbers that move for a dozen reasons.

The phase closed with two governance decisions that shaped everything after. First, one emitter per schema type: a single template partial would generate all structured data from product metafields and the review platform — no plugin duels, no theme defaults. Second, ratings markup would only ever appear where at least five genuine reviews existed, because Google’s review-snippet policies penalize markup that misrepresents review substance, and a spice brand’s credibility is the whole business.

Phase 2 — Single-Source Schema Rebuild (Weeks 3-5)

The rebuild followed the site’s own schema markup and structured data implementation pattern: generate once, from data the store already owns, in one place.

Product, Offer, and AggregateRating — One WooCommerce template partial now renders the complete Product graph from product metafields and the review platform’s API: name, image, description, offers with price and PKR currency, availability including proper OutOfStock handling for sold-out blends, and aggregate rating pulled from real customer reviews only. Products with fewer than five reviews render clean Product and Offer markup without the rating — eligible for price and availability snippets now, and automatically gaining stars as review volume accrues. Nothing is hand-edited; a new product added today ships with valid markup today.

Organization and WebSite — The home page now carries a complete Organization graph with sameAs links to every official property: the brand’s social profiles and its Daraz storefront. This is the entity-disambiguation play — consolidating every signal that tells search engines which business this site represents, in a context where another company operates under a near-identical name.

BreadcrumbList — One template function renders breadcrumbs sitewide, replacing raw URL paths in SERPs with Home › Blends › Biryani Masala, which both improves the snippet and reinforces category structure.

Recipe schema — Eighteen recipe posts with genuinely complete ingredients, steps, and cook times received full Recipe markup. Each recipe links in body copy to the blend it features — the biryani recipe to the biryani masala page, the chaat guide to the chaat masala — keeping the commercial connection editorial rather than stuffing it into the markup itself.

FAQPage, selectively — Six pages carry FAQPage schema where real, repeated customer questions exist: nationwide COD coverage, heat-level guidance, shelf life and storage. Question markup was added where answers were already on the page, not invented to chase a snippet.

Deploy hygiene was as deliberate as the markup itself. Every template partial was validated on a staging copy of the store first, then released template by template — product pages first, then recipes, then breadcrumbs sitewide — with a rollback checkpoint after each release. On a live store doing daily COD volume across every Pakistani city, “deploy and pray” is not a migration strategy, and a schema error shipped sitewide is exactly the kind that takes weeks to recrawl clean again.

By the end of week 5, the scoreboard had inverted: 214 of 220 product pages — 97% — carried valid Product schema, Search Console invalid items had fallen from 1,140 to 96 and were dropping with every recrawl, and every page had exactly one schema emitter.

Phase 3 — Validation, Recrawl, and Snippet Optimization (Weeks 4-8)

Valid markup earns nothing until Google recrawls it, so weeks four through eight concentrated on turning validity into rendered results.

The full template set passed clean through both validators, with edge cases handled deliberately: out-of-stock blends kept their offers with availability marked correctly rather than dropping the markup, which preserves eligibility and prevents snippet flicker every time a batch sells out. The sitemap was resubmitted, and the top 60 product pages by revenue were individually queued for crawling to prioritize the listings that mattered most during the recovery window.

Then came the half of snippet optimization that schema cannot do: titles and meta descriptions for the top 40 product queries were rewritten to earn the click the expanded snippet now makes available. Structured data gets stars into a listing; the title still has to make someone choose it. “Biryani Masala — 200g” became “Biryani Masala Blend — Stone-Ground, Ships Nationwide COD”, pairing the rating snippet with a specific, local, shipment-relevant promise.

The recipe hub’s internal links were strengthened at the same time: category pages now surface their three most popular recipes, and every recipe links to its featured blend plus the parent category. This gives crawlers dense paths between the site’s most-linked content and its commercial pages, and it gives users the same path.

Search Console told the story week by week: invalid product items fell from 1,140 to 96 by week 5 to 42 by week 8. The first star ratings and price snippets rendered in live search at week 5; near-full coverage across the top 200 queries arrived by week 8, with recipe rich results following a fortnight later on the highest-volume recipe posts.

The bilingual recipe posts needed one local decision worth recording. Recipes published in Urdu carry inLanguage set correctly and keep Latin-script brand terms in the markup where the brand itself uses them, because the validator cares about structure, not script — and the audience searches in both scripts. A “biryani masala recipe” query in Roman Urdu serves the same rich result as its English twin, and the markup now supports both without divergence between what users read and what machines parse.

Phase 4 — Entity Clarity and Compounding Content (Weeks 8-12)

See this in action

How we helped a Pakistani business achieve measurable results.

Read case study

The final phase secured the gains and put the brand’s content asset to work commercially.

Brand-query behavior changed visibly. Searches for the brand name plus “masala,” “recipes,” or “online order” began returning the correct site with its recipe hub and social profiles, rather than the similarly named Gulf-region business that had been soaking up navigational queries. The combination of consistent Organization markup, unified sameAs properties, and coherent breadcrumbs gave search engines a single unambiguous entity to rank — the unglamorous infrastructure work that makes everything else a brand does online legible.

Ten new recipe posts were commissioned against query patterns the hub already partially served — “biryani masala recipe at home,” “karahi masala recipe,” spice-guides for common Pakistani dishes — each following the same template: complete Recipe markup, genuine step-by-step content, and editorial links to the featured blend. The recipe cluster compounds; every new post strengthens the entity and feeds a commercial page.

Template-level CTR reporting became a standing weekly report rather than a project artifact, so any future eligibility break — a plugin update, a theme change, a new search feature — would surface in days, not months. Ownership was documented at the same time: the marketing team owns the metafields that feed the schema, the developer owns the single template that renders it, and nobody edits JSON-LD by hand, ever. That one sentence of governance is what turns a 90-day project into a permanent capability.

Average position on the top 200 product queries improved modestly from 9.4 to 7.8 across the window, an honest reflection of the internal-linking and entity work; the position gains were real but secondary, and the CTR outcome never depended on them.

Final Results

MetricBaselineDay 90Change
Product pages with valid Product schema40 (18%)214 (97%)+174 pages
Organic CTR, product templates (top 200 queries)2.4%3.15%+31%
Rich-result impressions (28-day period)~031,200New stream
Organic sessionsPre-migration baseline+34%90-day window
Non-brand organic ordersBaseline+22%By week 12
Average position, product queries9.47.8-1.6

Attribution deserves the same honesty here as anywhere. Structured data is eligibility infrastructure, not a ranking switch: the +31% CTR came from snippets that made listings clickable, amplified by the title rewrites of phase 3. The session growth includes the recipe content compounding and the internal-link improvements, and the modest position gains trace to that same work. The clean claim is the one the engagement was built around: a digital presence for food and beverage brands that loses its rich results loses its clicks — and restoring eligibility restored the clicks.

What Made This Work

  1. One emitter, generated from data the store owns. Every schema conflict disappeared the moment a single template partial became the only source of markup, fed by product metafields. New products inherit valid markup automatically, which is why coverage holds at 97% instead of decaying back toward 18%.
  2. Ratings markup stayed honest. Emitting AggregateRating only where five or more genuine reviews exist kept the site inside review-snippet policy and kept the stars that do appear credible — the difference between a durable rich result and a penalty waiting to happen.
  3. The recipe hub became an internal-link engine. Thirty-plus existing posts, properly marked up and linked to commercial pages, did crawl-path and entity work that would have cost far more as a link-building campaign.
  4. Measurement was by template, not sitewide. Isolating the top 200 product queries meant the CTR recovery could be read cleanly; a sitewide CTR number would have buried a 31% template-level gain in noise from the blog.
  5. The cause was fixed, not the symptom. Patching JSON-LD by hand would have restored snippets temporarily and decayed again. Changing the ownership model — who generates markup, from what data — fixed the failure mode itself.

What Teams Can Apply

  1. Check Search Console enhancement reports monthly. Invalid-item counts are a free early-warning system; this break ran two months before anyone looked. A migration, plugin update, or theme change can silently void eligibility overnight.
  2. Enforce one schema source per page. Whatever your platform, decide which single component emits each schema type and disable the rest. Conflicting graphs lose the rich result even when each one is individually valid.
  3. Gate rating markup on real review volume. Stars on thin or manufactured reviews are a policy risk that can cost eligibility sitewide. Markup without ratings still earns price and availability snippets while reviews accumulate.
  4. Measure CTR by template and query set. Sitewide averages hide the commercial story. Fix the query set, track weekly, and you will know within days when eligibility breaks — or when it pays off.

What teams can apply

Use the framework, not just the headline number.

For GEO, AEO, and classic SEO, the useful signal is the sequence: fix crawl access, build answerable category assets, improve conversion paths, and document proof in a format that humans and machines can cite.

Schema was generated from one template source fed by product metafields, so new products inherit valid markup automatically instead of decaying

Rating markup was emitted only where at least five genuine reviews existed, keeping the site clear of review-snippet policy risk

The recipe hub was interlinked with product pages, converting existing content into crawl paths and entity relevance for commercial templates

Limitations

Context and limitations

Illustrative composite engagement built from common patterns in this vertical; CTR outcomes depend on snippets actually rendering in local search results and vary with query mix, competition, and category.

Questions

Case study FAQs

Is this structured data case study framework applicable in Pakistan?

Yes. Google's rich-result systems treat Pakistani sites identically to any other market, and the validation workflow runs entirely through Search Console and free testing tools. The local variables are platform mix — WooCommerce, Shopify, and custom builds are all common here — and bilingual Urdu-English content, which the framework handles by marking up whatever language the page actually serves.

How quickly can we expect results?

First rich results typically render three to six weeks after valid markup is recrawled; this client saw the first star ratings and price snippets at week 5 and near-full coverage by week 8. CTR gains compound over the following month as snippets roll out across more queries.

Can you replicate this process for our business?

Yes. We map the schema types to your catalog, templates, and content assets — Product and Offer for commerce pages, Recipe or FAQPage where genuine content supports them, Organization for entity clarity. We have applied this framework across food, fashion, electronics, and beauty brands in Pakistan.

Do you provide reporting during implementation?

Yes. Weekly Search Console enhancement tracking, validator status by template, and template-level CTR measurement are shared from day one, so you see which URLs regain eligibility and how clicks respond.

Next step

Want a similar rollout in Pakistan?

Share your current baseline and we will map a phased execution plan to your growth goals.

Book Free Strategy Call

Start Here

Let's talk about your growth system

Book a strategy call to discuss how WeProms Digital can help your business achieve better tracking, cleaner attribution, and more accountable growth.

Your data is secure
Typically respond within 2 hours
No obligation - just a conversation
Contact workflow From first message to a useful next step
Step one Context received

Your goals, market, and current channels are captured before we suggest a direction.

This helps us recommend the right engagement level for your needs.

We'll respond via email within 1 business day. Your details are kept confidential.