Rinfit.com

SEO Re-Audit Report

12 September 2026  ·  Shopify (Prestige)  ·  Theme Rinfit/live

MILEDEVS

Follow-up to the baseline audit of 14 May 2026  ·  view previous report

Site Information

Domain
www.rinfit.com
Platform
Shopify · Prestige
Live theme
Rinfit/live · 190488314144
Site type
Ecommerce (D2C)
Sitemap URLs
227 total
Products / Collections
129 / 38
Pages / Blog posts
20 / 40
Audit scope
17 blocks · 20+ URLs

Score Dashboard

4
Critical
▼ 1  (May: 5)
13
Warnings
▲ 3  (May: 10)
33
Passed checks
▲ 19  (May: 14)
63/100
Overall SEO score  ·  May 2026: 62/100  (+1)
Why the headline score barely moved — and why that understates the work. Scoring uses the identical formula as the May audit so the two numbers are comparable. The on-page and structured-data layers improved dramatically (passed checks rose from 14 to 33, and every one of May's five criticals is either fixed or materially reduced). The composite is held down by a single category that was never in scope of the May remediation: page performance, which now measures 16/100 on mobile. The category breakdown below is the honest picture.
Structured data
95
Security
90
Crawl & indexation
75
Meta & on-page
70
Mobile UX
55
Content & E-E-A-T
50
Domain authority
40
Performance / CWV
25

Progress since 14 May 2026

Twelve remediation tasks were opened off the back of the May audit. This section reconciles each of them against what is actually live on Rinfit/live today — not against ticket status. Three tasks marked "verified" in the tracker did not survive to production, which is the single most useful output of this re-audit.

✅ Confirmed fixed & live

  • Homepage meta description — 186 → 133 chars, no longer truncated
  • FAQPage schema — now live with 21 questions on /pages/faqs
  • Homepage H1 — generic "Rinfit" → "Silicone Wedding Rings – Designed for Real Life", server-rendered
  • OG images — HTTP → HTTPS; Twitter card → summary_large_image
  • Alt text — 50+ missing → 8 in server HTML (video posters only)
  • Organization schema — now complete: logo, sameAs, contactPoint, address
  • Store / LocalBusiness schema — telephone, address, openingHours, priceRange
  • Product AggregateRating — live: 4.9 ★ / 516 reviews → eligible for SERP stars
  • CollectionPage schema — live on collection templates
  • Trailing-slash duplication — canonical correctly resolves to the non-slash URL
  • /collections/all title — "Products" → "Silicone Rings | Rinfit Official Store"

⚠️ Closed in tracker, but NOT live

  • Visible breadcrumbs — task marked "Перевірено QA", but no breadcrumb UI renders on product or collection pages. Only the JSON-LD exists, and it is just 2 levels deep (Home → Product), missing the collection tier.
  • Mobile tap targets 44px — task marked "Перевірено", but QA had actually failed it on 25 May with five specific defects. Header icons are still 24×24px — the exact element QA flagged. 154 of 222 tappable elements remain under 44px.
  • H1 on /pages/contact-us — QA verified it present on 5 June; today the page has zero H1 in both server HTML and rendered DOM. This is a regression that happened after June.

🟡 Known-open (blocked on client) & partial

  • Third-party script cleanup — status "Питання до клієнта". Still 16 third-party hosts / 43 script tags against a target of ≤15. AdRoll alone loads from 3 hosts.
  • Product titles ≤60 chars — status "Питання до клієнта". Sample product still 65 chars; May's inventory listed dozens at 68–105 chars.
  • E-E-A-T About/Contact — status "Потрібен контент". Contact page still has no physical address, no opening hours and no map; Boston NAP is absent.
  • Blog / content strategy — May recorded this as "no blog". Correction: a blog does exist (40 URLs) but it is dormant — 38 of 40 posts date from 2021–2022, with 2 posts in 2025.

Executive Summary

🔴 The four things that matter

  • 1. Mobile performance is critical. 16/100. LCP 7.1 s, CLS 0.905, main thread blocked 1.28 s, fully interactive at 35.9 s. The homepage ships 495 images and 1.9 MB of unused JavaScript.
  • 2. /collections/all is selling to the wrong country. Its meta description reads "Shop Rinfit silicone rings in Spain … fast delivery across Spain". Rinfit is a Boston, Massachusetts brand. Reproduced on 4 consecutive fetches across 2 user agents.
  • 3. Four junk pages are in the sitemap. Including /pages/copy-of-ring-size-guide, a byte-identical twin of the real size guide — same title, same meta description, self-canonical. That is textbook keyword cannibalisation on a page that should rank.
  • 4. Contact page lost its H1. Zero H1 elements on a primary conversion page, regressed since June.

💰 Business impact

  • Authority gap is the ceiling. Rinfit's Open PageRank is 1.95. QALO 4.09, Groove Life 4.22, Enso Rings 3.80. Every competitor sits roughly two full points higher — this, not on-page technicals, is what caps rankings now.
  • The technical foundation is no longer the bottleneck. Schema coverage now beats all three competitors: Rinfit ships Organization + Store + WebSite + BreadcrumbList + Product/AggregateRating + FAQPage + CollectionPage + Article. QALO's homepage ships only WebPage.
  • Stars are earned but the page is slow. AggregateRating 4.9/516 makes Rinfit eligible for SERP star ratings — a direct CTR lift — but a 7.1 s mobile LCP suppresses both rankings and the conversion of that extra click.
  • Content is the cheapest remaining lever. A dormant 40-post blog is an asset already paid for. Competitors all publish; Rinfit last posted meaningfully in 2022.
Top 3 quick wins — under one hour of work each, all high impact.
① Rewrite the /collections/all meta description to target the US (the "Spain" text is live right now). ② noindex + remove the 4 junk pages from the sitemap, and 301 copy-of-ring-size-guidering-size-guide. ③ Restore the <h1> on /pages/contact-us.

Competitor Snapshot

Measured directly against each competitor's live homepage HTML on 12 Sept 2026. Note QALO has repositioned onto subscription-free smart rings — a move upmarket that leaves the classic silicone-ring query space less contested than it was in May.

🏷️ Rinfit (client)

Open PageRank1.95
Title47 chars ✓
H1Present, keyword-rich ✓
Schema8 types
Homepage words~1,100
BlogDormant since 2022

QALO

Open PageRank4.09
Title70 chars (over limit)
H1Present
SchemaWebPage only
Homepage words432
NotePivoted to smart rings

Groove Life

Open PageRank4.22
Titlen/a — blocks crawlers (403)
H1n/a
Scheman/a
Homepage wordsn/a
NoteHighest authority of the set

Enso Rings

Open PageRank3.80
Title57 chars ✓
H1Missing
SchemaOrganization + WebPage
Homepage words681
NoteCanonical points to /en-fi
Read-through: Rinfit now wins the on-page and structured-data comparison outright, and two of three competitors have visible technical defects of their own (Enso has no H1 and a mis-pointed canonical; QALO's title overruns). The remaining deficit is authority and publishing cadence — both off-page problems that no amount of theme work will close.

Detailed Audit — 17 Blocks

Block 00
Domain Authority & Trust Signals
Warning

Issues

Open PageRank 1.95 — below the 2.0 healthy threshold and ~2 points behind all three competitors. Global rank 47,713,068.
Index coverage could not be measured this run — Google, Bing and DuckDuckGo all rate-limited the audit IP. Recommend pulling exact numbers from Search Console.
Google Safe Browsing check unavailable — the API key in use has that service disabled. No evidence of any problem; simply unverified.

Good

SSL Labs grade A on both IPv4 and IPv6 endpoints
Certificate trust chain clean (grade unchanged when trust is ignored)
Domain resolves and serves over HTTPS on all tested hostnames
Not a theme problem. Authority is built off-site. With on-page now solid, a digital-PR / link-acquisition programme is the highest-leverage next investment — see the long-term track in the action plan.
Block 01
Crawlability & Indexation
Critical

Issues

NEWFour non-public pages are in the XML sitemap and returning 200 with self-canonicals: /pages/test-zoom, /pages/include-footer-copyright, /pages/include-footer-here-to-help, /pages/copy-of-ring-size-guide.
NEW/pages/include-footer-here-to-help exposes a placeholder phone number "800-123-4567" and unrendered [icon:theme-197] template tokens — inside its meta description, i.e. directly eligible for SERP display.
Minor redirect chain: http://rinfit.comhttps://rinfit.comhttps://www.rinfit.com (2 hops). The www variant resolves in one.

Good

robots.txt valid, with correct Sitemap: directive
Sitemap index healthy — 4 child sitemaps, 227 URLs
Crawl traps disallowed (sort_by, filters, cart, checkout)
No stray noindex on any commercial page
html lang declared; 404s correctly return HTTP 404
# Sitemap inventory — 12 Sep 2026 sitemap_products_1.xml 129 URLs sitemap_collections_1.xml 38 URLs sitemap_pages_1.xml 20 URLs ← contains 4 internal/dev pages sitemap_blogs_1.xml 40 URLs
Block 02
Meta Tags — Homepage
Good

Issues

Meta description is 133 chars — safely inside the limit, but ~20 chars of free SERP real estate are unused. A benefit-led clause or CTA would fill it.

Good

FIXEDTitle 47 chars — "Rinfit™ Silicone Rings | Designed for Real Life"
FIXEDMeta description down from 186 → 133 chars, no truncation
FIXEDExactly one H1, keyword-rich, present in server HTML
FIXEDog:image served over HTTPS; twitter:card = summary_large_image
Canonical self-referencing and correct
Rinfit homepage desktop 1440x900
Homepage · desktop 1440×900
Block 03
Meta Tags — Inner Pages
Critical

Issues

NEW/collections/all meta description targets Spain on a US brand — see the SERP comparison below.
REGRESSION/pages/contact-us has zero H1 — confirmed in both server HTML and rendered DOM. Verified present by QA on 5 June.
/blogs/news title is just "News" (4 chars) with no meta description at all — the blog hub is entirely unoptimised.
/collections/all H1 is the generic "Products" while its title targets "Silicone Rings" — a title/H1 mismatch.
/pages/faqs title is only 13 chars ("FAQs | Rinfit") — no keyword capture.
Sample product title 65 chars, over the 60-char guideline (May's inventory found dozens at 68–105).

Good

Titles and descriptions are unique across all sampled pages
Canonicals correct and self-referencing on every page tested
Strong content depth: product 2,717 words · collection 1,352 · FAQ 1,084
About page well-optimised — 40-char title, 145-char description, clean H1
Product meta descriptions correctly truncated to ~155 chars
Current — live right now
https://www.rinfit.com › collections › all
Silicone Rings | Rinfit Official Store
Shop Rinfit silicone rings in Spain. Lightweight, durable, and comfortable rings for training, work, and everyday wear, with fast delivery across Spain.

A Boston-based brand advertising Spanish delivery to US searchers. Reproduced on 4 fetches across 2 user agents.

Recommended
https://www.rinfit.com › collections › all
Silicone Rings | Rinfit Official Store
Shop all Rinfit silicone rings — hypoallergenic, lifetime warranty, built for work, lifting and everyday wear. Free US shipping over $30.
★★★★★ Rating: 4.9 · 516 reviews · $19.99 – $49.99

153 chars, US-targeted, leads with the shipping incentive. Star rating is already earned via AggregateRating.

Rinfit contact page with no H1
/pages/contact-us — renders with no H1 element at all
Block 04
Structured Data (Schema)
Good

Issues

Product BreadcrumbList is only 2 levels (Home → Product). Adding the collection tier gives Google a richer breadcrumb trail in SERPs.
No ItemList inside CollectionPage — the schema is present but doesn't enumerate its products.

Good

FIXEDFAQPage with 21 questions — May's single biggest missed opportunity, now shipped
FIXEDProduct + offers ($19.99, InStock) + AggregateRating 4.9 / 516
FIXEDOrganization — logo, sameAs, contactPoint, address all populated
FIXEDStore (LocalBusiness family) — telephone, address, openingHours, priceRange
WebSite with potentialAction (sitelinks searchbox eligible)
Article on blog posts, with a correct 3-level BreadcrumbList
All JSON-LD parses without error across every template tested
Best-in-class versus the competitive set. Rinfit ships 8 schema types; QALO's homepage ships one (WebPage) and Enso two. This is a genuine, durable advantage created by the May–June remediation.
Block 05
Internal Linking & Architecture
Warning

Issues

REGRESSIONNo visible breadcrumb UI on product or collection pages, despite the task being closed as QA-verified. Only the JSON-LD exists.
Dormant blog posts receive almost no internal links from commercial pages — 40 URLs of link equity sitting idle.

Good

246 internal links from the homepage across 81 unique paths — healthy distribution
All key templates reachable within 3 clicks of the homepage
Only 6 external links, all to owned social profiles — no equity leakage
No broken internal links found in the crawled sample
Block 06
Image Optimization
Critical

Issues

495 images on the homepage. Even with 363 lazy-loaded, this is the root cause of the mobile performance score. Lighthouse estimates 852 KB (mobile) / 1,722 KB (desktop) of savings from image delivery alone.
43 images lack alt text in the rendered DOM (vs only 8 in server HTML) — the gap is JS-injected content: Loox review widgets and video poster frames.
image-aspect-ratio fails — images render at ratios that don't match their intrinsic dimensions, feeding the CLS problem.

Good

FIXEDServer-HTML alt coverage now 485/493 — down from "50+ missing" in May
Lazy loading is implemented and working (363 images deferred)
Shopify CDN serves WebP with responsive srcset
Block 07
URL Structure
Good

Issues

Both /pages/faqs and /pages/faqs/ return 200 rather than one 301-ing to the other. Mitigated — but only mitigated — by correct canonicals.

Good

Clean, lowercase, hyphenated URLs throughout — no underscores, no uppercase
FIXEDTrailing-slash variants canonicalise to the non-slash form
Shallow, logical depth — /collections/{x}, /products/{x}
HTTPS enforced site-wide; www is consistently the canonical host
Block 08
Mobile SEO
Warning

Issues

REGRESSION154 of 222 tappable elements are under 44×44px. May measured 148 — the count went up. Header icons remain 24×24px, the precise defect QA documented on 25 May before the task was closed.
Quick-buy buttons and footer policy links still fall short of the 44px target.

Good

Viewport meta correct, with maximum-scale=5 preserving pinch-zoom (accessibility win)
No horizontal overflow — body width exactly 390px at 390px viewport
Mobile navigation and cart drawer function correctly
Text is legible without zoom throughout
Rinfit homepage mobile 390x844
Homepage · mobile 390×844 — layout is clean; the defect is tap-target sizing
Block 09
Page Speed & Core Web Vitals
Critical

Issues

Mobile performance 16/100 · LCP 7.1 s (target <2.5) · CLS 0.905 (target <0.1) · TBT 1,280 ms · Speed Index 13.6 s · Time to Interactive 35.9 s.
Desktop performance 32/100 · LCP 2.9 s · CLS 0.68 · TBT 430 ms.
Real users confirm the desktop CLS problem. Chrome UX Report field data puts desktop CLS at p75 = 0.68 (SLOW) — this is not a lab artefact.
1,920 KB of unused JavaScript and 65 KB unused CSS. Main-thread work 9.5 s; script bootup 3.9 s.
1,340 KB recoverable via better cache lifetimes.
Collection page /collections/all scores 38/100 on mobile.

Good

Server response 20 ms — hosting and backend are not the problem
Field data for mobile is healthy: LCP 1,589 ms, FCP 1,377 ms, INP 129 ms — all FAST
INP is comfortably within budget on both form factors
SEO category 92/100; Best Practices 92/100
MetricMobile (lab)Desktop (lab)TargetVerdict
Performance score163270+ / 90+Critical
LCP7.1 s2.9 s< 2.5 sFail
CLS0.9050.68< 0.1Fail
TBT1,280 ms430 ms< 200 msFail
Speed Index13.6 s5.5 s< 3.4 sFail
INP (field)129 ms99 ms< 200 msPass
TTFB (field)847 ms572 ms< 800 msBorderline
Interpretation. The divergence between healthy mobile field data and a catastrophic mobile lab score is characteristic of a page that is cheap on repeat visits but brutally expensive cold — 495 images and ~2 MB of unused JS. Returning visitors are fine; a first-time mobile visitor on a mid-tier device is not, and that is exactly the cohort arriving from organic search.
Block 10
Security & Technical
Good

Issues

16 third-party script hosts across 43 script tags — against May's ≤15 target. AdRoll alone loads from s.adroll.com, assets1.adroll.com and d.adroll.com.
HSTS max-age is 7,889,238 s (≈91 days) — under the 1-year minimum for preload-list eligibility.
No Referrer-Policy or Permissions-Policy header.
1 console error persists (capig-events.js DNS failure) — long-standing, flagged in QA since May.

Good

SSL Labs grade A; HTTPS enforced from every entry point
CSP present with block-all-mixed-content, frame-ancestors 'none', upgrade-insecure-requests
X-Frame-Options: DENY and X-Content-Type-Options: nosniff
Zero mixed content
Analytics stack healthy — GTM, GA, Meta Pixel, Microsoft Clarity all firing
# Third-party hosts on homepage (16) googletagmanager · gstatic · google · connect.facebook.net s.adroll · assets1.adroll · d.adroll ← 3 hosts, one vendor loox.io · shopify.privy.com · api.socialsnowball.io scripts.clarity.ms · www.clarity.ms · shop.app cdn.codeblackbelt.com · cdn.jsdelivr.net · cdn.shopify.com
Block 11
Content Quality & E-E-A-T
Warning

Issues

The blog is dormant. 38 of 40 posts date from 2021–2022; only 2 posts carry a 2025 date and the most recent is off-topic ("10 Unusual Travel Essentials"). No 2026 content at all.
Contact page carries no physical address, no opening hours and no map — Boston NAP absent site-wide despite being present in the Store schema.
No author attribution or bylines on blog content — a weak spot for E-E-A-T in the health-adjacent "ring avulsion" topic space.

Good

About page tells a real brand story — female-founded, since 2015, 786 words
Privacy, Terms, Shipping, Warranty and Data-Sharing pages all present
Social proof is strong and structured — 4.9★ from 516 reviews, plus a dedicated Reviews page
Social profiles linked: Instagram, Facebook, YouTube, Pinterest
Existing evergreen posts are genuinely good — the sizing guide runs 903 words with a clean H2 structure and Article schema
The blog is an underused asset, not a missing one. 40 indexed posts with working Article schema already exist. Reviving the cluster around ring avulsion, silicone vs metal and ring sizing — topics where Rinfit already has pages — is far cheaper than commissioning a content programme from zero.
Block 12
Local SEO
Warning

Issues

No visible NAP block anywhere in the rendered site — the address exists only inside JSON-LD.
No Google Maps embed on the contact page.
Structured address and on-page address cannot be cross-validated by Google, weakening the local trust signal.

Good

FIXEDStore schema carries address, telephone, openingHours and priceRange
Clickable tel: link present — 781 area code, consistent with Boston
Contact email exposed as a mailto: link
Local SEO is a secondary concern for a national D2C ecommerce brand — but surfacing the Boston address in the footer is a trivial change that strengthens E-E-A-T for every page at once.
Block 13
Competitor & SERP Analysis
Warning

Issues

Authority deficit is the binding constraint: PR 1.95 vs 3.80–4.22 across the competitive set.
Live SERP position tracking was not possible — Google, Bing and DuckDuckGo all blocked the audit IP. Competitive comparison below is from direct page inspection instead.
All competitors publish actively; Rinfit's last substantive post was 2022.

Good

Rinfit's schema coverage beats all three competitors (8 types vs 1–2)
Rinfit's homepage title and H1 are both better-formed than QALO's and Enso's
Enso has no H1 and a canonical mis-pointing to /en-fi; QALO's title overruns at 70 chars — both exploitable
QALO's pivot to smart rings vacates share of the classic silicone-ring query space
SignalRinfitQALOGroove LifeEnso Rings
Open PageRank1.954.094.223.80
Title length47 ✓7057 ✓
H1 presentYes ✓YesNo
Schema types8 ✓12
Canonical correctYes ✓YesNo
Publishing cadenceDormantActiveActiveActive
Block 14
Redirects & Canonicalization
Good

Issues

Two-hop chain on the bare apex over HTTP: http://rinfit.comhttps://rinfit.comhttps://www.rinfit.com.

Good

HTTP → HTTPS 301 on both apex and www
Non-wwwwww 301, consistently applied
Canonical matches the resolved URL on every page tested
FIXED?sort_by= canonicalises back to the clean collection URL
Pagination correctly self-canonicalises (?page=2 → itself), not to page 1
Block 15
JavaScript SEO & Rendering
Good

Issues

Rendered DOM has 43 images without alt vs 8 in server HTML — the delta is JS-injected (Loox widgets, video posters) and invisible to a raw-HTML check.
Review content is client-side rendered, so review text contributes nothing to the server-rendered crawl (the AggregateRating schema does compensate).

Good

Server-side rendered Liquid — no SPA framework, no hydration dependency
H1, titles, meta and canonicals all present in raw HTML — verified via Googlebot user agent
Prices and product names present in server HTML (2,717 words on a product page)
All JSON-LD is server-rendered, not injected
LCP element is not lazy-loaded
Rinfit product page
Product template — server-rendered, no visible breadcrumb trail above the title
Block 16
Duplicate Content & Cannibalization
Critical

Issues

NEW/pages/copy-of-ring-size-guide duplicates /pages/ring-size-guide — identical 39-char title, identical 118-char meta description, both self-canonical, both in the sitemap. The duplicate also carries 7 H1 elements.
NEWThree thin internal pages indexed: test-zoom (219 words), include-footer-copyright (233), include-footer-here-to-help (268).
Ring sizing is a high-intent commercial query — splitting its authority across two identical URLs is the most costly duplication on the site.

Good

No duplicate titles among genuine commercial pages
Faceted/sort URLs correctly canonicalised — no parameter-driven duplication
Product variants do not spawn separate indexable URLs
Pagination handled correctly
URLTitleMeta descWordsH1sAction
/pages/ring-size-guideRING SIZE GUIDE | Rinfit…118 ch7681Keep — canonical target
/pages/copy-of-ring-size-guideidenticalidentical9957301 → ring-size-guide
/pages/test-zoom"test-zoom"none2191Delete / noindex
/pages/include-footer-copyrightinternal60 ch2331Delete / noindex
/pages/include-footer-here-to-helpinternalplaceholder phone2681Delete / noindex

Priority Action Plan

1
Quick wins — this week
Content and configuration only. No theme deployment required for the first three.
  • Rewrite /collections/all meta description for the US market — the "Spain" copy is live to customers today
  • 301 /pages/copy-of-ring-size-guide/pages/ring-size-guide; delete or noindex the 3 internal pages and drop all 4 from the sitemap
  • Restore the <h1> on /pages/contact-us
  • Give /blogs/news a real title and meta description; lengthen the /pages/faqs title
  • Change /collections/all H1 from "Products" to a keyword-bearing heading
2
Short term — 2 to 4 weeks
The performance work. This is where the score is actually won.
  • Cut the homepage from 495 images to roughly 60 above-the-fold — paginate or lazy-mount the product grid
  • Fix CLS (0.905 mobile / 0.68 desktop): reserve explicit dimensions on hero and product cards, add font-display: swap
  • Strip the 1.9 MB of unused JavaScript; consolidate AdRoll's 3 hosts; re-evaluate CodeBlackBelt and Privy
  • Raise mobile tap targets to 44px — start with the 24×24 header icons QA flagged in May
  • Add alt text to the 43 JS-injected images
3
Medium term — 1 to 2 months
Structural and trust improvements.
  • Ship the visible breadcrumb UI that was signed off but never landed; extend product BreadcrumbList to 3 levels
  • Bulk-trim product titles to ≤60 chars (May's inventory flagged dozens at 68–105)
  • Publish the Boston NAP in the footer and on the contact page; add a map embed
  • Raise HSTS max-age to 1 year; add Referrer-Policy and Permissions-Policy
  • Add ItemList to CollectionPage schema
4
Long term — the authority gap
The only remaining constraint that theme work cannot fix. PR 1.95 vs a competitive floor of 3.80.
  • Revive the blog: 2 posts a month against the ring-avulsion / silicone-vs-metal / sizing clusters where pages already exist
  • Add author bylines and credentials — E-E-A-T matters in the safety-adjacent topic space
  • Launch a digital-PR and link-acquisition programme targeting the ~2-point PageRank deficit
  • Interlink the 40 dormant posts from relevant collection and product pages to recirculate idle equity
  • Connect Search Console to this reporting loop so index coverage and positions are measurable next cycle

Implementation Estimate

#TaskImpactCategoryCost
1Rewrite /collections/all meta description (Spain → US) + keyword H1HighMeta$60
2Remove 4 junk pages from index & sitemap; 301 the duplicate size guideHighIndexation$120
3Restore H1 on /pages/contact-usHighOn-page$60
4Homepage image payload: 495 → ~60 above-fold, paginate product grid, preload LCPHighPerformance$420
5Remove 1.9 MB unused JS; consolidate AdRoll hosts; audit 16 third-party scriptsHighPerformance$360
6Fix CLS 0.905 / 0.68 — reserve dimensions, font-display, stabilise heroHighCore Web Vitals$240
7Mobile tap targets to 44px (header icons, footer links, quick-buy)MediumMobile UX$180
8Visible breadcrumb UI + 3-level product BreadcrumbListMediumStructure$150
9Blog revival — 6 posts across existing ring-avulsion / sizing clustersMediumContent$450
10Blog hub title + meta description; FAQ page titleLowMeta$60
11Bulk-trim product titles over 60 chars (~78 products)MediumMeta$180
12Contact page NAP — Boston address, hours, map embed, footer addressMediumE-E-A-T$120
13Alt text for 43 JS-injected images (Loox widgets, video posters)LowImages$90
Total — 13 tasks$2,490
Sequencing advice. Items 1–3 total $240 and can ship this week without a theme deploy — they remove a live geographic error, stop authority leaking to a duplicate page, and restore a missing H1 on a conversion page. Items 4–6 ($1,020) are where the composite score actually moves; nothing else in this list will lift a 16/100 mobile performance figure.