Web Quality Audit: House of Masaba

Website: https://www.houseofmasaba.com | Date: 2026-08-18 | Platform: Shopify (Ecomus-schema theme #157995401438) | Industry: Bridge-to-luxury Indian designer wear

Business context (from business-analysis.md): Shopify D2C storefront for House of Masaba Lifestyle Pvt Ltd (51% owned by ABFRL; FY25 revenue ≈₹116 cr; 898 SKUs; 22 stores). Audience is 84% mobile / 11.9% desktop / 4% tablet (CrUX form factors, 2026-08-15), median order value ₹38,000, festive-driven. This is a decisively mobile-first, consumer-facing store — so mobile UX and load performance are the priority surface.


Executive Summary

House of Masaba's site is healthy in the field and under-indexed in the lab. Real users on both phone and desktop pass Core Web Vitals (CrUX, 2026-08-15), and SEO fundamentals (crawlable, indexable, self-canonical, sitemap wired, 92/100 Lighthouse SEO) are solid. The problem is the synthetic Lighthouse lab run on mobile, which scores 30/100 with an LCP of 7.7s — and a fragile PDP/collection-layer SEO and schema implementation that is actively hurting social sharing and rich-result eligibility.

The single most important tension: the site serves an 84%-mobile audience yet its lab mobile performance is in the red. Field data is currently Good, but it sits close to thresholds (mobile INP p75 ≈ 203 ms — worse than the origin aggregate — and LCP p75 ≈ 2.5 s, right at the Good/Needs-Improvement boundary). A festive-season traffic spike (the brand is mid-"Festive 2026") can push field metrics into Needs Improvement fast. The lab result shows where the headroom leak is: render-blocking CSS/JS (est. 2,090 ms), inefficient cache lifetimes (1,324 KiB), and unoptimized hero/image delivery (633 KiB), on top of 147 script tags (Contentsquare, Gokwik, Loox, Yotpo, Klaviyo, Nitro Upsell, Nova, social login).

Separately, critical SEO/schema defects on product and collection pages will suppress organic visibility and rich results regardless of speed: the PDP <title>/description are broken or missing, Open Graph/Twitter images are entirely absent (so Instagram/Facebook shares render as bare links — a major miss for a brand whose discovery is 80%+ social), and the Product schema emits the wrong brand name and the literal string "Standard Shipping: 6 - 8 Weeks" as its description.

CategoryMobile ScoreDesktop ScoreGrade
Performance3052🔴 / 🟡
Accessibility8282🟢
Best Practices5454🟡
SEO9292🟢
Overall (lab-weighted)🟡
Note: Accessibility/Best-Practices/SEO audits are device-symmetric; only Performance differs (Mobile 30 vs Desktop 52). The mobile-vs-desktop performance gap (~1.7× on the performance score, and 7.7 s vs 1.5 s LCP) is large and driven by mobile CPU/network constraints hitting the heavy theme + 147 scripts.

1. Performance Audit

1.1 CrUX Real-World Field Data

Data source: Chrome User Experience Report via CrUX Vis, origin https://www.houseofmasaba.com, latest period 2026-07-19 – 2026-08-15.

Core Web Vitals Assessment — Passing on both mobile (phone) and desktop.

Phone (84% of traffic):

MetricValueThreshold (Good)Rating
LCP2,385 ms≤ 2,500 ms🟢 Good (near boundary)
INP196 ms≤ 200 ms🟢 Good (regressing)
CLS0.01≤ 0.10🟢 Good

Desktop (11.9%):

MetricValueThreshold (Good)Rating
LCP1,752 ms≤ 2,500 ms🟢 Good
INP85 ms≤ 200 ms🟢 Good
CLS0.06≤ 0.10🟢 Good

Trend flags (phone, 40-week series):

  • Mobile INP has been creeping up toward 200 ms all year (163 ms in Oct-2025 → 196 ms in Aug-2026) and is explicitly labeled "good but regressing" in CrUX Vis. It is one bad-script-injection away from Needs Improvement.
  • LCP on phone oscillates 1.96 s–2.52 s; the 2026-03-22 period hit 2,517 ms (briefly Needs Improvement), then recovered. It is not comfortably under threshold.
  • Desktop LCP drifted up in recent weeks (1,290 ms in May → 1,752 ms in Aug), also trending the wrong way.

1.2 PSI "This URL" Field Assessment (per-URL, not origin)

PageSpeed Insights reports the mobile per-URL Core Web Vitals Assessment as "Failed" / Needs Improvement, with field median values:

  • LCP p75 ≈ 2.5 s (at the Good boundary)
  • INP p75 ≈ 203 ms (exceeds the 200 ms Good threshold)
  • CLS p75 ≈ 10% (at the Good boundary)

