Sample This is a sample Deep Audit of a fictional store. Every section below is exactly what you receive for your own site.

Get yours for $29 →
northwind-outdoors.example Shopify · generated 1 September 2026 at 09:30 UTC

Scorecard

Overall score

Weighted average: copy 25%, technical 20%, performance 20%, UX 20%, accessibility 15%, Security Pass 15% – renormalised when a category was not measured.

  • Technical SEO 89
  • Security Pass 48
  • Performance 47
  • Accessibility 86
  • Copy & messaging 64
  • UX & conversion 58

WebVitalist Deep Audit: northwind-outdoors.example

Overall score: 65/100. Northwind Outdoors has a credible story (guides who test every product, a 60-day trail guarantee) but the homepage leads with a generic “Gear up for the trail” and hides the guarantee below the fold. Category pages share one meta description, the product reached via a collection URL has no canonical, and nine third-party app scripts push mobile LCP to 3.9 s. Fixing the headline, the shared metadata and the app bloat are the highest-leverage changes.

https://northwind-outdoors.example/ · audited 1 September 2026 at 09:30 UTC

Platform

Shopify (high confidence).

  • Shopify: cdn.shopify.com
  • Shopify: x-shopid
  • Cloudflare: server: cloudflare

Scorecard

Area Score Notes
Technical SEO 89/100 1 critical and 2 lesser findings. Across 15 pages: 4 failures and 41 warnings.
Security Pass 48/100 5 high-priority and 2 lesser findings. Passive checks only — not a pentest.
Performance 47/100 Lighthouse mobile. LCP 3,850 ms, CLS 0.18.
Accessibility 86/100 5 Lighthouse checks failing.
Copy & messaging 64/100 Solid copy on product and about pages; the homepage undersells the differentiators.
UX & conversion 58/100 Clear navigation, but the mobile experience is slowed by apps and a few accessibility gaps.

Site crawl

This Deep Audit crawled multiple internal pages (15). 15 pages · 1 broken · 2 duplicate titles · 2 thin.

Site-wide issues

Per-page scores

Page Title Words Status
https://northwind-outdoors.example/ Northwind Outdoors – Tents, Sleeping Bags, Backpacks & Camping Gear | Free Shipping Over $75 224 200
https://northwind-outdoors.example/collections/tents Tents – Northwind Outdoors 183 200
https://northwind-outdoors.example/collections/sleeping-bags Sleeping Bags – Northwind Outdoors 176 200
https://northwind-outdoors.example/collections/all Products – Northwind Outdoors 164 200
https://northwind-outdoors.example/blogs/journal Journal – Northwind Outdoors 164 200
https://northwind-outdoors.example/pages/about About us – Northwind Outdoors 202 200
https://northwind-outdoors.example/products/ridgeline-2p-tent Ridgeline 2P Tent – Northwind Outdoors 194 200
https://northwind-outdoors.example/collections/tents/products/ridgeline-2p-tent Ridgeline 2P Tent – Northwind Outdoors 194 200
https://northwind-outdoors.example/products/summit-down-jacket Summit Down Jacket – Northwind Outdoors 193 200
https://northwind-outdoors.example/blogs/journal/how-to-choose-a-tent How to choose a backpacking tent – Northwind Outdoors 248 200
https://northwind-outdoors.example/products/alpine-lantern Page not found – Northwind Outdoors 42 404
https://northwind-outdoors.example/collections/tents-and-shelters Tents – Northwind Outdoors 183 200
https://northwind-outdoors.example/pages/shipping-returns Shipping and returns – Northwind Outdoors 198 200
https://northwind-outdoors.example/pages/size-guide Northwind Outdoors 54 200
https://northwind-outdoors.example/pages/faq FAQ – Northwind Outdoors 179 200

1. Technical SEO

Score 89/100. 1 critical and 2 lesser findings. Across 15 pages: 4 failures and 41 warnings.

Check Result
HTTPS The page is served over HTTPS.
⚠️ Page title The title is 92 characters: “Northwind Outdoors – Tents, Sleeping Bags, Backpacks & Camping Gear | Free Shipping Over $75”.
Meta description 136 characters.
H1 heading “Gear up for the trail”.
Heading structure 5 H2 and 4 H3.
Canonical https://northwind-outdoors.example/
Indexing The page can be indexed.
robots.txt robots.txt exists.
Sitemap Sitemap found: https://northwind-outdoors.example/sitemap.xml.
Mobile viewport width=device-width, initial-scale=1
Language (html lang) lang="en".
Image alt text 3 of 9 images are missing an alt attribute.
Structured data JSON-LD: Organization, WebSite.
⚠️ Social sharing Incomplete Open Graph tags.
Internal links 20 internal and 1 external links.
Content length ~224 words.
HTML size 7 kB of HTML.
Server response time 612 ms.
Favicon A favicon is declared.

