Free shipping over $150 · Allocation drops every Thursday

Audit

Where the current store leaks — and what we'd build instead

A side-by-side review of lootcardshop.com against this working prototype. Every product and description stays; everything around them changes.

1,822

Products audited

10

Dead ends found

12

Catalogue defects

8

SEO defects

7

UX defects

7

Critical findings

Measured evidence

Taken directly from the live site's HTML and its full 1,822-product catalogue feed — not opinion, numbers.

Homepage HTML weight

466 KB

Before a single image loads. 50 script tags, 36 separate stylesheets (component-rating.css alone is requested five times, component-card.css three times) and 40 KB of inline JavaScript.

Collection page weight

588 KB

/collections/all ships 588 KB of HTML to show 30 of 1,822 products — 61 pages of pagination to see the rest.

Meta descriptions

0 found

Neither the homepage nor /collections/all has a meta description tag. Google is writing the snippet for every listing itself.

Homepage H1

None

The homepage has no H1 at all — it jumps straight to H2. Its title tag is 'Loot Card Shop – Loot Card Shop' and og:description is the literal string 'Loot Card Shop'.

Products with no set or release data

1,510 of 1,822

83% of the catalogue has no structured set or release-date field, so it can't be filtered, sorted or grouped by set.

Products with no SKU

828 of 1,822

45% carry no SKU — no barcode scanning, no reliable stock take, no supplier matching.

Tagged 'noPrice'

404 products

Over a fifth of the catalogue is published without a sellable price, and one product is listed at £0.00.

Duplicate descriptions

310 products

17% share their description word-for-word with another listing (one binder blurb is reused 11 times), and 395 products have fewer than 40 characters of copy.

Products with no image

41

Live, buyable listings with nothing to look at.

Discounting

1 product

Exactly one product in 1,822 has a compare-at price set — there is no working sale or promotion mechanism.

Singles are on another domain

lootcardshop.tcgplayerpro.com

Singles sit on a separate TCGplayer Pro subdomain: a second cart, a second checkout, none of that SEO equity flowing to the main domain, and no combined shipping.

Sitemap entries

6

The sitemap index exposes six child files and there is no hreflang or structured internal linking between related products.

Dead ends & broken journeys

Every one of these was requested directly against the live site. These are not stylistic notes — they are journeys a paying customer can start and cannot finish.

/collections/pokemon

404. The obvious, most-typed, most-linked URL for the store's biggest franchise does not exist — stock sits under /collections/pokemon-booster-boxes, /pokemon-tins, /pokemon-theme-decks and /pokemon-elite-trainer-boxes instead.

Every guessed URL, old backlink and 'pokemon' internal search dies on an error page. The franchise has no single landing page to rank, so it can never win the head term.

/collections/magic-the-gathering, /collections/one-piece, /collections/warhammer

Same pattern — no franchise-level collection exists for any game. Only narrow sub-collections.

No franchise hub means no place to send paid traffic, no place to build authority, and shoppers who want 'all Magic' have to know the exact sub-collection name.

/pages/contact

404. There is no contact page on the site.

No phone, no email, no address, no returns route for a shopper with a problem. Trust signals absent, and Google reads missing contact detail as weak E-E-A-T for a retailer.

lootcardshop.tcgplayerpro.com

The singles storefront returns a near-empty HTML shell — no title, no meta description, no canonical tag, and its /robots.txt serves the app's HTML page instead of a robots file.

The entire singles catalogue — the highest-frequency, highest-repeat-purchase part of a card shop — is invisible to search engines and passes zero authority to the main brand.

Two carts, two checkouts

Sealed product checks out on lootcardshop.com; singles check out on the TCGplayer Pro subdomain.

A customer buying a booster box and three singles pays two lots of postage and completes two checkouts. Most abandon the second one. Basket value is structurally capped.

Events calendar

The events schedule is an embedded Google Calendar iframe set to the America/Detroit timezone — on a UK store pricing in pounds.

Event times can display wrong to the local players they're for, the iframe is unreadable on mobile, and none of the event content is indexable or bookable on-site.

Loyalty programme

Loyalty links out to mee6.gg, a Discord bot dashboard, on a different domain.

The reward that is supposed to drive repeat purchase is not visible anywhere in the buying journey — not on product pages, not in the cart, not at checkout.

Search: 'charizard'

Two results returned across a 1,822-product catalogue. No suggestions, no typo tolerance, no scoping by game or set, no facets on the results page.

Search is the highest-intent action on any store. A near-empty result set on the most famous card in the hobby sends that traffic straight to a competitor.

Homepage navigation

131 internal links in the header/mega-menu, including a separate entry for nearly every individual Warhammer faction (Idoneth Deepkin, Ossiarch Bonereapers, Leagues of Votann, and so on).

