Several storefront risks need attention.
A first-time visitor sees an unfinished page for 4.3 seconds. 1.4 MB of apps and trackers travel with every visit. Visible customer proof is missing for first-time visitors.
a-public-store.example
Start with these three
The shortest path from this audit to a better storefront.
Open the full roadmap →Store Health Summary
Six page-scoped diagnostics from the browser capture, crawl and storefront detectors.
These diagnostics describe the scanned homepage. The captured browser score and the separately throttled Mobile Lighthouse Lab score use different conditions; neither is averaged into the headline grade.
Score Trend
Recent scans plotted on the same 0 to 100 scale, with readable timestamps in UTC.
Latest Sep 13, 18:03
- Contact route missing from the storefront
- Product images served without explicit dimensions
- A new third-party script was detected in the head
Conversion, Trust & Mobile Signals
What the detectors found on this scanned homepage; absence here is not a store-wide conclusion.
Trust proof & safety · 3 of 5 found
What tells a first-time visitor the store is safe to buy from.
Buying ease · 3 of 5 found
What makes finding a product and starting a purchase quick.
"Found" means the scanner matched a known marker on this page. Check a "not found" by eye before changing the theme: a store can do the right thing in a way the scanner does not recognize.
Crawl Fundamentals
Ten checks from the live page and robots.txt when available. This is separate from visual SEO and the Lighthouse SEO score.
Crawl checks passed
5 checks need attention.
Can Google index this page?
Available: No full-store robots block or page noindex was detected.
Schema scope: Organization
Sitemap: Referenced in robots.txt.
Needs attention
Keep a single H1 that names the page topic and demote the others to H2, so search engines read one clear subject.
Rewrite the title tag to lead with what the store sells and stay inside the limit; this is the headline of the Google listing.
Add og:title, og:description, og:image, and og:url so shared links render a proper preview card.
Describe products in alt text; it feeds Google Images rankings and assists screen readers.
Convert the remaining catalog and theme images to WebP or AVIF; a token sample is not enough to materially reduce payload.
Checks already in place
Visual Storefront Review
Screenshot evidence from mobile and desktop, scored only for visible conversion and on-page search signals.
What shoppers see, and what should change
The storefront looks credible, but the product page gives a first-time buyer nothing to trust and nothing to hurry for.
Page-by-page read
Clean and well photographed, but the promise is generic.
Hero: The category is clear; the reason to choose this store is not.
CTA: The primary action is visible above the fold.
Trust: No independent proof appears near the hero.
Professional, but the buying decision is unsupported.
Hero: Product and price are clear.
CTA: Add to Cart is visible but scrolls away on mobile.
Trust: No reviews, returns note or delivery estimate near the decision.
Highest-priority visual findings
Return information is not visible near the purchase area
Visitors may hesitate to purchase when return conditions are difficult to find.
Recommended change: Add a concise returns message below Add to Cart and link it to the complete policy.
No social proof at the decision point
A first-time buyer has no independent signal that other people bought this and were happy.
Recommended change: Surface the rating summary beside the product title and the reviews further down the page.
No delivery estimate before checkout
A buyer who cannot tell when an order arrives either guesses or leaves.
Recommended change: Show an expected delivery window near the price.
Value proposition is too broad
A generic promise gives no reason to prefer this store.
Recommended change: Name the audience, the outcome and one proof point in a single sentence.
Only the top four visual findings are shown here. The main roadmap remains the canonical priority list.
Tests worth running
Add a one-line returns message below the buy button.
Why it should work: If a returns line sits under Add to Cart, more sessions reach checkout because the main hesitation is answered in place.
Watch this number: Product-to-cart rate
Move review stars above the fold.
Why it should work: If the rating summary sits beside the title, more visitors continue because uncertainty drops.
Watch this number: Product-page engaged sessions
Test a sticky add-to-cart bar.
Why it should work: If the buy action stays visible on mobile, more sessions reach cart.
Watch this number: Add-to-cart rate
Visual search opportunities
Rewrite product titles around search terms
Titles omit the words buyers actually type, so the pages compete for phrases nobody searches.
Describe gallery images in alt text
11 images carry no alternative text, which costs both accessibility and image search.
Prioritized Action Roadmap
The canonical fix list for this report: six or fewer actions, ordered by impact and paired with measured evidence.
The captured page looked ready after 4.3s
This is one live browser session, and slower rendering increases abandonment risk, especially on mobile.
Evidence: Captured browser LCP 4.3s · target 2.5s · https://a-public-store.example/
Next action: Inspect the measured LCP element, compress or preload its asset, then defer non-critical scripts.
Customer reviews were not detected on this homepage
This detector found no supported review widget or visible rating marker on the scanned page; it does not prove the whole store has no reviews.
Evidence: Review selectors not detected · https://a-public-store.example/
Next action: Confirm the result manually, then place substantiated ratings or reviews near the primary decision point on this page.
The scanned mobile page adds avoidable friction
Small text, cramped controls, or incorrect scaling were counted in the captured viewport.
Evidence: 6 small targets · 3 illegible text nodes · viewport present
Next action: Fix the listed elements, retain a correct viewport, use at least 14px body text, and make interactive targets at least 44px.
Buttons feel laggy when tapped
Delayed Add to Cart feedback makes shoppers retry or assume the store is broken.
Evidence: homepage · https://a-public-store.example/
Next action: Trim long-running scripts and delay trackers until the page is interactive.
The page jumps around while it loads
Unexpected movement causes mis-taps and weakens trust.
Evidence: homepage · https://a-public-store.example/
Next action: Reserve dimensions for images, banners, and embeds.
No free-shipping message is visible
Clear shipping expectations reduce checkout surprises.
Evidence: homepage · https://a-public-store.example/
Next action: Add a shipping-threshold message near the cart action and announcement bar.
Rollout Plan
The same fixes, sequenced by how soon they should ship and routed to whoever normally owns that surface.
Low-effort fixes that can ship on their own, ahead of the work below.
- Customer reviews were not detected on this homepage
- The page jumps around while it loads
- No free-shipping message is visible
The largest measured payoff in this report, each scoped as its own change.
- The captured page looked ready after 4.3s
- The scanned mobile page adds avoidable friction
Worth doing once the higher-impact work above has shipped.
- Buttons feel laggy when tapped
Owners are a routing suggestion based on where each fix lives in a Shopify store, not an estimate of hours. Re-scan after each block ships to measure the change.
Implementation Brief
Code-level guidance and a developer-ready handoff for the measured roadmap.
App and script review
Third-party apps and pixels found running on the scanned page. Each one costs the shopper some loading work.
Measured on this scan, the slowest attributed load took 412ms.
Theme code suggestions
2 implementation snippets Review before use
Add the returns reassurance directly under the buy button.
<p class="product__returns">
Free 30-day returns.
<a href="{{ pages.returns.url }}">Read the policy</a>
</p>Reserve image dimensions so the page stops shifting as it loads.
{{ image | image_url: width: 960 | image_tag: width: image.width, height: image.height, loading: 'lazy' }}Developer handoff Acceptance criteria and tasks
- Add returns line under Add to Cart. Acceptance: visible without scrolling on a 390px viewport. - Defer Klaviyo and Meta Pixel to first interaction. Acceptance: no render-blocking third-party script in head; LCP under 2.5s. - Reserve dimensions on 9 flagged images. Acceptance: CLS under 0.1. - Rewrite product titles and add gallery alt text. Acceptance: title 30-60 chars, zero images missing alt.
Performance Detail
The shopper timeline, timing signals, page weight and script resource loads from one captured browser session.
Shopper timeline
A long pause on a blank tab.
First content arrives well after target.
Well beyond the configured target.
There is visible lag after a tap.
Core timing and stability signals
Time until the page looks ready. The moment the hero image or headline lands. This report profile targets 2.5s.
How fast taps respond. The delay between a tap and the visible response. Slow taps make buttons feel broken.
How much the page jumps. Unexpected movement causes mis-taps and makes a storefront feel unstable.
Server reaction time. How long the server waits before sending the first byte. It delays everything that follows.
First sign of life. When the first visible content appears instead of a blank screen.
Time frozen by scripts. How long apps and trackers occupy the browser while the page loads.
How much the store sends to a shopper
The first number covers one page. The other three cover the whole scan, which visits more than one page, so none of them is the weight of a single visit. The two domain totals count only the resources that reported a size, which makes them a lower bound: they can land under the single-page figure rather than above it. On this scan they add up to less than the single page above, so the scan-wide counters are incomplete: read them as a floor, and re-scan if the split between store and app bytes matters.
What this page's 2.9 MB is made of
Detected apps and pixels
Slowest scripts to download
Every script the page loaded took 940ms to download when added together. They download side by side, so no shopper waits that long; the slowest single ones below are the ones worth attention.
Google Lighthouse & Field Data
A throttled PageSpeed lab run plus Chrome UX field data when Google has enough real-user traffic.
Mobile and desktop lab runs
The live browser scan captured LCP at 4.3s; the throttled Lighthouse mobile lab measured 5.2s. They are not interchangeable. Use the live scan for the captured session and the slower lab result as a mobile risk signal.
Real visitors · CrUX 75th percentile
Overall: NEEDS_IMPROVEMENT
Technical Appendix
Raw scanner findings plus theme, asset, network and accessibility tables, kept separate from the client-facing roadmap.
Scanner findings · 3 critical · 3 needs work · 2 advisory 8 total
Render-blocking scripts in the document head
4 scripts load before the first paint and none are deferred. Two belong to marketing apps that are not needed before the page draws.
No customer reviews detected on the product page
No review content or rating summary was found in the scanned product view.
No return policy or trust badge near the buy button
No returns message or policy link was detected within the product form or product information block.
Layout-shift risk: image dimensions missing
9 images have no explicit width and height. Measured CLS is 0.18, above the 0.1 threshold.
Images served larger than displayed
7 images are delivered well above their rendered size, adding avoidable weight on mobile.
Page title is outside the useful length
The title tag is 22 characters and omits the product term buyers search for.
Product structured data not found
No Product JSON-LD was detected, so products are not eligible for richer search-result treatments.
Multiple first-level headings
2 H1 elements were found on the product page, making the page structure ambiguous.
Raw platform, asset and accessibility evidence counts plus bounded element-level findings
Store foundation
| Shopify theme | Dawn (customised) |
|---|---|
| Architecture | Online Store 2.0 |
| Console errors / warnings | 2 / 5 |
| DOM nodes / depth | 1642 / 18 |
| Detected integrations | Meta Pixel, Google Analytics, Klaviyo |
Asset weight & network
| Custom fonts | 6 |
|---|---|
| Font display swap | Missing |
| iFrames | 2 |
| Images | 940 KB |
| JavaScript | 1.4 MB |
| CSS | 320 KB |
| Fonts | 210 KB |
UX & accessibility signals
| Missing ARIA labels | 4 |
|---|---|
| Main landmark | Present |
| Small tap targets | 6 |
| Illegible text nodes | 3 |
| Viewport scaling | Optimized |
| Video autoplay | None / lazy |
| Announcement bar | Present |
Methodology & Scope
What was scanned, which thresholds apply, and how to interpret different measurement sources.
Measurement coverage
This audit loads the live storefront and measures rendering, network, page structure, conversion, trust, mobile, SEO, and accessibility signals in a real browser, then adds a separate Google Lighthouse lab run and Chrome UX real-visitor data when available. Browser-scan, Lighthouse, CrUX, crawl, and visual scores use different inputs and should not be treated as interchangeable.
AI-assisted sections synthesize measured evidence into implementation suggestions. They can be wrong, and suggested code must be reviewed in a staging theme.
Results describe the scanned page and moment in time. They are not a legal, accessibility, search-ranking, conversion, or revenue guarantee.
Run this on your own store, or a client’s.
Use the priority list above as the implementation roadmap, then re-scan the store with the same settings to measure the change.
For ongoing work, enable weekly monitoring in ShopGrade to catch score or performance regressions and open a fresh evidence report when a threshold changes.