This is the important nuance: the specific homepage URL performs worse than the origin aggregate on CrUX Vis. The origin-level "all Good" view masks a homepage that is already slipping. Treat the homepage as the weakest field performer.

1.3 Core Web Vitals (Lighthouse Lab Data)

MetricMobileDesktopRating
FCP4.9 s1.2 s🔴 / 🟢
LCP7.7 s1.5 s🔴 / 🟢
TBT1,790 ms2,050 ms🔴 / 🔴
CLS00🟢 / 🟢
SI17.8 s7.7 s🔴 / 🟡

Lab vs field gap (mobile): LCP 7.7 s lab vs 2.4 s field; SI 17.8 s lab. This gap is normal-ish for Shopify (lab = cold cache, throttled Moto G, single run) but the magnitude signals a heavy, script-bloated first paint. Desktop lab is far healthier, confirming the bottleneck is mobile CPU/network against the asset weight — exactly the 84%-mobile audience's pain point.

1.4 LCP Phase Breakdown (Mobile, estimated from audit)

The audit shows no <link rel="preload"> for the hero image (preloadHero = 0) and the theme (Ecomus schema) renders the homepage hero as a CSS background-image slider, which:

  • cannot be preloaded via <link rel="preload">,
  • cannot be lazy-loaded away,
  • is excluded from srcset/AVIF optimization.

This is the dominant LCP killer on mobile. Render-blocking requests alone carry an estimated 2,090 ms savings — i.e., the browser is blocked on CSS/JS discovery before it can even paint the hero.

1.5 Performance Issues by Impact

SeverityIssueEvidenceEst. SavingsRecommendation
🔴 CriticalHero image not preloaded; likely CSS background sliderpreloadHero=0; Ecomus theme hero~2,090 ms (render-blocking)Convert hero to an <img> with fetchpriority="high" + <link rel="preload" as="image">; serve AVIF/WebP via srcset
🔴 Critical147 scripts on homepage (Contentsquare, Gokwik, Loox, Yotpo, Klaviyo, Nitro Upsell, Nova, social login)DOM inspectionTBT 1,790 msDefer non-critical third-party JS; load Contentsquare/Yotpo/Loox after interaction; use requestIdleCallback
🟡 HighInefficient cache lifetimes on static assetsLighthouse: 1,324 KiB1,324 KiBSet Cache-Control: immutable, max-age=31536000 on versioned CDN assets
🟡 HighUnoptimized image deliveryLighthouse: 633 KiB633 KiBServe AVIF/WebP; add srcset on all <img>; ensure hero + PDP images are sized to viewport
🟡 HighRender-blocking CSSbase.css + theme.css preloaded but render-blocking JSInline critical CSS (above-the-fold); defer the rest
🟢 Low6+ preconnect links (some possibly redundant)link headerTrim to 2–3 truly critical origins
🟢 LowLarge DOM (3,057 elements, homepage)DOM countReduce nested wrappers in mega-menu/footer

1.6 Resource Transfer Summary (mobile lab)

  • Images: largest transfer class; hero + 345 homepage images dominate.
  • JS: 147 script tags — by far the worst offender for TBT/INP.
  • CSS: base.css + theme.css + 8+ extension stylesheets (Nitro, Nova, social login) — render-blocking.
  • 3rd-party: Contentsquare (analytics), Gokwik (checkout), Loox/Yotpo (reviews), Klaviyo (CRM), Nova (currency) — all on the critical path.

2. Accessibility Audit

2.1 Critical Issues

  • None blocking. <html lang="en"> present, <meta name="viewport"> present, skip-to-content link present, HTTPS enforced.

2.2 High Priority Issues

  • Broken heading hierarchy. Homepage has a single <h1> but only one <h2>; collection pages have zero <h1> (the collection title "New In" is not a heading element at all). Screen readers and Google lose the topical structure. (WCAG A/AA)
  • Missing/empty alt text. Homepage: 10 images with no alt + 24 with empty alt; PDP: 5 missing + 21 empty. Product/content images with empty alt are lost to screen readers and image search. (WCAG A)
  • Custom-tailoring form inputs on PDP (SHOULDER, CHEST, etc.) — verify each has an associated <label> (the snapshot shows LabelText wrappers; confirm programmatic association).

2.3 Positive Findings

  • Logical single <h1> on homepage and PDP.
  • Skip link, lang, viewport, HTTPS all correct.
  • Color contrast passed in Lighthouse (no contrast failures flagged).
  • Touch targets adequately sized (no tap-target failures flagged).

3. SEO Audit

3.1 Technical SEO