Choice paralysis on desktop and an unusable accordion on mobile. It also dilutes internal link equity across 131 targets instead of concentrating it on the pages that sell.

Product pages

No reviews app is installed anywhere on the store (no Judge.me, Loox, Yotpo, Okendo or Stamped). No back-in-stock notification. No email capture.

Zero social proof on any listing, no way to recover an out-of-stock visit, and no owned marketing list being built from the traffic already arriving.

Performance, measured on a phone

Headless Chromium, 390×844 mobile viewport, measured at the load event with a six-second settle.

TemplateHTMLRequestsTransferredJavaScriptCSS requestsScript tagsDOM nodes
Homepage455 KB2441.74 MB1.14 MB132502,657
Collection (/collections/all)574 KB2461.65 MB1.14 MB136523,484
Product page448 KB2951.93 MB1.32 MB138542,562

A product page fires 295 network requests and downloads 1.32 MB of JavaScript to sell one booster box. Google's own guidance for a mobile product page is under 300 KB of script. This store ships more than four times that before a shopper has scrolled.

Catalogue defect ledger

Counted across all 1,822 live products in the store's own product feed.

DefectProductsShareWhat it costs
No set or release-date field1,51083%Cannot filter, sort or group by set — the single most common way a player shops.
No SKU / barcode82845%No scanning, no reliable stock take, no supplier matching, no POS tie-in.
Tagged 'noPrice'40422%A fifth of the catalogue is published but not properly priced. Dead weight in every listing page.
Description under 120 characters57331%Thin content. These pages have almost no chance of ranking for long-tail product searches.
Description duplicated word-for-word from another listing31017%One binder blurb is reused across 11 separate products. Google de-duplicates these, so 17% of the catalogue competes with itself.
No tags at all34319%Invisible to Shopify's tag-driven filters and to every automated collection rule.
ALL-CAPS product titles34219%'BASE: ZANDRI DUST (12ML)' reads as shouting, breaks title-tag presentation in search results and hurts click-through.
No product image412%Live, buyable listings with nothing to look at. Effectively unsellable.
Duplicate product titles16 items / 8 pairsThe same product listed twice (e.g. 'Citadel: Medium Scenery Brush'), splitting stock, reviews and ranking signals.
Not touched since 2024 or earlier83946%Nearly half the catalogue has had no price, stock or copy update in over eighteen months.
Compare-at (sale) price set10.05%There is effectively no working promotion or discount mechanism on the entire store.
Games Workshop miniatures filed under a card shop91750%Half the catalogue isn't cards. Positioning, navigation and paid targeting all fight each other because the store has never decided what it is.

38 product types, 6 of them containing a single product

A taxonomy that fragments this finely can't power navigation, and single-item categories are dead ends for shoppers and crawlers alike.

'Deck Boxes' (83 products) and 'Deck Box' (26 products) both exist

Two spellings of the same category split 109 products across two listings. Whichever one the shopper lands on, they see the wrong three-quarters of the range.

333 distinct tags, 113 of them used exactly once

One-use tags generate filter options that return a single product, and they generate crawlable URLs that add nothing but index bloat.

Wrong copy on live pre-orders

The 'Legends of the Force' booster pack page describes the game's 'Fifth set, Jump to Lightspeed' — a different set entirely. Copy has been pasted between listings without being read.

Technical SEO defects

Homepage H1

None. The document goes straight to H2 — eight of them.

No primary heading signal on the store's most authoritative page.

Meta description

Missing on the homepage, /collections/all, /search, /cart and /blogs/news.

Google writes its own snippet on every one, so the shop has no control over its click-through rate.

Title tag

'Loot Card Shop – Loot Card Shop' on the homepage; 'Products – Loot Card Shop' on the main catalogue.

Brand name duplicated, zero keywords, no differentiation between templates.

Image alt text

8 of 14 homepage images have empty or missing alt attributes.

Inaccessible to screen readers and invisible to image search, which is meaningful traffic in a visual hobby.

hreflang

0 tags, on a store serving both £ and $ shoppers.

No signal to search engines about which market each version of a page is for.

Resource hints

1 preload tag across 244 requests.

The browser discovers critical assets late, delaying first paint on mobile connections.

Duplicated stylesheets

component-rating.css requested 5 times and component-card.css 3 times in one page load.

Wasted round trips and render-blocking work caused by theme and app conflicts.

Above-the-fold images lazy-loaded

13 of 14 homepage images carry loading="lazy", including the hero.

The largest contentful element is deliberately deferred — a direct, self-inflicted LCP penalty.

UX & accessibility defects

Tap targets below 44px

31 on the homepage, 45 on the collection page, 35 on the product page (measured at 390px wide).

Below Apple's and Google's minimum touch size. Mis-taps on filter and quantity controls are a direct cause of mobile abandonment.

