Inside a Shopify Theme Audit: 15 Things We Check Before Taking On a Dev Retainer — Jhango Blog
Optimization

Inside a Shopify Theme Audit: 15 Things We Check Before Taking On a Dev Retainer

Before we take on any Shopify development retainer at Jhango, we run a full theme audit. Not a cursory glance at PageSpeed Insights — a genuine, line-by-line investigation of the codebase, UX, and technical health of the store. This audit tells us what we're inheriting, what needs fixing immediately, and what kind of development velocity we can expect once we start working.

Over 800+ audits, we've refined this process down to 15 specific checks. These checks surface 95% of the issues we'll encounter during a retainer. They're ordered from most critical (things that actively hurt revenue) to important (things that create development friction over time).

Whether you're evaluating your own store or vetting a potential dev partner, here's exactly what we look at — and what constitutes a pass or fail.

Performance & Speed (Checks 1-4)

1
Core Web Vitals Scores
Critical

What we measure: LCP (Largest Contentful Paint), FID/INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift) on both mobile and desktop using Chrome UX Report (CrUX) data — real user data, not lab tests.

Pass: LCP under 2.5s, INP under 200ms, CLS under 0.1 on mobile. All three metrics in "Good" range in CrUX.

Fail: Any metric in "Poor" range. LCP over 4s is an immediate red flag — the store is losing significant mobile traffic.

  • We check both field data (CrUX) and lab data (Lighthouse) because they tell different stories
  • Lab data tells you about potential; field data tells you about reality
  • A store can score 90+ in Lighthouse but still have poor CrUX scores due to third-party script interference
2
Third-Party Script Impact
Critical

What we measure: Total number of third-party scripts, their combined size, and main-thread blocking time. We use Chrome DevTools Performance panel with CPU throttling to simulate real-world mobile conditions.

Pass: Under 10 third-party scripts, less than 500ms total blocking time, no individual script blocking for more than 150ms.

Fail: Over 20 scripts, more than 1s blocking time. We frequently see stores with 30-40 third-party scripts from apps they installed two years ago and never removed.

  • We catalog every script, trace it to the app or integration that injected it, and flag which are essential vs. removable
  • Common offenders: chat widgets loading on every page, review widgets loading their full SDK on pages without reviews, analytics scripts running synchronously
3
Image Optimization
High

What we measure: Image formats being served (WebP vs JPEG/PNG), lazy loading implementation, responsive image usage (srcset and sizes attributes), and total image payload on key pages.

Pass: WebP serving enabled, proper lazy loading on below-fold images, responsive sizes implemented, hero images under 200KB.

Fail: Serving original PNGs at 2MB+, no lazy loading, all images served at desktop resolution to mobile devices. This is the single easiest performance win on most stores.

4
CSS and JavaScript Bundle Size
High

What we measure: Total CSS and JS payload, unused CSS percentage (using Chrome Coverage tool), render-blocking resources, and whether critical CSS is inlined.

