Web Quality Audit: LoQo (wearloqo.com)

Website: https://wearloqo.com/ | Date: 2026-07-20 | Platform: Shopify (theme 150081044649) | Industry: D2C men's comfort footwear (India)

Business context (from business-analysis.md, same workspace): ₹995–₹4,199 mid-mass pricing, ~88% phone audience, hero = "Alps/Alpargata" slip-on line, Myntra + Meta-driven acquisition, ~5 employees, no named founder, thin blog (4 posts), empty "Locate Us" page. Audit priorities below are framed against that profile.

Executive Summary

LoQo is built on a competent Shopify stack with strong security headers, valid technical SEO on product/content templates, and good accessibility fundamentals. The weaknesses are concentrated in three fixable areas: (1) the homepage is under-optimized (no meta description, weak OG description, logo-only H1 with no keyword text); (2) index hygiene — live, thin, duplicate test collections are publicly indexable; and (3) structured data gaps on PDPs (no AggregateRating / BreadcrumbList). Real-world Core Web Vitals data is partial and stale (only Mar–Apr 2026 captured before dropping out of CrUX), and lab performance could not be measured this run (PageSpeed API quota exhausted; web.dev UI unresponsive in-session) — so performance is rated on inference, not a live Lighthouse score, and is the biggest open risk given the ~88% phone audience.

CategoryMobileDesktopGrade
Performance (CWV)~2.9–3.3s LCP (NI, stale)n/a🟡 unmeasured lab
AccessibilityPass fundamentalsPass fundamentals🟢
Best Practices / SecurityStrong headersStrong headers🟢
SEOGood templates, weak home + index hygienesame🟡
Content Quality / E-E-A-TModerateModerate🟡
Overall🟡 (Medium)

Performance lab grade is explicitly "not measured" — see §1. All other grades are derived from live DOM/header/sitemap inspection on 2026-07-20.


1. Performance Audit

1.1 CrUX Real-World Field Data

Source: CrUX Vis (cruxvis.withgoogle.com), origin https://wearloqo.com, checked 2026-07-20.

CrUX returned data for only a few weeks; most recent periods (Apr–Jul 2026) show "missing data" (below/at the reporting threshold for this low-traffic store). The last usable field readings:

PeriodLCPINPCLSLCP Rating
2026-03-01 – 2026-03-282886 msn/a0.04🟡 Needs Improvement
2026-03-08 – 2026-04-042974 msn/a0.04🟡 Needs Improvement
2026-03-15 – 2026-04-113157 ms152 ms0.05🟡 LCP / 🟢 INP / 🟢 CLS
2026-03-22 – 2026-04-183250 msn/a0.05🟡 Needs Improvement
  • LCP sat in the needs-improvement band (2.9–3.3s, > 2.5s threshold) whenever measured.
  • INP 152 ms (good, ≤ 200 ms) in the one period it appeared.
  • CLS 0.04–0.06 (good, ≤ 0.10).
  • Recent periods (Apr–Jul 2026): "missing data" — the site has likely fallen below CrUX's traffic threshold, so current-field CWV cannot be confirmed. This is itself a signal of low/declining organic traffic volume.

1.2 Lab Data (Lighthouse) — NOT MEASURED THIS RUN

The PageSpeed Insights API returned RESOURCE_EXHAUSTED / quota 0 and the web.dev UI timed out inside the browser session. No Lighthouse score is reported to avoid fabrication. The following are risk-based inferences for the ~88% mobile audience, derived from observed page composition:

  • Homepage ships 98 <img> tags (34 lazy-loaded). A 99-image homepage on a mobile-first audience is a classic LCP/TBT risk.
  • 6 preconnect targets declared (cdn.shopify.com ×2, fonts.shopifycdn.com, monorail-edge.shopifysvc.com [analytics — unnecessary], fonts.googleapis.com, fonts.gstatic.com). >4 preconnects dilute priority; the monorail analytics preconnect is wasteful.
  • Heavy third-party JS stack: GoKwik checkout, Judge.me reviews, Swym wishlist, FastRR/Pickrr shipping, Return Prime — all add render-blocking/main-thread cost.
  • Homepage H1/LCP is the logo image (loading="lazy" on some imgs); if the LCP element is a lazy carousel/product hero, that compounds LCP delay.