Pagination depth

1,822 products at 30 per page — 61 pages of pagination on /collections/all.

A shopper looking for a specific item has no realistic path to it. Crawlers give up long before page 61, so deep products are barely indexed.

Filtering

Shopify's tag-driven facets only, and 343 products carry no tags at all.

Filters silently hide a fifth of the catalogue, and there is no price, set, rarity or condition facet anywhere.

Pre-orders

Mixed into ordinary collections with the release date buried in the description body text.

The highest-margin, best-cash-flow line in card retail is effectively hidden from the people who want it most.

Stock urgency

No low-stock indicator, no allocation count, no 'notify me when back' capture.

No scarcity signal on limited sealed product, and every out-of-stock visit is a lost session with nothing captured.

Trust & reassurance

No reviews, no ratings, no delivery estimate on the product page, no contact page, no about page.

A first-time visitor has nothing to reassure them before entering card details on an unfamiliar shop.

Empty-link and unlabelled controls

An anchor with no text or aria-label present on every template audited.

Screen readers announce it as an unnamed link; it is also an accessibility-compliance exposure.

Where the upside sits

Each lever maps to a defect measured above. All of them are already built and working in this prototype.

One cart instead of two

Removing a second checkout for anyone buying sealed + singles together.

Recovers the entire cross-sell basket that is currently impossible to build.

Working faceted search

Search users convert at multiples of browse users; today search returns 2 results for 'charizard'.

The highest-intent traffic on the site stops leaving empty-handed.

Franchise landing pages

/collections/pokemon currently 404s; there is no page to rank for any head term.

Creates the organic entry points the store has never had, for its five biggest games.

Fixing 310 duplicate + 573 thin descriptions

48% of the catalogue currently cannot rank on its own content.

Unlocks long-tail organic on roughly half the product range.

1.3 MB of JS down to a code-split bundle

295 requests per product page today.

Faster mobile first paint, better Core Web Vitals, less bounce on the sessions that already arrive.

Reviews, stock urgency and back-in-stock capture

None of the three exist today.

Social proof at the decision point, plus a list built from traffic that currently leaves no trace.

On-site loyalty and store credit

Loyalty currently lives on a Discord bot dashboard.

Repeat purchase incentive visible in the cart, where it actually changes behaviour.

Pre-order board with allocations

Pre-orders are invisible today.

Pulls revenue forward and de-risks buying decisions on every new set release.

Findings

Catalogue discovery

Critical

Observed today

1,822 live products, 30 per page across 61 pages of /collections/all, each page 588 KB. Shopify's stock facets only appear where tags happen to exist — and 343 products carry no tags at all.

Commercial impact

Shoppers hunting a specific set or price point have to page through hundreds of tiles. This is the single biggest conversion leak on the store.

In this build

Faceted catalogue with franchise, product type, price range, stock and sort facets, URL-synced so any filtered view is shareable and indexable.

Split storefront

Critical

Observed today

Sealed product sells on lootcardshop.com while singles are pushed to a separate lootcardshop.tcgplayerpro.com subdomain with its own cart and checkout.

Commercial impact

Two carts means no combined basket, no combined shipping, no single loyalty balance, and the singles catalogue builds authority for TCGplayer's platform rather than the shop's own domain.

In this build

One catalogue, one cart, one checkout — sealed, singles, accessories and event entry in a single basket with one loyalty balance behind it.

Data quality

Critical

Observed today

83% of products have no set or release metadata, 45% have no SKU, 404 are tagged 'noPrice', 41 have no image and 310 share a description verbatim with another listing.

Commercial impact

Bad data is why filtering, stock control and search can't work — and duplicate copy actively suppresses organic rankings across a fifth of the catalogue.

In this build

Catalogue normalised on import: set, release date, franchise and product type derived for every SKU, with admin tooling to fill the gaps and flag incomplete listings.

Page weight & speed

High

Observed today

466 KB of homepage HTML, 50 script tags, 36 stylesheets with several requested three-to-five times over, and 40 KB of inline JavaScript — plus MEE6, Smile, TCGplayer Pro and Shopify app injections.

Commercial impact

Slow first paint on mobile connections, and Core Web Vitals drag on every ranking the store is trying to win.

In this build

One bundled, code-split app with route-level loading, so a page ships what it needs and nothing else.

Technical SEO

Critical

Observed today

No meta description on the homepage or collections, no H1 on the homepage, a duplicated title ('Loot Card Shop – Loot Card Shop'), og:description set to the brand name, and a 4200x4200px logo as the social share image.

Commercial impact

Google writes its own snippets, social shares look broken, and the store's most valuable pages are competing with a blank slate.

In this build

Per-route titles, descriptions, canonical URLs, OG and Twitter tags with a single H1 per page, plus an admin SEO editor and redirect manager.

Search

