Case Study · Wedding & Event Decoration · Kolkata, India

Wedding decoration business in Kolkata
gets a 113-page custom site.

A women-owned wedding and event decoration business in Kasba, Kolkata. The challenge: building a scalable WordPress architecture for 12 services × 12 locations (113 unique pages including the homepage and core pages) — all hand-coded, schema-perfect, and fast.

The situation

What we walked into

  • Original site was a generic template with 6 service pages and no location pages — invisible in local search.
  • Schema errors in Google Search Console — duplicate AggregateRating blocks, nested itemReviewed errors.
  • Mega menu broken on homepage. Accessibility issues with contrast ratios. FOUC (flash of unstyled content) on every page load.
  • Real customer reviews mixed with placeholder text from the original template.
  • No structured GSC submission strategy — pages were getting crawled erratically.
The work

What we did

No silver bullet. Just the methodical, unfashionable work that moves rankings for local service businesses.

01

Custom theme with 113-page architecture

Hand-coded PHP theme supporting 12 services × 12 locations as separate URLs. Each with unique content, schema, internal linking.

02

Schema audit + cleanup

Added WebSite, Review, ContactPage, AboutPage, Person, ImageGallery, Blog, and Service+OfferCatalog schemas. Removed duplicate AggregateRating. Fixed nested itemReviewed.

03

RankMath redirect cleanup

21-URL redirection CSV processed through RankMath for legacy URLs.

04

Accessibility fixes

Replaced failing contrast colors (#7B5C00 gold, #15803D green) with WCAG AA-passing variants.

05

Real reviews replace placeholders

Audited every review on the site. Removed all template placeholders. Wrote schema-marked sections for real customer reviews.

06

12-batch GSC submission strategy

Organized 113 URLs into 12 batches by topic cluster for orderly indexing.

What we learned

Takeaways

If you're in a similar situation, these are the patterns we'd want you to know about.

Service × Location matrix scales

12 services × 12 locations = 144 long-tail keywords addressed. Most local businesses skip this matrix because it's tedious — but it compounds over time.

GSC errors compound silently

Schema errors don't crash your site. They just quietly suppress your rich results. Cleaning them is invisible work that pays off in CTR.

Accessibility matters for SEO

Contrast issues and missing focus states show up in Lighthouse audits, which affect Core Web Vitals scoring.

Client name not disclosed by request. All details accurately reflect real work performed. Specific metric ranges anonymized to protect client identity in a competitive market.

Sound like your situation?

Start with a free audit. We'll show you what's actually wrong — same depth as what we did here.