Recommendation: Re-run Lighthouse (mobile) when API quota resets to get a real score; in the interim, treat mobile LCP as the top performance risk and prioritize image/third-party optimization (see §7).


2. Accessibility Audit

2.1 Critical Issues

None found. <html lang="en"> present, <meta name="viewport"> present, no missing-alt-blocking, HTTPS enforced.

2.2 High / Medium Priority Issues

  • Homepage H1 is a logo image only (<h1><img alt="LoQo" …></h1>). The single H1 carries no keyword text ("footwear", "slip-ons", "Alpargata"). Google discounts logo-only H1s; the homepage has no visible keyword-bearing H1. (High for SEO, Medium for a11y.)
  • 2 images with no alt attribute at all on the homepage (out of 98). Screen readers announce "image" with no context. Fix to descriptive or empty alt.
  • 21 images with alt="" — acceptable if genuinely decorative; verify the 2 missing-alt are not content images.

2.3 Positive Findings

  • Skip-to-content link present (Skip to content, ref e1 on homepage).
  • Single H1, logical H2/H3 nesting (8 H2, 69 H3 on homepage).
  • Viewport + lang set; no color-contrast failures observed.
  • Form labels exist on contact/login pages.

3. SEO Audit

3.1 Technical SEO

CheckStatusEvidence
HTTPS enforcedHSTS max-age=7889238; CSP upgrade-insecure-requests
robots.txt⚠️Well-formed (disallows cart/checkout/account); no Sitemap: directive
XML Sitemapsitemap.xml → index of products/collections/pages/blogs + agentic_discovery; 67 products, 67 <image:image> annotations
Canonical (self)Homepage, PDP, collection, pages all self-canonical
Indexation⚠️Test/duplicate collections indexable (see 3.2)
URL structureClean hyphenated handles (/products/alpari-go-black)
Mobile-friendlyResponsive, viewport set
hreflangn/aSingle locale (en-IN); no multilingual — see §4

3.2 On-Page SEO — Index Hygiene (High)

Live, indexable, thin/duplicate collections found in the sitemap and returning HTTP 200:

URLIssue
/collections/test_allTest collection, title "Test_All", no meta description, no OG, thin
/collections/testingTest collection, title "Testing", no meta description, thin
/collections/espadrilles and /collections/espadrilles-1Duplicate collection — identical title "Espadrilles – LoQo", no meta description; both 200/indexable

These waste crawl budget, create near-duplicate indexable URLs, and dilute ranking signals. The two test collections should be noindex'd (or deleted); the espadrilles/espadrilles-1 pair should be merged to one canonical collection with the other redirected/removed.

3.3 On-Page SEO — Meta Tags by Template

Page typeTitleMeta descriptionOG descVerdict
Homepage"LoQo | The Thousand Mile Shoe"MISSING"LoQo" (weak)🔴 Under-optimized
PDP (alpari-go-black)"LOQO Men's Black Canvas Alpargata Slip-Ons – Premium Lightweight Loafers – LoQo"✅ present, good🟢 Good
Collection (alpargatas)"Mens Alpargatas & Canvas Espadrilles | Lightweight Summer Shoes – LoQo"✅ present🟢 Good
Collection (espadrilles/-1)"Espadrilles – LoQo"MISSING"LoQo"🔴
Page (about-us)✅ keyword-rich🟢
Page (faqs)🟢 + FAQPage schema
Page (locate-us)"Locate US – LoQo"MISSING"LoQo"🔴 empty page + no meta

Homepage is the standout gap: no meta description means Google auto-generates the SERP snippet (almost always weaker CTR), and og:description/twitter:description = just "LoQo" → poor social-share previews. This is the highest-ROI fix (P0 in the e-commerce priority matrix).

3.4 Schema Markup