Critical

Observed today

Default Shopify search: no suggestions, no typo tolerance, results not scoped to game or set, no result count or refinement.

Commercial impact

Card names are long and easily mistyped; failed searches exit the site rather than browse.

In this build

Instant header search that hands off into the faceted catalogue with the query preserved and refinable, plus result counts on every view.

Pre-orders

Critical

Observed today

Pre-order items are mixed into normal collections with release dates buried in the description text. No release calendar, no allocation visibility.

Commercial impact

Pre-orders are the highest-margin, best cash-flow line in TCG retail and they are effectively invisible.

In this build

Dedicated pre-order board grouped by release month with allocation caps, deposit handling and an admin release calendar behind it.

Product pages

High

Observed today

Repetitive boilerplate copy reused across many SKUs, thin or missing set/rarity metadata, no stock urgency, no related or 'complete the set' merchandising.

Commercial impact

Low average order value and weak long-tail organic traffic because pages are near-duplicates.

In this build

Structured set/release metadata surfaced on every card, stock state badges, related-product rails and recently-viewed history — descriptions kept as supplied.

Loyalty

High

Observed today

Loyalty runs off-site through a third-party bot; customers cannot see a balance or tier while shopping.

Commercial impact

Points that are invisible at the point of purchase do not change behaviour.

In this build

On-site tiered loyalty (Adventurer / Hoardling / Hoardmaster) with visible progress, plus admin-side points rules and manual adjustments.

Events & tournaments

High

Observed today

Events sold as ordinary products with entry details in the description. No seat counts, no attendee list, no calendar view.

Commercial impact

Staff reconcile entries by hand and customers cannot tell whether an event is nearly full.

In this build

Event schedule with live seat capacity, registration, and an admin console showing the player registry per event.

Trade-in / buylist

High

Observed today

No way to sell cards to the shop online — trade-ins happen in person or over Discord.

Commercial impact

Loses the cheapest source of singles inventory and a strong reason to visit the site.

In this build

Public buylist submission form feeding a staff quoting console with cash or +20% store-credit payout.

Store credit & gift cards

Medium

Observed today

No gift card purchase or balance lookup on the storefront.

Commercial impact

Missed seasonal revenue and no credit rail to pay trade-ins into.

In this build

Gift card purchase, instant delivery and balance checker, with an admin ledger for credit issuance.

Content & SEO

High

Observed today

No blog or set guides, thin unique copy, generic page titles and descriptions, little internal linking between related products.

Commercial impact

Almost all traffic must be paid or social; organic long-tail is untapped.

In this build

CMS-driven pages and journal with per-route titles, descriptions, OG tags and canonical URLs, plus an admin SEO and redirect manager.

Mobile experience

High

Observed today

Dense desktop-first grids, small tap targets, filters and menus awkward on phones — where most TCG browsing happens.

Commercial impact

High mobile bounce on exactly the sessions that browse most.

In this build

Mobile-first grids, a full-height nav drawer, thumb-sized controls and sticky add-to-cart.

Back-office

Critical

Observed today

Standard Shopify admin only: no reorder points, purchase orders, supplier records, RMA workflow, POS tie-in or staff audit trail.

Commercial impact

Stock accuracy and margin tracking depend on spreadsheets and memory.

In this build

Full staff console — inventory & reorder points, purchasing, discounts, shipping & collection, returns, POS, support inbox, reviews, staff roles and an audit log.

Brand & design

Medium

Observed today

Lightly modified stock Shopify Dawn theme — visually interchangeable with other card shops.

Commercial impact

Nothing to remember or recommend; competes purely on price.

In this build

A distinct 'Guild Hall' identity: dark surfaces, foil and holo accents, display typography and motion tied to the product itself.

Development roadmap

Weeks 1–3

Phase 1 — Foundations

  • Design system, brand identity and component library
  • Catalogue import and normalisation (1,822 SKUs, descriptions preserved)
  • Faceted browse, search and product pages
  • Cart, checkout and order confirmation

Weeks 4–6

Phase 2 — Commerce depth

  • Pre-order board, release calendar and allocations
  • Events, seat capacity and registration
  • Loyalty tiers and account area
  • Gift cards, store credit and discounts engine

Weeks 7–9

Phase 3 — Operations

  • Inventory, reorder points and stock takes
  • Purchasing, suppliers and goods-in
  • Returns / RMA, shipping zones and click-and-collect slots
  • Buylist quoting and POS counter sales

Weeks 10–12

Phase 4 — Growth

  • CMS pages, journal and set guides
  • SEO controls, redirects and structured data
  • Marketing, abandoned-cart recovery and campaign reporting
  • Reviews, support inbox, staff roles and audit log

See it working, not described

Every fix listed above is live in this prototype, running on the real 1,822-product catalogue — including the full staff console.