VARNI STOREFRONTS · LAUNCH-READINESS AUDIT · 2026-07-13

Website-44

Live site: https://website-44.varnijewels.com — brand-new deployment on svelte-commerce, shared api.varnijewels.com catalogue, Dokploy hosting.

URL
website-44.varnijewels.com
Brand (as shipped)
"Website-44" (placeholder — see findings)
Industry
Fine / diamond jewelry (D2C)
Country
United States (USD)
Platform
svelte-commerce (SvelteKit) + Litekart API, Dokploy/Cloudflare
Audit date
2026-07-13
Auditor
launch-readiness agent (Claude)
48/100 Not Ready — Blockers weighted brand+usability score 5.4/10 · commerce journey works end-to-end · brand identity and SEO indexation are the blockers

Full guest journey walked in a real browser (home → megamenu → PLP filters/sort → PDP gallery/variants → add to cart → cart → checkout contact/address/shipping). Lighthouse run mobile + desktop. Headers, robots.txt, sitemap, structured data and 15+ URLs checked via curl. Report-only — no payment credentials entered, no purchase completed (checkout verified through shipping-cost calculation; the payment step itself is MANUAL/blocked by design).

Category scores — Varni technical checklist

Externally verified where a live check exists. Infra-only items are marked MANUAL and excluded from the average.

CategoryScoreVerdictKey defects
1. Core functionality76warn2
2. Performance / Core Web Vitals88pass1
3. SEO (technical)42fail6
4. Security (headers + surface)28fail3
5. Frontend / responsive80pass1
6. Backend (observable + MANUAL)manual1
7. Analytics & tracking8fail1
8. Accessibility (WCAG)74warn3
8b. Brand consistency10fail6
9. Marketing readiness22fail4
10. Monitoring & maintenancemanual0

Average of the 9 scored categories (backend and monitoring excluded as MANUAL) = 48/100.

Weighted brand + usability scorecard

Jewelry-ecommerce weighting model, each section scored 0–10 against what was actually observed.

SectionWeightScore /10WeightedWhy
1. Brand identity15%30.45Wordmark is the literal placeholder "Website-44"; supplier and third-party brand text leak into copy; favicon is a raw product photo, not a mark.
2. Homepage UX15%40.60Hero/CTA/collections work; "Our Stores" section is a large block of unfinished placeholder content live on the homepage.
3. Navigation & IA15%71.05Header, mega-nav, search, cart, filters, sort, breadcrumbs all present and working; a ring is reachable in ≤3 clicks.
4. Product pages20%61.20Real photography, working variant switching with legible selected state, specs/SKU shown; no reviews, certificates, or related products observed; description leaks a competitor brand.
5. Checkout & conversion15%60.90Guest checkout, address validation and shipping-cost calc all correct; no step progress indicator; payment step not reached (by design).
6. Mobile experience10%70.70No horizontal scroll, responsive layout, checkout usable on a 485px viewport.
7. Performance & accessibility5%70.35Strong CWV (LCP 839ms, CLS 0.00); a11y 96/100 but real contrast and label-name defects found.
8. Trust & SEO5%30.15Valid SSL and policy pages resolve; sitemap is broken, soft-404s are indexable, no reviews/ratings.
Weighted total5.40/10

Lighthouse & Core Web Vitals

mcp chrome-devtools lighthouse_audit (mobile + desktop navigation mode) and a live performance trace, no throttling.

MetricMobileDesktop
Accessibility9696
Best Practices9696
SEO (automated)100100
Agentic Browsing6767

Lighthouse's SEO=100 is a structural check only (title/meta/crawlable exist) — it does not catch the content-level SEO defects in the findings below (broken sitemap, soft-404 indexation, duplicate content, placeholder metadata).

Core Web Vital (lab, home page)ValueThresholdResult
LCP839 ms< 2500 mspass
CLS0.00< 0.1pass
TTFB (LCP breakdown)738 ms< 800 ms goodwarn

Security response headers

curl -I https://website-44.varnijewels.com/

HeaderPresentValue
Strict-Transport-Security (HSTS)missing
Content-Security-Policymissing
X-Frame-Optionsmissing
X-Content-Type-Optionsmissing
Referrer-Policymissing
Permissions-Policymissing
Set-Cookie (litekart_store_id)present, unsafeMax-Age=31536000; Path=/ — no Secure, no HttpOnly, no SameSite
HTTPS + valid cert (apex)passHTTP→HTTPS 301 works; Cloudflare-issued cert valid
www subdomainbrokenhttps://www.website-44.varnijewels.com fails TLS handshake entirely (no cert configured)

