Off-Record has a genuinely interesting brand position — DJ culture meets contemporary streetwear — but the store isn't doing the work to communicate that. There's no About page, no blog, no content. The product descriptions are well-written but they're in ALL CAPS, which makes them hard to read and signals a rushed setup. Before putting money into TikTok ads, spending a day fixing the cart funnel (upsells, free shipping bar, scarcity signals) could meaningfully lift the revenue per visitor you're already getting from organic and content traffic.
Captured during a live browser session across desktop and mobile viewports.
Homepage
Collection page (All)
Product page — Stamp Logo Zip Hoodie
Product page — Stamp Logo Fleece Shorts
Cart page
Checkout — information step
Search — query: "jacket"
Homepage — mobile
Product page — mobile
Cart — mobile
| Page | Issue | Category | Severity | Recommendation |
|---|---|---|---|---|
| All pages | 60 JavaScript console errors, mainly [shopify-account] <shopify-store> custom element is not registered |
Technical | 🔴 Critical | The Shopify storefront-components bundle is not loading. Check that no script is blocking the Shopify Accounts component. This can silently break account features and creates noise that hides real errors. |
About page/pages/about |
Page returns 404 — no brand story exists | CRO GEO | 🔴 Critical | Create an About page with the Off-Record origin story, the DJ culture angle, the founder's perspective. Customers buying a £125 hoodie from a brand they've never heard of need a reason to trust you. AI search tools also need this content to describe who you are. |
Blog/blogs |
Blog URL returns 404 — no editorial content exists | SEO GEO | 🔴 Critical | Even 4–6 articles about DJ culture, gear, style or the brand's influences would create content that ranks organically and gives AI tools something to cite. TikTok traffic that lands on an empty store with no context converts poorly. |
| All product pages | Brand name in JSON-LD shows "ODMPOD" (Printful's internal supplier name) instead of "Off-Record" | SEO GEO | 🔴 Critical | In your Printful product settings, set the brand field to "Off-Record". Or override the JSON-LD brand value in your Shopify theme's product template. Google and AI tools currently think the manufacturer is "ODMPOD". |
| Cart | No upsell or cross-sell offers present in the cart | CRO | 🔴 Critical | Add a cart upsell widget. Suggesting complementary products (e.g. shorts when a hoodie is in cart) can increase AOV by 10–20%. Free apps like Upsell & Cross Sell by Selleasy handle this well. |
| Cart | No free shipping progress bar | CRO | 🔴 Critical | A "£X away from free shipping" bar is one of the highest-ROI cart elements available. It encourages customers to add more to cart before checking out. If you don't offer free shipping at a threshold, consider it — or set a reasonable one and promote it. |
| All product pages | Product descriptions are written entirely in ALL CAPS | UX CRO | 🟡 Warning | ALL CAPS text is significantly harder to read than mixed case, particularly for longer blocks of copy. The content itself is good — convert it to sentence case or title case so it's actually readable. This is a quick fix in Printful's product description editor. |
| Homepage | OG image URL uses HTTP instead of HTTPS (http://off---record.com/cdn/...) |
Technical | 🟡 Warning | Update the og:image meta tag value to use HTTPS. Some social platforms and crawlers may refuse to load the preview image over HTTP, breaking link previews on Facebook, Twitter/X, and WhatsApp. |
| All product pages | No urgency or scarcity signals — no low-stock indicators, no countdown timers | CRO | 🟡 Warning | For POD products, stock scarcity isn't real, but time-based urgency can work: "New drop — limited colours" or a countdown for a launch window. Even a simple "X people viewing this" signal lifts add-to-cart rates on new stores. |
| All product pages | No Review schema in structured data despite Judge.me being installed | SEO GEO | 🟡 Warning | Judge.me can output AggregateRating schema. Check that the Judge.me rich snippets setting is enabled in the app settings. With reviews enabled, product listings can show star ratings in Google search results. |
| Homepage | Only Organization schema present — no WebSite schema with SearchAction, no BreadcrumbList | SEO GEO | 🟡 Warning | Add a WebSite schema with a SearchAction pointing to your search endpoint. This enables Google's sitelinks search box and helps AI tools understand your site structure. |
| All pages | No hreflang tags despite being a GBP store potentially serving UK and international customers | Technical SEO | 🟡 Warning | If you're targeting UK customers specifically, add hreflang="en-GB". If also targeting US, add a US variant. This tells Google which version to serve to which audience. |
| Homepage / Klaviyo | Klaviyo loads 15+ separate script files totalling hundreds of requests | Technical | 🟡 Warning | Klaviyo's script bundle is loading 326 requests across the session. This is partly Klaviyo's architecture, but ensure you're only loading the features you actually use. Disable any Klaviyo Customer Hub or Reviews features if you're not using them — each one loads additional JS bundles. |
| Collection pages | No breadcrumb navigation | UX SEO | 🟢 Info | Add breadcrumbs (Home > Hoodies > Stamp Logo Zip Hoodie) on collection and product pages. It helps with navigation and adds BreadcrumbList structured data opportunities. |
| Homepage title tag | Title is "Luxury DJ Brand - OFF-RECORD – Off-Record" — brand name is repeated twice | SEO | 🟢 Info | Tidy the title to "Luxury DJ Brand — Off-Record" or "Off-Record | Luxury Streetwear for DJ Culture". The duplicate "Off-Record" at the end is Shopify's default suffix and can be removed in theme settings. |
| Search | /search is disallowed in robots.txt |
Technical GEO | 🟢 Info | This is a Shopify default. Search results pages generally shouldn't be indexed (they're dynamic), but the disallow rule also prevents AI crawlers from discovering your search capability. For AI agents this is fine — search is listed in llms.txt anyway. |
| Checkout | 19 form fields detected on the information step | CRO | 🟢 Info | Shopify's checkout is mostly optimised. With Shop Pay enabled, returning users skip most of this. Worth checking if any custom fields have been added — every extra required field reduces checkout completion rate. |
Off-Record has done some of the AI-readiness groundwork — llms.txt is live, basic structured data is present, and there are no AI crawler blocks. But without an About page, blog content, or corrected brand metadata, AI tools don't have enough to confidently describe or recommend the brand.
/llms.txt with a brand description, contact info, and UCP agent endpoint. Missing: a product catalogue summary, key product categories, FAQ hints, and brand story context.off---record.com (triple dash) is unusual and could create entity disambiguation issues. A Wikipedia-style About page with clear facts would help.| Action | Difficulty | Impact |
|---|---|---|
| Fix brand name in product JSON-LD from "ODMPOD" to "Off-Record" (Printful brand field or theme override) | Easy | High |
| Create an About page with brand origin, founder story, and the DJ culture connection. Keep it factual and specific — not marketing copy. | Easy | High |
| Write 4–6 blog articles aligned with natural-language queries: "best streetwear for DJs", "what to wear to a club night", "DJ culture fashion brands UK" | Medium | High |
| Enable Judge.me rich snippets to add AggregateRating schema to product pages | Easy | Medium |
| Expand llms.txt to include top product categories, price range, target audience, and 2–3 key differentiators | Easy | Medium |
| Add WebSite schema with SearchAction to the homepage theme template | Medium | Medium |
| Convert product descriptions from ALL CAPS to sentence case so AI parsers read them correctly | Easy | Medium |
| Fix og:image to use HTTPS | Easy | Low |
Findings are based on the live session — actual cart state, checkout flow, and product page interactions observed during the audit.
Detected from network requests, page source scripts, and meta tags during the live session.
| App / Service | Purpose | Perf. Impact | Est. Monthly Cost | Verdict | Notes |
|---|---|---|---|---|---|
| Klaviyo | Email marketing, flows, pop-ups | Medium-High | $20–$45 / month | Keep | Essential for email capture and abandoned cart flows. 326 requests is high — disable any unused Klaviyo features (Customer Hub, Reviews, FAQ) to reduce script weight. |
| Judge.me | Product reviews | Low | Free – $15 / month | Keep | Good choice. Enable rich snippet output so reviews appear in Google search results. Verify the free plan covers what you need — the Awesome plan ($15/mo) adds Q&A and upsells from reviews. |
| Printful | Print-on-demand fulfilment | Low | Free (per-order) | Keep | Core to the business. Only 2 requests detected — lightweight integration. Fix the brand name issue in Printful product settings. |
| Google Tag Manager | Tag container | Low | Free | Keep | Two GTM container IDs detected (GT-MK92TJ2R and G-NGDFF5ZDH9). Verify both are intentional and needed — redundant containers can cause double-tracking. |
| Google Analytics 4 | Analytics | Low | Free | Keep | Active. Make sure ecommerce tracking is enabled in GA4 so you can see revenue, conversion rate, and funnel drop-off data. |
| Facebook Pixel | Ad tracking & retargeting | Low | Free | Keep | In place for when you run Meta ads. No cost, minor script load. |
| TikTok Pixel | Ad tracking & retargeting | Low | Free | Keep | Good — already set up ahead of your TikTok content push. Will capture organic TikTok traffic data now, ready for paid when you need it. |
| Pinterest Tag | Ad tracking | Low | Free | Keep | Low overhead. Worth keeping for fashion/lifestyle categories where Pinterest drives organic discovery. |
| Google Merchant Center | Shopping feed / Performance Max | Low | Free (ad spend separate) | Keep | Connected to Google Shopping. Good to have active. Fix the ODMPOD brand name issue — it will affect your Shopping feed listing quality. |
| Cart upsell app | In-cart cross-sell / upsell | Low | $0–$15 / month | Missing | No upsell app detected. This is likely the biggest revenue gap right now. Selleasy (free tier available) or Candy Rack ($19.99/mo) are good options. Cart upsells typically add 10–20% to AOV. |
| Free shipping bar | Cart threshold motivator | Low | $0–$10 / month | Missing | No shipping progress bar found in cart. Many themes (including Fabric) have this built in — check theme settings first before installing an app. If not available natively, Hextom Free Shipping Bar is free. |
No app removal is recommended at this stage — the installed stack is lean and appropriate for a new store. The two "Missing" items above represent revenue opportunity rather than cost savings. Adding a cart upsell app at £0–£15/month that lifts AOV by 10–15% on an average order of £125 pays for itself within the first few orders.
style="" attributes inline in HTML. Some of this is from Shopify Liquid section settings (normal), but a high count suggests customisations that bypass the stylesheet. This increases HTML payload and can make design inconsistencies harder to trace.
<shopify-store> custom element is failing to register. This generates 50+ console errors per page load. Check that no Content Security Policy or script-blocking rule is preventing the Shopify Accounts component from loading.
Logo is clean and works well on dark backgrounds. The wordmark is consistent across the site.
Barlow is a clean, utilitarian sans-serif that fits the streetwear/functional aesthetic well. Consistent across all pages visited.
The visual language is cohesive — black, white, and red with Barlow throughout. The main issue isn't the visual identity but the lack of content pages (About, Blog) that reinforce the brand story. The ALL CAPS product descriptions also clash with what could otherwise be clean, premium-feeling copy.
Organised by effort level. Given your focus on CRO before ads, start at the top.
Try Selleasy (free plan available) or Candy Rack. Set up a cross-sell rule: when hoodie is in cart, suggest shorts. When shorts are in cart, suggest hoodie. This is the fastest revenue lever available without spending on ads.
Check Fabric's built-in cart settings first — some versions include this natively. If not, Hextom Free Shipping Bar is free and takes 20 minutes to set up. Set your free shipping threshold at a point that encourages a second item (e.g. £150 if your average order is £125).
Go to Printful > Products > Edit product > Brand field. Change from "ODMPOD" to "Off-Record" on every product. This fixes your Google Shopping listings, your structured data, and your AI search entity simultaneously.
The copy itself is good. ALL CAPS creates reading friction and doesn't feel premium. Update in Printful's product description editor. Takes about 10 minutes per product.
In Shopify Admin > Online Store > Preferences, update the social sharing image. Or check your theme's meta tag template for the og:image URL and ensure it outputs https://.
Write 400–600 words about Off-Record: who started it, why, the DJ culture connection, what the brand stands for. Include a founder photo if possible. This is the most impactful single page you can add — it converts sceptical first-time visitors AND gives AI search tools the brand context they need to recommend you.
For POD products, real stock scarcity doesn't apply. Use time-based or social proof urgency instead: "New drop — limited colourways", "X people viewing this". Even simple copy like "Selling fast this season" adds purchase motivation without being misleading.
Investigate why the Shopify storefront-components bundle is failing. Check your theme's layout/theme.liquid for any script loading order issues or Content Security Policy headers that might be blocking the bundle.
Go to Judge.me app settings > Rich Snippets > enable. This adds AggregateRating schema to your product pages, which can trigger star ratings in Google search results and product listings. Meaningful for organic click-through rates.
Change "Luxury DJ Brand - OFF-RECORD – Off-Record" to simply "Off-Record | Luxury Streetwear for DJ Culture" in Online Store > Preferences. The repeated brand name reads as sloppy and wastes character space.
You said you're starting TikTok content — write the blog versions of that content. "What DJs actually wear on stage", "How to style oversized hoodies for festival season", "Underground club culture and why what you wear matters". This is what gets you discovered by AI search tools and ranks organically for long-tail queries. TikTok drives awareness; blog content drives intent-based traffic.
The current collection is small, but as you expand, pairing products (hoodie + shorts, cap + tee) on the product page is a reliable way to lift both AOV and session depth. Most upsell apps handle this, or Fabric has a "related products" section you can customise.
A post-purchase offer on the Shopify order confirmation page (not the thank-you email, the actual checkout confirmation page) converts well because trust is already established. ReConvert is the standard app for this — worth setting up once your product range expands.
Update llms.txt to include product categories, price range, target audience, and 2–3 differentiators ("heavyweight fabrics", "unisex sizing", "DJ culture aesthetic"). Add WebSite schema with a SearchAction to the homepage. These are low-effort improvements that compound over time as AI search adoption grows.