CheckStatusNote
robots.txtClean; disallows cart/checkout/account; references Sitemap:; even includes an agents.md/UCP MCP note
XML SitemapIndex present; split into products/pages/collections/blogs/agentic-discovery
Canonical URLsSelf-referencing on homepage and PDP (verified)
IndexationNo erroneous noindex on key pages
URL structureClean, hyphenated, keyword-rich (/products/the-farshi-salwar-set)
HTTPSEnforced; upgrade-insecure-requests in CSP
Mobile-friendlyViewport set; responsive theme
Variant parameter pollutionCollection pages show 0 ?variant= links (100 clean product links)

3.2 On-Page SEO Issues

PageIssueSeverity
PDPMeta description is broken — reads literally "Standard Shipping: 6 - 8 Weeks" (pulled from shipping copy), not a product description🔴 High
CollectionNo meta description at all (/collections/new-innull)🔴 High
HomepageTitle 83 chars (acceptable) but keyword-led ("Menswear, Womenswear, Jewellery") — fine🟢 OK
PDP/HompageNo og:image / twitter:image — social shares render with no preview image🔴 Critical (social-discovery brand)
AllOG/Twitter tags only partial (title/description present, image absent)🟡 High

For a brand whose discovery is 80%+ Instagram/Reels/social (per business analysis), absent OG images mean every shared product link looks like a bare blue URL — a direct CTR and top-of-funnel leak.

3.3 Schema Markup

Homepage (good): Organization, BreadcrumbList, WebSite all present. Minor: Organization.sameAs contains an empty "" entry.

PDP (defective):

FieldFoundProblem
@typeProductGroupShould also expose a Product with offers; group-only limits rich-result surface
brand.name"Womenswear"Wrong — should be "House Of Masaba" (fragmented entity signal)
description"Standard Shipping: 6 - 8 Weeks"Broken — same source bug as the meta description
BreadcrumbList[1].nameraw <img ...> HTMLInvalid — the breadcrumb injects an image tag into the name field
offerspresent on variant (price 155000 INR, InStock)OK on the variant node, but no top-level Product.offers, no aggregateRating, no review
aggregateRating / ReviewabsentMisses star-rating rich results despite Loox/Yotpo being installed

3.4 Content Quality (E-E-A-T)

  • Trust signals present and strong: phone (+91 77380 07478, +91 84529 50459), CIN U74110MH2014PTC257909, emails, store locator (22 stores), policy pages (privacy/terms/shipping/returns), About Masaba page.
  • No AI-generated product imagery detected (0 filenames matching Gemini/ChatGPT/Picsart/_ai/unnamed_1 patterns) — real photography is consistent with the "house does not translate" artisan positioning. ✅
  • Social proof thin on PDP surface: Loox/Yotpo widgets are present in DOM but review counts/ratings are not surfaced in the initial snapshot and lack AggregateRating schema — under-used for a festive, consideration-heavy purchase.

3.5 Internal Linking

  • Footer nav, breadcrumbs (visual + schema), and "View All" cross-links are present.
  • Blog link present in footer but not prominent in main nav — brand has press/collaboration content that could feed topical authority.

4. International SEO

Not applicable / single-locale. The site is en-IN only. /fr, /ar, /en-us etc. all 404. /pages/singapore and /pages/dubai exist (HTTP 200) but are thin informational landing pages (a hero image + "Shop Online"/"Contact Us" CTAs + shared footer) — not localized storefronts, no currency/locale switch, no hreflang.

Per business analysis, NRI/Singapore/Dubai demand is real but unmet by a localized checkout. Recommendation is a business one (localized storefront + currency), not a technical hreflang fix. No cross-locale canonical risk because there is only one locale.


5. Best Practices & Security

5.1 Security Headers (from curl -sI)

HeaderValueAssessment
strict-transport-securitymax-age=7889238 (~91 days)🟡 Weak — below 1 year; missing includeSubDomains and preload
content-security-policyblock-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests;🟡 Minimal — no script-src directive, so it provides little XSS mitigation
x-frame-optionsDENY
x-content-type-optionsnosniff
x-xss-protection1; mode=block✅ (legacy, but present)
x-download-optionsnoopen
referrer-policy(not set)🟢 Low — add strict-origin-when-cross-origin

5.2 Modern Standards

  • Valid HTML5, UTF-8 declared, no mixed content.
  • Lighthouse Best Practices 54/100 — driven by "Uses deprecated APIs" (1 warning) and the thin CSP. COOP/COEP not set.
  • x-permitted-cross-domain-policies: none present.

6. Content Quality Assessment

6.1 Image Quality & Authenticity

  • No AI-generated images across sampled pages — authentic studio/lifestyle photography supports the luxury-artisan brand. ✅
  • Alt-text coverage is the gap (see §2.2), not image authenticity.