MANUAL / infra (not externally verifiable): WAF/rate-limiting, admin-panel MFA, SQL-injection protection, dependency/plugin vuln scanning, backup cadence. Ask the Dokploy/Cloudflare owner to confirm these fleet-wide.

Findings

17 findings. shared = shared-backend/platform, affects the whole fleet, not just website-44. store = fixable directly in the website-44 theme.

critical The site's own brand name is the literal placeholder "Website-44" store

Every brand surface — <title>, meta description, OG title/description/site_name, Twitter card, the JSON-LD Organization name, the H1 wordmark, the header/footer wordmark and the footer tagline — reads "Website-44", the internal project codename, not a real jewelry brand. This is separate from (and precedes) the known JewelWeSell leak: it is the theme's own themeContent.brandName that was never set. 38 occurrences found on the homepage HTML alone.

curl https://website-44.varnijewels.com/ | grep -c "Website-44" → 38. Title: "Website-44 — Certified Diamond Jewellery". og:site_name: "Website-44". JSON-LD name: "Website-44".

Fix: Set a real approved brand name in the website-44 theme config (themeContent.brandName) and re-generate the copy that derives from it (title templates, OG, JSON-LD, hero, footer). This is the single highest-impact fix — right now every first-touch surface reads as an unfinished build.

critical Internal dev placeholder copy is live in the "Our Stores" homepage section store

The homepage ships a section literally reading "Showroom locations are being confirmed — replace these with the real Website-44 network before launch." followed by 9 store cards ("Website-44 North/South/East/…/Garden"), each captioned "Location to be confirmed." This is an internal TODO note shipped to customers, and it occupies a large share of the homepage's scroll depth. The matching footer link "Our stores" (/p/our-stores) returns a hard 404.

Visible copy captured via accessibility snapshot of https://website-44.varnijewels.com/. curl -o /dev/null -w '%{http_code}' https://website-44.varnijewels.com/p/our-stores → 404.

Fix: Remove or hide the Our Stores section until real showroom data exists, or replace the placeholder copy/cards with real locations (or an honest "online-only" statement). Fix or remove the dead footer link.

critical A real third party's phone, email and street address leak into the storefront shared

The Organization JSON-LD on every page publishes businessPhone: "(973) 399-9115", businessEmail: "[email protected]" and a physical address ("1060 Springfield Ave, Irvington Township, NJ 07111"). The same email and phone also render as live mailto:/tel: links in the mobile navigation's "SUPPORT" section — visible to every shopper, not just in hidden markup. This is a different and more serious defect than the known "JewelWeSell" text leak: it exposes a real business's actual contact channel as if it were Website-44's own support line.

JSON-LD: {"contactPoint":{"telephone":"(973) 399-9115","email":"[email protected]"},"address":{"streetAddress":" 1060 Springfield Ave, Irvington Township, NJ 07111 9AM - 6PM", ...}}. Mobile nav snapshot: link "Email us" → mailto:[email protected]; link "Call us" → tel:+(973) 399-9115.

Fix: Source contact details from the theme's own config, not the shared API store account's business fields. Flag to the platform team — this affects every store on the shared account until the API-level business contact fields are scrubbed or overridden per-store.

high Known: supplier brand "JewelWeSell" leaks into PDP title, meta description and body copy shared

Confirmed live. PDP <title> ends "… | JewelWeSell"; meta description reads "Say yes to forever with JewelWeSells Emerald Cut Diamond Halo Engagement Ring…" (note also the ungrammatical "JewelWeSells"); the product description body repeats "JewelWeSell" three times including "Presented in a JewelWeSell signature gift box." The PLP HTML for /jewelry-rings contains 25 occurrences of "JewelWeSell" in embedded product/tag data.

https://website-44.varnijewels.com/products/1-carat-emerald-cut-center-stone-diamond-halo-engagement-ring-for-women-14k-rose-gold-igi-certified-lab-grown-175-cttw-total-diamond-weight-e-f-color-vs1-vs2-clarity document.title → "… (E-F Color, VS1-VS2 Clarity) | JewelWeSell"

Fix: Per the existing project note, this is shared-backend catalogue metadata (product metaTitle/metaDescription/body). Needs a catalogue-side scrub or a per-store text-replace at render time.

high sitemap.xml does not exist shared

robots.txt correctly declares Sitemap: https://website-44.varnijewels.com/sitemaps/website-44.varnijewels.com-sitemaps/sitemap_index.xml, but fetching it returns a JSON error body, not XML: {"message":"Sitemap not found, you can generate sitemap through the admin dashboard."}. No sitemap has ever been generated for this store.

