SEO & Quality Audit
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.
| Category | Mobile | Desktop | Grade |
|---|---|---|---|
| Performance (CWV) | ~2.9–3.3s LCP (NI, stale) | n/a | 🟡 unmeasured lab |
| Accessibility | Pass fundamentals | Pass fundamentals | 🟢 |
| Best Practices / Security | Strong headers | Strong headers | 🟢 |
| SEO | Good templates, weak home + index hygiene | same | 🟡 |
| Content Quality / E-E-A-T | Moderate | Moderate | 🟡 |
| 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:
| Period | LCP | INP | CLS | LCP Rating |
|---|---|---|---|---|
| 2026-03-01 – 2026-03-28 | 2886 ms | n/a | 0.04 | 🟡 Needs Improvement |
| 2026-03-08 – 2026-04-04 | 2974 ms | n/a | 0.04 | 🟡 Needs Improvement |
| 2026-03-15 – 2026-04-11 | 3157 ms | 152 ms | 0.05 | 🟡 LCP / 🟢 INP / 🟢 CLS |
| 2026-03-22 – 2026-04-18 | 3250 ms | n/a | 0.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
altattribute 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
| Check | Status | Evidence |
|---|---|---|
| HTTPS enforced | ✅ | HSTS max-age=7889238; CSP upgrade-insecure-requests |
| robots.txt | ⚠️ | Well-formed (disallows cart/checkout/account); no Sitemap: directive |
| XML Sitemap | ✅ | sitemap.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 structure | ✅ | Clean hyphenated handles (/products/alpari-go-black) |
| Mobile-friendly | ✅ | Responsive, viewport set |
| hreflang | n/a | Single 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:
| URL | Issue |
|---|---|
/collections/test_all | Test collection, title "Test_All", no meta description, no OG, thin |
/collections/testing | Test collection, title "Testing", no meta description, thin |
/collections/espadrilles and /collections/espadrilles-1 | Duplicate 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 type | Title | Meta description | OG desc | Verdict |
|---|---|---|---|---|
| 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
| Type | Homepage | PDP | Collection | Content page |
|---|---|---|---|---|
| Organization | ✅ | ✅ | ✅ | ✅ |
| WebSite (+SearchAction) | ✅ | — | — | — |
| Product + Offer | — | ✅ (7 offers/variants) | — | — |
| FAQPage | — | — | — | ✅ (faqs) |
| AggregateRating / Review | ❌ | ❌ missing | ❌ | ❌ |
| BreadcrumbList | ❌ | ❌ missing | ❌ | ❌ |
| ItemList (collection) | — | — | ❌ missing | — |
| LocalBusiness | ❌ | — | — | ❌ (no store data anyway) |
Key gaps:
- No
AggregateRatingon 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
BreadcrumbListanywhere — hurts SERP breadcrumb display and wayfinding. - No
ItemListon 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/)
| Header | Value | Status |
|---|---|---|
| Strict-Transport-Security | max-age=7889238 | ✅ (present; includeSubDomains/preload absent — minor) |
| X-Frame-Options | DENY | ✅ |
| X-Content-Type-Options | nosniff | ✅ |
| Content-Security-Policy | block-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests | ✅ (no script-src allowlist, but frame-ancestors 'none' good) |
| X-XSS-Protection | 1; mode=block | ✅ |
| X-Download-Options | noopen | ✅ |
| Referrer-Policy | not set | ⚠️ Low |
| COOP / CORP | not 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: DYNAMICon 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)
| # | Issue | Impact | Effort |
|---|---|---|---|
| 1 | Add homepage meta description (keyword-rich, ~155 chars) | SERP CTR | Low |
| 2 | Fix og:description/twitter:description on homepage (currently "LoQo") | Social share CTR | Low |
| 3 | noindex + remove /collections/test_all and /collections/testing | Crawl budget, thin-content | Low |
| 4 | Merge /collections/espadrilles + /collections/espadrilles-1 (one canonical, redirect other) | Duplicate indexable URLs | Low–Med |
🟡 Short-Term (This Month)
| # | Issue | Impact | Effort |
|---|---|---|---|
| 5 | Add AggregateRating + Review schema to PDPs (Judge.me data exists) | Star-rich SERP results | Med (app/config) |
| 6 | Add BreadcrumbList schema + visible breadcrumbs site-wide | SERP nav + UX | Med |
| 7 | Add ItemList schema to collection pages | Collection rich results | Med |
| 8 | Homepage keyword H1 — add a visible text H1 (e.g., "Men's Comfort Slip-Ons & Alpargatas") alongside/instead of logo-only | Ranking signal | Low |
| 9 | Add meta descriptions + OG to all remaining collections/pages (espadrilles, locate-us, etc.) | CTR | Low (bulk) |
| 10 | Populate or repurpose empty "Locate Us" page | Trust/E-E-A-T | Low |
| 11 | Reduce preconnects to 2–3 (drop monorail analytics preconnect; dedupe cdn.shopify.com) | Mobile performance | Low |
| 12 | Add Sitemap: directive to robots.txt | Sitemap discovery | Low |
🟢 Long-Term (This Quarter)
| # | Issue | Impact | Effort |
|---|---|---|---|
| 13 | Re-run Lighthouse (mobile) when API quota resets; act on LCP (image sizing, lazy-off hero, third-party JS) | Core Web Vitals | Med–High |
| 14 | Expand blog (informational Alpargata/comfort/sizing queries) | Top-of-funnel SEO | Med |
| 15 | Add material/craft certifications & founder story to about-us | E-E-A-T | Med |
| 16 | Add LocalBusiness schema if any real store/address emerges | Local pack | Low |
| 17 | Switch OG images to https-native | Hygiene | Low |
8. Summary Score Card
| Category | Score | Grade |
|---|---|---|
| Performance (Mobile CWV) | Not measured (lab unavailable); field LCP ~2.9–3.3s NI (stale) | 🟡 unmeasured |
| Accessibility | Fundamentals pass; logo-only H1 + 2 missing-alt | 🟢 |
| Best Practices / Security | Strong headers; minor gaps (Referrer-Policy, COOP) | 🟢 |
| SEO | Good templates; homepage + index-hygiene gaps | 🟡 |
| Content Quality / E-E-A-T | Real 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; noSitemap:directive; allows agentic UCP endpoints.https://cruxvis.withgoogle.com/#/(originhttps://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).
- Homepage:
https://wearloqo.com/sitemap.xml+ child sitemaps — 67 products (67<image:image>), 18 collections, pages, blogs; no hreflang annotations (single locale).http://…/og:imagecheck — 301 redirect to https (OG image served over http).- PageSpeed Insights API (
runPagespeed) —RESOURCE_EXHAUSTEDquota 0 → no Lighthouse score produced this run (reported honestly, not fabricated). - Companion:
business-analysis.md(same workspace) — business context driving prioritization.