6.2 UX Issues

  • Custom-tailoring PDP requires 11 manual body measurements with no visible delivery ETA beyond "6–8 Weeks" — high friction for a ₹155k made-to-order piece. Consider an explainer/trust module.
  • Singapore/Dubai landing pages are dead-ends (no localized cart) — NRI demand leaks.
  • Hero is a background-image slider — cannot be preloaded/optimized (see §1.4).

7. Priority Recommendations

🔴 Immediate (This Week)

#IssueImpactEffort
1Fix PDP meta description source (stop injecting "Standard Shipping: 6–8 Weeks")Organic CTR, snippet qualityLow (theme liquid fix)
2Add og:image + twitter:image to homepage, PDP, collection templatesSocial share CTR (brand is 80%+ social-discovered)Low (theme liquid)
3Add meta descriptions to collection pages (bulk)SERP CTR on 264 collectionsLow
4Fix ProductGroup.brand.name → "House Of Masaba"; fix description in schemaEntity signal, rich resultsLow
5Fix BreadcrumbList name field (strip raw <img> HTML)Valid structured dataLow

🟡 Short-Term (This Month)

#IssueImpactEffort
6Convert hero from CSS background to <img fetchpriority="high"> + preload; serve AVIF/WebP srcsetMobile LCP 7.7 s → target < 2.5 sHigh (theme rebuild of hero)
7Defer/async non-critical third-party JS (Contentsquare, Yotpo, Loox, Klaviyo, Nitro, Nova, social login)TBT 1,790 ms → target < 200 msMedium
8Add AggregateRating/Review schema from Loox/YotpoStar-rating rich resultsMedium
9Add h1 to collection pages; add <h2> section headings site-wideHeading hierarchy, topical clarityLow
10Add includeSubDomains; preload to HSTS; add script-src to CSP; add referrer-policySecurity postureLow
11Fix empty-alt / missing-alt images (bulk alt-text program)Accessibility + image searchMedium

🟢 Long-Term (This Quarter)

#IssueImpactEffort
12Watch mobile INP (196→203 ms) and LCP (2.4→2.5 s) as festive traffic ramps; add RUM alertingPrevent field CWV regressionMedium
13Build a true localized storefront (Singapore/Dubai) with currency + checkout, or remove dead-end landing pagesCapture NRI demandHigh
14Trim preconnect list to 2–3; reduce 3,057-element DOM on homepageMarginal perfLow
15Surface review counts/ratings on PDP above the foldConversion (consideration-heavy)Medium

Summary Score Card

CategoryScoreGrade
Performance (Mobile)30/100🔴
Performance (Desktop)52/100🟡
Accessibility82/100🟢
Best Practices54/100🟡
SEO92/100🟢
Content Quality~80/100 (authentic imagery, strong trust signals; thin PDP social proof)🟢
UX~70/100 (hero perf, made-to-order friction, dead-end intl pages)🟡
Overall~70/100🟡

Bottom line: The site is well-built for today's traffic (field CWV passing on both devices) but is one festive-season spike away from mobile regression, and its product/collection-layer SEO and schema are actively broken — broken PDP descriptions, zero social-share images, wrong brand name in schema, invalid breadcrumbs. Fix the red-severity items (social OG images, PDP description, schema brand/description) this week — they are low-effort, high-visibility wins for a social-led luxury brand — and schedule the hero/preload + third-party-JS deferral work before the festive peak.


Sources & Evidence

  • CrUX Vis (origin https://www.houseofmasaba.com, 2026-08-15): phone LCP 2,385 ms / INP 196 ms / CLS 0.01; desktop LCP 1,752 ms / INP 85 ms / CLS 0.06; 40-week trend series extracted from graphics-symbol aria-labels.
  • PageSpeed Insights UI (https://pagespeed.web.dev, 2026-08-18): mobile lab Performance 30 (FCP 4.9 s, LCP 7.7 s, TBT 1,790 ms, SI 17.8 s, CLS 0); desktop Performance 52 (FCP 1.2 s, LCP 1.5 s, TBT 2,050 ms, SI 7.7 s, CLS 0); Accessibility 82; Best Practices 54; SEO 92; mobile per-URL field assessment "Failed" (INP p75 ≈ 203 ms, LCP p75 ≈ 2.5 s).
  • Live DOM inspection (browser_console) on /, /products/the-farshi-salwar-set, /collections/new-in, /pages/singapore: script/style/image/heading/alt counts, OG/Twitter tags, JSON-LD types and field values, lang/viewport/canonical.
  • curl -sI https://www.houseofmasaba.com/ and curl -s robots.txt / sitemap.xml: security headers, robots directives, sitemap index.
  • curl locale checks: /pages/singapore 200, /pages/dubai 200, /fr /ar /en-us /en etc. 404.
  • Business context: business-analysis.md (mobile 84% / desktop 11.9% / tablet 4%; FY25 ₹116 cr; 898 SKUs; 22 stores; social-led discovery).