Pass: Total CSS under 100KB (minified), JS under 200KB (excluding Shopify's own scripts), critical CSS inlined, no render-blocking resources beyond the minimum.

Fail: CSS over 300KB with 60%+ unused rules. This usually indicates a theme that's been heavily customized by multiple developers without cleanup, or a theme that uses a CSS framework like Bootstrap that loads far more styles than needed.

Code Quality & Architecture (Checks 5-8)

5
Theme Architecture & Online Store 2.0 Compliance
High

What we check: Is this an Online Store 2.0 theme? Does it use sections everywhere, JSON templates, app blocks, and proper schema definitions? Or is it a legacy theme with hardcoded templates?

Pass: Full OS 2.0 architecture with JSON templates for all page types, sections with well-defined schemas, and app block support.

Fail: Legacy .liquid templates (not JSON), hardcoded content that should be section settings, lack of app block support. This means every content change requires developer intervention, and the theme can't take advantage of Shopify's latest features.

6
Schema Definition Quality
Medium

What we check: Are section schemas well-organized with proper input types, reasonable limits, and clear labels? Or are they bloated with dozens of unused settings?

Pass: Clean schemas with logical grouping, appropriate input types (not everything as a textarea), reasonable block limits, and helpful info annotations for merchants.

Fail: Schemas with 50+ settings per section, no logical grouping, generic setting names like "text_1" and "text_2", or missing settings that force merchants to edit code for basic changes. Schema bloat is a sign of poor development practices.

7
Liquid Code Quality
Medium

What we check: Liquid rendering efficiency, proper use of snippets vs. sections, N+1 query patterns, hardcoded content, and code organization.

Pass: DRY code with reusable snippets, efficient Liquid loops (not iterating over all_products), proper use of render over deprecated include, no inline styles generated by Liquid that should be CSS.

Fail: Duplicated code across templates, Liquid logic that makes excessive API calls (e.g., fetching product data inside nested loops), hardcoded collection handles or product IDs scattered throughout templates. This makes the store brittle and expensive to maintain.

  • We specifically look for the all_products global object being used in loops — this is a common performance anti-pattern
  • We check for deprecated Liquid tags and filters that will eventually break
8
App Conflicts & Residual Code
Critical

What we check: Code left behind by uninstalled apps, conflicting app scripts, apps modifying the same DOM elements, and apps that inject CSS that overrides theme styles.

Pass: Clean theme files with no orphaned app code, no conflicting scripts, app blocks properly scoped.

Fail: Theme files littered with <!-- BEGIN app_name --> comments from apps that were uninstalled months ago but left their code behind. JavaScript errors in the console from removed apps trying to initialize on missing DOM elements. We've seen stores with 15+ orphaned app scripts still loading on every page.

UX, Mobile & Accessibility (Checks 9-12)

9
Mobile UX Audit
Critical

What we check: Full user journey on mobile (iPhone SE size, not just iPhone 14 Pro Max). We look at tap target sizes, text readability, form usability, scroll behavior, sticky elements taking up too much space, and overall conversion flow friction.

Pass: All tap targets 44x44px minimum, text readable without zooming, forms work smoothly with mobile keyboards, no horizontal scroll, sticky elements (nav, add-to-cart) use less than 20% of viewport height.

Fail: Tiny buttons, text that requires pinch-zoom, forms with desktop-only date pickers, menus that don't work properly on touch, sticky elements stacking and eating half the screen. Mobile typically accounts for 65-75% of traffic — if mobile UX is broken, the store is hemorrhaging revenue.

10
Accessibility (WCAG 2.1 AA)
High

What we check: Color contrast ratios, keyboard navigation, screen reader compatibility, alt text coverage, focus indicators, ARIA labels on interactive elements, and form error handling.

Pass: All text meets 4.5:1 contrast ratio, full keyboard navigation works, images have descriptive alt text, forms announce errors to screen readers, focus is visible on all interactive elements.

Fail: Light gray text on white backgrounds (below 3:1 contrast), no focus styles (or worse, outline: none with no replacement), images with empty or missing alt text, forms that only use color to indicate errors. Beyond being the right thing to do, accessibility failures create legal liability — ADA lawsuits against e-commerce stores increased 300% from 2020 to 2025.

11
Navigation & Information Architecture
High

What we check: Menu depth and clarity, search functionality, collection filtering, breadcrumbs, and how easily a new visitor can find what they're looking for.

Pass: Clear mega menu with logical categories, functional search with predictive results, collection filters that work correctly and don't require page reload, breadcrumbs on all product and collection pages.

Fail: Navigation with 7+ top-level items and 3+ levels of dropdowns, broken search that returns irrelevant results, filters that reset when applied, dead-end pages with no navigation path back. If users can't find products, they can't buy them.

12
Cross-Browser Compatibility
Medium

What we check: Rendering on Chrome, Safari, Firefox, and Edge. We pay special attention to Safari on iOS (which uses WebKit, not Chromium) and any CSS features that need vendor prefixes.

Pass: Consistent rendering across all major browsers, no layout breaks, animations work smoothly, no browser-specific JavaScript errors.

Fail: Layout breaks on Safari (very common with CSS Grid edge cases and -webkit- prefix requirements), form styling inconsistencies on Firefox, backdrop-filter not working without the -webkit- prefix. Safari issues are the most common because developers typically build in Chrome.

Conversion & Revenue (Checks 13-15)

13
Product Page Conversion Elements
Critical

What we check: Above-the-fold content on product pages, add-to-cart button visibility, trust signals (reviews, badges, guarantees), variant selector UX, and cross-sell/upsell placement.

Pass: Add-to-cart visible without scrolling on mobile, price clearly displayed, product images high-quality and zoomable, reviews visible, variant selectors intuitive (not just dropdowns for color), shipping/return info accessible.

Fail: Add-to-cart button below the fold on mobile, no trust signals, confusing variant selectors (especially for products with multiple option types), no social proof, missing or hidden shipping information. These are the highest-leverage fixes in any audit.

14
Cart & Checkout Funnel Leaks
Critical

What we check: Cart page/drawer functionality, upsell implementation, discount code UX, shipping cost transparency, checkout abandonment points (using analytics data if available).

Pass: Cart works reliably (add, remove, quantity change all instant), shipping estimate visible before checkout, clear path from cart to checkout, no surprise costs, functional upsells that don't feel aggressive.

Fail: Cart that requires page reload to update quantities, discount code field that dominates the cart and encourages users to leave the site to find a code, shipping costs hidden until the last checkout step, checkout errors that don't explain what went wrong. Every friction point in the cart-to-checkout flow costs real money.

15
SEO Technical Health
High

What we check: Title tags and meta descriptions (unique per page), heading hierarchy (proper H1-H6 usage), structured data (Product, BreadcrumbList, Organization schemas), canonical URLs, sitemap accuracy, 404 handling, and redirect chains.

Pass: Unique title/meta per page, single H1 per page, valid structured data on product pages (verified in Google's Rich Results Test), clean canonical URLs, no redirect chains longer than 2 hops.

Fail: Duplicate titles across product pages, multiple H1 tags, missing or invalid structured data, broken canonical tags pointing to wrong URLs, sitemap including noindex pages, redirect chains from multiple migrations. SEO issues compound over time — a store losing 10% of organic traffic to technical issues is leaving serious revenue on the table.

What We Do With the Audit Results

After running all 15 checks, we compile the results into a prioritized action plan with three tiers:

Priority Description Typical Timeline
Immediate (Week 1-2) Critical issues actively losing revenue: mobile UX breaks, checkout funnel leaks, performance blockers, app conflicts causing errors First sprint
Short-Term (Weeks 3-6) High-impact improvements: image optimization, CSS/JS cleanup, product page conversion elements, accessibility fixes Next 2-3 sprints
Ongoing Architecture improvements: OS 2.0 migration, schema cleanup, code quality improvements, SEO enhancements Continuous during retainer

"Every store we audit has at least 3-4 critical issues that are actively costing revenue. The audit pays for itself within the first month of fixes through measurable conversion rate improvements."

Want us to audit your Shopify store? Learn about our Shopify audit service or request a free preliminary assessment. We'll give you a high-level overview of your store's health before you commit to a full audit.

J
Jhango Team
Shopify Development Experts

Jhango is India's leading Shopify development agency. Our team of 50+ experts has built, migrated, and scaled over 600 Shopify stores across industries. We specialize in custom theme development, performance optimization, B2B solutions, and conversion rate optimization.

Get Your Free Shopify Store Audit

Discover what's holding your store back. Our team will identify the critical fixes that will have the biggest impact on your revenue.

Request Free Audit