curl https://website-44.varnijewels.com/sitemaps/website-44.varnijewels.com-sitemaps/sitemap_index.xml → 200, body is a JSON error, not a sitemap.

Fix: Generate the sitemap from the Litekart admin dashboard (per the error message itself) for this store, and check whether the same is missing across the rest of the fleet.

high Invented/mistyped URLs return HTTP 200 with an empty listing, not a 404 (soft-404) shared

Any slug that isn't a real category — e.g. /rings, and even the intended /about and /contact — resolves through the bare [slug] product-listing route and renders "NO PRODUCTS FOUND" with a generic <title>Products</title>, HTTP 200, and a self-referencing canonical tag (e.g. canonical href="https://website-44.varnijewels.com/rings") and no noindex meta robots tag. Search engines have no signal to treat these as non-pages; each one is crawlable, indexable, thin/empty content.

curl -o /dev/null -w '%{http_code}' https://website-44.varnijewels.com/rings → 200. Body contains "NO PRODUCTS FOUND". canonical self-references the empty URL. No meta robots tag anywhere on the page.

Fix: When the slug route resolves zero products and isn't a known category, return a real 404 (or at minimum inject <meta name="robots" content="noindex"> and drop the self-canonical) instead of a 200 empty catalogue page.

high Zero analytics or conversion tracking installed shared

Store plugin config ships googleAnalytics:{}, googleTagManager:{id:"",active:false}, facebookPixel:{} — all inactive/empty. Confirmed via full network capture across home, PDP, cart and checkout: zero analytics/marketing beacons fired anywhere in the session, no dataLayer, no consent/cookie banner. There is currently no way to measure traffic, funnel drop-off, or conversions on this store.

Page script dump: googleAnalytics:{},isShortCodes:{active:false},googleTagManager:{id:"",active:false},facebookPixel:{}. Full network log across the guest journey contains zero requests to any analytics/ads domain.

Fix: Enable GA4 (and GTM if used) with an Enhanced-Ecommerce/dataLayer wire-up (view_item, add_to_cart, begin_checkout, purchase) in the store's plugin settings.

medium Malformed canonical URL in Organization JSON-LD ("https://https://…") shared

The structured-data Organization block's url field is double-prefixed: "url":"https://https://website-44.varnijewels.com". This will fail schema validation and rich-result eligibility.

JSON-LD on homepage: {"@type":["Organization","JewelryStore"],"@id":"https://https://website-44.varnijewels.com/#organization","url":"https://https://website-44.varnijewels.com", ...}

Fix: Likely a shared SEO-header component prefixing an already-absolute store URL with another scheme. Check the shared kitcommerce-core seo-header component (same one responsible for the store.name leak per prior fleet notes) and verify across other stores.

medium Generic, non-unique PLP titles and meta descriptions shared

Every category page — /jewelry, /jewelry-rings, /jewelry-earrings and any invented slug — shares the identical <title>Products</title> and the identical meta description "Discover the best deals at Website-44. Free delivery available." No category-specific title/description exists, which both weakens click-through in search and risks duplicate-metadata flags.

curl https://website-44.varnijewels.com/jewelry-rings → title "Products"; meta description "Discover the best deals at Website-44. Free delivery available." Identical on /jewelry and /jewelry-earrings.

Fix: Template the PLP title/description from the resolved category name, e.g. "Rings — Certified Diamond Jewellery | <brand>".

medium Large runs of near-duplicate product listings in the Rings category shared

Browsing /jewelry-rings surfaces long runs of what appear to be the same product re-listed under numbered suffixes — e.g. "5 Carat Pear Cut Center Stone Diamond Halo Engagement Ring for Women, 14K Yellow Gold…" appears as separate catalogue entries suffixed -1 through at least -19, each with its own product URL and identical title/price/description. This is a catalogue data-quality issue that both dilutes the shopping experience (endless scrolling through what looks like one product) and risks duplicate-content SEO penalties.

Accessibility snapshot of /jewelry-rings: 13+ consecutive product cards with title "5 Carat Pear Cut Center Stone Diamond Halo Engagement Ring for Women, 14K Yellow Gold IGI Certified Lab Grown, 5.75 cttw…", each a distinct product URL ending -18, -17, -16 … -1.

Fix: Flag to the catalogue/API team — this is shared backend product data, not a theme issue. De-duplicate or merge into a single product with size/quantity variants.

medium /contact-us ships the unthemed platform boilerplate title "Contact Us | Svelte Commerce" store

The footer's "Contact us" link resolves correctly (200) but its <title> is the generic framework default "Contact Us | Svelte Commerce" — the literal name of the underlying app framework, never replaced with the store's own branding. This is the one page in the audited set that wasn't themed at all.