How to fix it

  • Page title: Shorten the title to under 60 characters so it is not truncated in search results.
  • Image alt text: Give meaningful images descriptive alt text and decorative images alt="".
  • Social sharing: Set and test og:title, og:description and og:image (1200×630).

Security Pass

Score 48/100. 5 high-priority and 2 lesser findings. Passive checks only — not a pentest.

Passive checks on the public URL only: response headers, cookie flags, TLS, a short allowlist of leak paths, and obvious technology disclosure. This is not a penetration test — we do not scan ports, submit forms, authenticate, or send exploit payloads.

Check Severity Result
HSTS high No Strict-Transport-Security header on the final response.
Content-Security-Policy high No Content-Security-Policy header.
Clickjacking protection high No X-Frame-Options header and no CSP frame-ancestors directive.
Referrer-Policy low No Referrer-Policy header.
⚠️ Permissions-Policy low No Permissions-Policy header.
⚠️ X-Content-Type-Options low X-Content-Type-Options: nosniff is missing.
Cookie flags high 1 cookie set. Secure missing on _shopify_s; HttpOnly missing on _shopify_s.
HTTPS The page is served over HTTPS.
ℹ️ HTTP to HTTPS redirect The audit started on HTTPS, so an HTTP landing-page redirect was not observed.
Mixed content No obvious http:// assets on the HTTPS page.
Sensitive path exposure Leak probes were skipped (fixture). Sensitive paths were not fetched.
Technology disclosure Server: cloudflare.

Prioritised fixes

  • HSTS (high): Send Strict-Transport-Security: max-age=31536000; includeSubDomains on every HTTPS response.
  • Content-Security-Policy (high): Add a Content-Security-Policy that sets default-src (or script-src) to a tight allowlist. Start in Report-Only if you need to observe breakage first.
  • Clickjacking protection (high): Send X-Frame-Options: DENY (or SAMEORIGIN), or set Content-Security-Policy frame-ancestors 'none'.
  • Cookie flags (high): Set Secure and HttpOnly on every cookie that is not meant to be read by JavaScript. SameSite=None requires Secure.
  • Referrer-Policy (low): Send Referrer-Policy: strict-origin-when-cross-origin (or stricter).
  • Permissions-Policy (low): Send Permissions-Policy to disable unused browser features (camera, microphone, geolocation, payment, …).
  • X-Content-Type-Options (low): Send X-Content-Type-Options: nosniff on every response.

2. Performance

Lighthouse (mobile) performance 47/100, best practices 79/100, Lighthouse SEO 92/100.

Lab metric Value Target
Largest Contentful Paint 3,850 ms < 2,500 ms
First Contentful Paint 2,140 ms < 1,800 ms
Total Blocking Time 640 ms < 200 ms
Cumulative Layout Shift 0.18 < 0.1
Speed Index 5,230 ms < 3,400 ms
Time to first byte (TTFB) 612 ms < 800 ms
Total page weight 3.0 MB < 1.5 MB

Real-user data (Chrome UX Report, last 28 days, this URL): overall AVERAGE. LCP 3100 ms (AVERAGE), INP 210 ms (AVERAGE), CLS 0.12 (AVERAGE), TTFB 800 ms (AVERAGE).

Biggest opportunities

  • Reduce unused JavaScript — ~1,250 ms faster (9 resources)
  • Properly size images — ~900 ms faster (6 resources)
  • Eliminate render-blocking resources — ~620 ms faster (4 resources)
  • Serve images in next-gen formats — ~480 ms faster (5 resources)
  • Reduce initial server response time — ~310 ms faster

3. Accessibility

Lighthouse accessibility 86/100.

  • Background and foreground colors do not have a sufficient contrast ratio (14 elements)
  • Image elements do not have [alt] attributes (3 elements)
  • Links do not have a discernible name (3 elements)
  • Form elements do not have associated labels (1 elements)
  • Buttons do not have an accessible name (1 elements)

4. Copy & messaging