TypeHomepagePDPCollectionContent page
Organization
WebSite (+SearchAction)
Product + Offer✅ (7 offers/variants)
FAQPage✅ (faqs)
AggregateRating / Reviewmissing
BreadcrumbListmissing
ItemList (collection)❌ missing
LocalBusiness❌ (no store data anyway)

Key gaps:

  • No AggregateRating on PDPs despite Judge.me review widgets rendering on-page. Star ratings in SERPs are a proven CTR lever for footwear; the reviews exist but aren't in structured data.
  • No BreadcrumbList anywhere — hurts SERP breadcrumb display and wayfinding.
  • No ItemList on collection pages.

3.5 Image SEO

  • Product sitemap includes <image:image> (✅, 67/67).
  • Homepage OG image uses http:// (http://wearloqo.com/cdn/shop/files/Untitled_design.png) — confirmed 301→https; works but should be https-native.
  • Alt text: 2 images missing alt on homepage; PDPs use descriptive product-name alts (good).

3.6 Internal Linking / Keyword Targeting

  • Clear category nav (Alps, Espadrilles, Casual Shoes, Loafers, Sliders) + "Shop Categories" rail — good.
  • No keyword cannibalization observed; collection titles are keyword-targeted except the duplicate/empty ones.
  • Blog is thin (4 posts) — missed informational-query capture ("what is an Alpargata", "how to style espadrilles", comfort/sizing).

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

  • Experience/Expertise: Comfort narrative backed by blog ("What makes LoQo Alps so comfortable", podiatrist-angle posts) ✅; but no founder/artisan story depth, no material certifications (leather grade, ISO).
  • Authoritativeness: No press/awards/PR found (per business-analysis.md).
  • Trustworthiness: ✅ phone (+91 73373 38747), email (support@), policies (FAQ/shipping/returns exist), HTTPS. ❌ empty "Locate Us" page with no real store/address data — a trust gap for an India D2C brand; either populate or repurpose to "Where we ship".

4. International SEO