curl https://website-44.varnijewels.com/contact-us → 200, <title>Contact Us | Svelte Commerce</title>

Fix: Set page metadata for the contact-us route in the theme, same pattern as other themed pages.

medium Checkout contact form fields fail label association (WCAG) shared

On /checkout/address, the email and phone inputs trigger three DevTools accessibility issues: "No label associated with a form field" (×2), "A form field element should have an id or name attribute" (×2), "Incorrect use of <label for=FORM_ELEMENT>" (×2). This is the highest-value form on the site — a screen-reader user cannot reliably identify these two required fields.

DevTools issues on /checkout/address: [issue] No label associated with a form field (count: 2); [issue] A form field element should have an id or name attribute (count: 2); [issue] Incorrect use of <label for=FORM_ELEMENT> (count: 2).

Fix: Add matching id/for (or wrap input in the label) on the checkout contact-details component. Likely a shared kitcommerce-core checkout component — verify across the fleet.

medium Product-card discount badge fails color contrast store

Lighthouse flags the "33% OFF" badge on every product card (home rails and every PLP) at a contrast ratio of 2.26:1 (green #5dc241 on white), against a 4.5:1 requirement for 12px text. This repeats on every product card sitewide.

Lighthouse audit "color-contrast": foreground #5dc241, background #ffffff, font-size 12px, contrast 2.26 (needs 4.5). Selector: section.w44-pc > div.w44-pc-body > div.w44-pc-prices > span.w44-pc-off.

Fix: Darken the discount-badge green (theme token) to meet 4.5:1 against white, e.g. a deeper #2f7d1e-class green.

medium Product-card links and Add-to-bag buttons have empty/incomplete accessible names shared

Every product-card image link has aria-label="View details of " with the product name missing, and every quick-add button has aria-label="Add to bag" (double space, name also missing). Lighthouse's label-content-name-mismatch audit flags these — visible text ("QUICK ADD") isn't included in the accessible name, and the intended product name never made it into the label at all.

Lighthouse audit "label-content-name-mismatch": <a aria-label="View details of ">, <button aria-label="Add to bag">. Selector: div.w44-rail-inner > div.w44-rail-grid > section.w44-pc > a.w44-pc-media.

Fix: Interpolate the product title into both aria-labels. Likely a shared ProductCard component — check whether other stores show the same empty interpolation.

medium Favicon is a raw supplier product photo, not a brand mark shared

The site's favicon/apple-touch-icon resolves to https://static.varnijewels.com/stores/store_.../products/20260704/frame-150607-um6zraz0pth6.jpg — a JPEG product photo from the catalogue, not a designed icon. It renders as an illegible thumbnail in a browser tab.

<link rel="icon" href="https://static.varnijewels.com/stores/store_01KG2S7TF4HFHJQM0S3RYK73RM/products/20260704/frame-150607-um6zraz0pth6.jpg"/>

Fix: Set a proper favicon (wordmark-derived icon) in the theme; don't fall back to a random catalogue image.

low No newsletter capture and no social profile links anywhere on the site store

Store config explicitly disables newsletter capture (newsletter:{active:false}), and no Instagram/Facebook/Pinterest/TikTok links exist in the header or footer. For a jewelry DTC brand this removes two standard trust/remarketing channels entirely.

Page script dump: newsletter:{active:false}. grep for facebook/instagram/pinterest/tiktok/youtube href on homepage: 0 matches.

Fix: Enable newsletter capture and add real (not placeholder) social profile links once accounts exist.

low www subdomain has no working TLS store

https://www.website-44.varnijewels.com fails the SSL handshake entirely rather than redirecting to the apex domain. Anyone who types or is autocompleted to the www. form hits a hard connection failure.

curl https://www.website-44.varnijewels.com/ → curl: (35) LibreSSL: sslv3 alert handshake failure. Apex https://website-44.varnijewels.com/ works fine; http:// apex redirects 301 to https:// apex.

Fix: Add the www subdomain to the Dokploy/Cloudflare cert and redirect it to the apex domain.

pass PDP variant selected-state legibility — mandatory check passed store

Clicked through Metal Color, Center Stone and Ring Size option groups on a live PDP. Selected chip renders a solid maroon/pink fill with white text; unselected chips keep a white background with a grey border and dark text. Contrast and distinguishability are unmistakable in every group — no invisible or indistinguishable selected state found.

No action needed.

pass Wordmark parity — mandatory check passed store

Opened the mobile hamburger/sidenav: it shows "Website-44" consistently with the header, footer and page titles — it does not show the unrebranded API store account name. The theme's brandName correctly wins over storeData?.name on every nav surface checked. (The brand-name text itself is still a placeholder — see the critical finding above — but the parity mechanism is correct.)

No action needed on parity; still need a real brand name (see critical finding #1).

pass Full guest commerce journey verified working store

Home → category tiles/megamenu → PLP (filters: Categories/Tags/Price/Carat Weight/Center Stone/Metal Color/Ring Size, plus Sort) → PDP (5-image gallery, 4 variant groups, live price/SKU update on variant change) → Add to Bag (cart drawer opens as sole confirmation, no duplicate toast) → cart (qty stepper, remove, correct subtotal) → checkout contact details → address form (validation, modal) → shipping cost calculated correctly ($100 flat, total recomputed to $2198.99) → reached "Continue to Payment." No console errors throughout except the expected guest-wishlist 422 (documented as expected, not a bug). Payment/order-confirmation/order-notification (email + Telegram) were not exercised — MANUAL, blocked by design (never enter payment or complete a real purchase).

Manual follow-up: Ops team to complete one real test order end-to-end (payment → confirmation → email + Telegram @varni_alerts_bot notification) outside of this automated audit.

Usability task log

Timed/observed task runs against the live site, guest session, mobile viewport (485px) unless noted.

TaskResultClicksEase (1–5)Notes
Find a ring under $1,000done25Home → Shop by Category → Rings; $599.99 ring visible without needing to filter.
Open filters (price/material/size)partial1Filter drawer opens with all 7 facets (Categories, Tags, Price, Carat Weight, Center Stone, Metal Color, Ring Size); applying a filter and verifying the result count was not exercised in this run — flagged as a coverage gap, not a defect.
Add an item to cartdone15Cart drawer opens instantly with correct item, price and running subtotal.
Remove an itemobserved onlyRemove-item control is present and reachable in both the cart drawer and cart page; not executed in this run.
Proceed through checkout (no payment)done55Cart → Checkout → contact details → address (modal, validated) → shipping cost correctly calculated → reached Continue to Payment.
Complete checkout (payment)blockedNot attempted — no payment credentials entered per audit rules.
Locate shipping & returns policydone15Footer → Shipping policy / Refund policy, both resolve 200.
Contact supportpartial13/contact-us resolves, but its title tag is unbranded ("Svelte Commerce"), and the mobile-nav quick contact links point to a third party's real phone/email, not Website-44's own.

Prioritized recommendations

PriorityIssueImpactEffort
HighReplace placeholder brand name "Website-44" with a real approved brand across title/meta/OG/JSON-LD/H1/footerHigh — fixes the site's entire first impressionLow
HighRemove/replace the "Our Stores" placeholder section and fix the dead /p/our-stores footer linkHigh — visible dev TODO note live to customersLow
HighScrub JewelWeSell text and the Boris&Twins phone/email/address out of copy and JSON-LDHigh — trust/legal + brandMedium (shared backend)
HighGenerate sitemap.xml; stop serving soft-404s as indexable 200sHigh — SEO indexationMedium (shared backend/platform)
HighAdd CSP/X-Frame-Options/X-Content-Type-Options/Referrer-Policy/Permissions-Policy/HSTS + secure cookie flagsHigh — baseline security postureMedium (shared infra)
MediumEnable GA4/GTM with Enhanced-Ecommerce eventsMedium-High — zero funnel visibility todayLow
MediumFix discount-badge contrast + empty aria-labels on product cards + checkout form label associationMedium — WCAG conformanceLow
MediumFix /contact-us "Svelte Commerce" title; give every PLP a unique title/descriptionMedium — SEO + polishLow
MediumFix www subdomain TLS/redirectMediumLow
LowAdd newsletter capture and real social profile links; add reviews/trust barMedium — conversion/trustMedium
LowDe-duplicate near-identical Rings catalogue listingsLow-Medium — thin/duplicate contentMedium (shared catalogue)
LowReplace the 37 SVG placeholder theme images with real photography (known issue)MediumMedium-High

MANUAL / not externally verifiable

Infra items that require dashboard/ops access — not scored, listed for the ops team to confirm.

ItemWhere to check
Order confirmation email + Telegram @varni_alerts_bot notification on a completed orderComplete one real test order end-to-end
DB query performance/indexing, background jobs/cron, queue healthBackend/API infra, Dokploy logs
WAF/rate-limiting, admin-panel MFA, SQLi protection, dependency vuln scanningCloudflare/Dokploy/API admin
Uptime, error-rate, SSL-expiry, CDN and DB health monitoringOps/monitoring stack — none observed configured from outside
Backup verification cadenceOps/infra owner