Score 64/100. Solid copy on product and about pages; the homepage undersells the differentiators.

  1. Headline says nothing a competitor could not say — impact: High, effort: Low
    • Evidence: H1: “Gear up for the trail”
    • Why it matters: The first three seconds decide whether a cold visitor scrolls. The real differentiators (team-tested gear, 60-day trail guarantee, ships in one day) appear only in the “Why Northwind” section far below the fold.
    • Recommendation: Lead with the promise: “Camping gear tested by guides – try it for 60 days on the trail.” Move one line of proof (12,000 campers, 4.8★) directly under it.
  2. Homepage title is 92 characters and keyword-stuffed — impact: Medium, effort: Low
    • Evidence: <title>Northwind Outdoors – Tents, Sleeping Bags, Backpacks & Camping Gear | Free Shipping Over $75</title>
    • Why it matters: Google truncates titles around 60 characters; the shipping offer and half the categories are never shown, and the brand is all a searcher sees.
    • Recommendation: Use “Northwind Outdoors: Trail-Tested Camping Gear, 60-Day Guarantee” (58 characters) and keep the shipping offer for the meta description.
  3. Three collection pages share one meta description — impact: Medium, effort: Low
    • Evidence: Tents, Sleeping bags and All gear all use “Lightweight backpacking tents and roomy camping tents. Free shipping on orders over $75.”
    • Why it matters: Search snippets for sleeping bags talk about tents, which lowers click-through and signals templated content.
    • Recommendation: Write one description per collection in Shopify admin (Collections → Search engine listing), naming the category and one concrete reason to buy.

Ready-to-paste rewrites

<title>: Northwind Outdoors: Trail-Tested Camping Gear, 60-Day Guarantee
Meta description: Tents, sleeping bags and packs tested by mountain guides. Free US shipping over $75, ships in one business day, and a 60-day trail guarantee on everything.
H1: Camping gear tested by guides. Try it for 60 days on the trail.
Sub-heading: Every tent, bag and pack we sell has been carried and slept in by our team in Oregon. Ships within one business day.
Primary CTA: Shop trail-tested gear

5. UX & conversion

Score 58/100. Clear navigation, but the mobile experience is slowed by apps and a few accessibility gaps.

  1. Nine third-party scripts load before the hero image — impact: High, effort: Medium
    • Evidence: Klaviyo, Judge.me, Mailchimp, Meta Pixel, Google Tag Manager and a wishlist app load synchronously in <head>; Lighthouse LCP 3,850 ms, TBT 640 ms
    • Why it matters: On mobile, every second of LCP beyond 2.5 s measurably reduces add-to-cart rate, and the store is already in the “needs improvement” band in real-user data.
    • Recommendation: Remove apps you no longer use (check Settings → Apps and sales channels), defer the rest with defer or Shopify’s customer-events pixels, and add fetchpriority="high" plus explicit dimensions to the hero image.
  2. Cart button and newsletter field have no accessible name — impact: Medium, effort: Low
    • Evidence: <button class="header__icon header__icon--cart"> contains only an SVG; <input type="email" name="contact[email]"> has a placeholder but no label
    • Why it matters: Screen-reader users hear “button” with no purpose, and placeholder-only fields fail WCAG 1.3.1 and disappear as soon as someone starts typing.
    • Recommendation: Add aria-label="Cart" to the icon button and a visually hidden <label> to the newsletter input; both are one-line changes in header.liquid and footer.liquid.
  3. Homepage links to a product that returns 404 — impact: Medium, effort: Low
    • Evidence: “New this season” → /products/alpine-lantern → HTTP 404
    • Why it matters: A dead link in the merchandising grid wastes a featured slot and erodes trust at the moment a visitor shows intent.
    • Recommendation: Redirect /products/alpine-lantern to the replacement product (Online Store → Navigation → URL redirects) and remove the card from the featured collection.

6. 30-day action plan

Week 1 – quick wins

  • Replace the homepage H1, sub-heading and primary CTA with the rewrites above
  • Shorten the homepage title to under 60 characters and write unique collection descriptions
  • Add a 301 redirect for /products/alpine-lantern and remove the dead card from the homepage
  • Add aria-label to the cart button and a label to the newsletter field

Week 2

  • Audit installed apps; uninstall unused ones and defer the remaining scripts
  • Restore the canonical tag on collection-scoped product URLs (theme.liquid)
  • Add alt text to the three untagged homepage images and set width/height on the hero
  • Fix the three-hop redirect from /collections/tents-and-shelters to a single 301

Weeks 3–4

  • Convert hero and product images to WebP/AVIF via Shopify image_url filters
  • Expand the size guide beyond 150 words with fit advice per product line
  • Add a review snippet (rating + count) to the homepage hero
  • Re-run the Deep Audit and compare scores side by side

Appendix: raw signals

Signal Value
Final URL https://northwind-outdoors.example/
HTTP status 200
Title Northwind Outdoors – Tents, Sleeping Bags, Backpacks & Camping Gear | Free Shipping Over $75 (92 characters)
Meta description 136 characters
H1 / H2 / H3 1 / 5 / 4
Visible words 224
Images (missing alt) 9 (3)
Internal / external links 20 / 1
Forms 1
Structured data Organization, WebSite
Canonical https://northwind-outdoors.example/
robots.txt / sitemap yes / yes
Language en
Analysis model webvitalist-sample-fixture

Your turn

Get this report for your own site.

The Deep Audit crawls up to 15 pages, runs every check you just read on each of them and lands in your inbox in about 6 min. No account required.