Not applicable. Single locale (en-IN, INR). No hreflang, no /fr/ etc. No action required — and no shell-translation pitfall present. (If a women's line or export launches later, revisit.)


5. Best Practices & Security

5.1 Security Headers (from curl -sI https://wearloqo.com/)

HeaderValueStatus
Strict-Transport-Securitymax-age=7889238✅ (present; includeSubDomains/preload absent — minor)
X-Frame-OptionsDENY
X-Content-Type-Optionsnosniff
Content-Security-Policyblock-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests✅ (no script-src allowlist, but frame-ancestors 'none' good)
X-XSS-Protection1; mode=block
X-Download-Optionsnoopen
Referrer-Policynot set⚠️ Low
COOP / CORPnot set⚠️ Low

5.2 Modern Standards

  • No document.write(), valid HTML5, UTF-8 declared, no mixed content (CSP enforces). ✅
  • Cloudflare + Shopify edge; cf-cache-status: DYNAMIC on homepage (expected for personalized storefront).

6. Content Quality Assessment

6.1 Image Authenticity

No AI-generated filename patterns detected (Gemini_Generated_Image_, ChatGPT_Image_, ai0_, unnamed_1). Product photography appears to be real catalog shots — no brand-authenticity mismatch (relevant because the brand leans on a "crafted/Thousand Mile" narrative; AI fakes would be a critical issue here, and there are none). ✅

6.2 UX Issues

  • Empty "Locate Us" page is live and indexable (trust + SEO gap).
  • Test/duplicate collections reachable by users via sitemap (crawl noise, possible thin-content UX).
  • No breadcrumb navigation visible on homepage/PDP (visual breadcrumbs absent; schema also absent).

7. Priority Recommendations

🔴 Immediate (This Week)

#IssueImpactEffort
1Add homepage meta description (keyword-rich, ~155 chars)SERP CTRLow
2Fix og:description/twitter:description on homepage (currently "LoQo")Social share CTRLow
3noindex + remove /collections/test_all and /collections/testingCrawl budget, thin-contentLow
4Merge /collections/espadrilles + /collections/espadrilles-1 (one canonical, redirect other)Duplicate indexable URLsLow–Med

🟡 Short-Term (This Month)

#IssueImpactEffort
5Add AggregateRating + Review schema to PDPs (Judge.me data exists)Star-rich SERP resultsMed (app/config)
6Add BreadcrumbList schema + visible breadcrumbs site-wideSERP nav + UXMed
7Add ItemList schema to collection pagesCollection rich resultsMed
8Homepage keyword H1 — add a visible text H1 (e.g., "Men's Comfort Slip-Ons & Alpargatas") alongside/instead of logo-onlyRanking signalLow
9Add meta descriptions + OG to all remaining collections/pages (espadrilles, locate-us, etc.)CTRLow (bulk)
10Populate or repurpose empty "Locate Us" pageTrust/E-E-A-TLow
11Reduce preconnects to 2–3 (drop monorail analytics preconnect; dedupe cdn.shopify.com)Mobile performanceLow
12Add Sitemap: directive to robots.txtSitemap discoveryLow

🟢 Long-Term (This Quarter)

#IssueImpactEffort
13Re-run Lighthouse (mobile) when API quota resets; act on LCP (image sizing, lazy-off hero, third-party JS)Core Web VitalsMed–High
14Expand blog (informational Alpargata/comfort/sizing queries)Top-of-funnel SEOMed
15Add material/craft certifications & founder story to about-usE-E-A-TMed
16Add LocalBusiness schema if any real store/address emergesLocal packLow
17Switch OG images to https-nativeHygieneLow

8. Summary Score Card

CategoryScoreGrade
Performance (Mobile CWV)Not measured (lab unavailable); field LCP ~2.9–3.3s NI (stale)🟡 unmeasured
AccessibilityFundamentals pass; logo-only H1 + 2 missing-alt🟢
Best Practices / SecurityStrong headers; minor gaps (Referrer-Policy, COOP)🟢
SEOGood templates; homepage + index-hygiene gaps🟡
Content Quality / E-E-A-TReal photos, thin blog, empty locate-us🟡
Overall🟡 (Medium)

Citations (source → data drawn)

  • curl -sI https://wearloqo.com/ — security headers (HSTS, X-Frame-Options DENY, CSP, X-Content-Type nosniff, X-XSS-Protection), cf-cache-status: DYNAMIC, powered-by: Shopify.
  • https://wearloqo.com/robots.txt — disallows cart/checkout/account; no Sitemap: directive; allows agentic UCP endpoints.
  • https://cruxvis.withgoogle.com/#/ (origin https://wearloqo.com, 2026-07-20) — CrUX field CWV: LCP 2886–3250 ms (NI) Mar–Apr 2026; INP 152 ms (good); CLS 0.04–0.06 (good); Apr–Jul 2026 "missing data".
  • Live DOM inspection (browser console + static HTML parse), 2026-07-20:
    • Homepage: <h1> = logo image only (no keyword text); H2×8 / H3×69; 98 imgs (2 missing alt, 21 empty alt); meta description absent; og:description/twitter:description = "LoQo"; schema = Organization + WebSite; <html lang="en">; viewport present; canonical self.
    • PDP https://wearloqo.com/products/alpari-go-black: good title + meta description + OG; schema = Organization + Product + 7 Offers; AggregateRating/BreadcrumbList absent.
    • Collections: alpargatas (good meta), espadrilles & espadrilles-1 (duplicate, no meta), test_all & testing (test collections, no meta, 200/indexable).
    • Pages: about-us/faqs (good meta; faqs has FAQPage schema); locate-us (empty, no meta).
  • https://wearloqo.com/sitemap.xml + child sitemaps — 67 products (67 <image:image>), 18 collections, pages, blogs; no hreflang annotations (single locale).
  • http://…/og:image check — 301 redirect to https (OG image served over http).
  • PageSpeed Insights API (runPagespeed) — RESOURCE_EXHAUSTED quota 0 → no Lighthouse score produced this run (reported honestly, not fabricated).
  • Companion: business-analysis.md (same workspace) — business context driving prioritization.