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.
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.
Template
HTML
Requests
Transferred
JavaScript
CSS requests
Script tags
DOM nodes
Homepage
455 KB
244
1.74 MB
1.14 MB
132
50
2,657
Collection (/collections/all)
574 KB
246
1.65 MB
1.14 MB
136
52
3,484
Product page
448 KB
295
1.93 MB
1.32 MB
138
54
2,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.
Defect
Products
Share
What it costs
No set or release-date field
1,510
83%
Cannot filter, sort or group by set — the single most common way a player shops.
No SKU / barcode
828
45%
No scanning, no reliable stock take, no supplier matching, no POS tie-in.
Tagged 'noPrice'
404
22%
A fifth of the catalogue is published but not properly priced. Dead weight in every listing page.
Description under 120 characters
573
31%
Thin content. These pages have almost no chance of ranking for long-tail product searches.
Description duplicated word-for-word from another listing
310
17%
One binder blurb is reused across 11 separate products. Google de-duplicates these, so 17% of the catalogue competes with itself.
No tags at all
343
19%
Invisible to Shopify's tag-driven filters and to every automated collection rule.
ALL-CAPS product titles
342
19%
'BASE: ZANDRI DUST (12ML)' reads as shouting, breaks title-tag presentation in search results and hurts click-through.
No product image
41
2%
Live, buyable listings with nothing to look at. Effectively unsellable.
Duplicate product titles
16 items / 8 pairs
—
The same product listed twice (e.g. 'Citadel: Medium Scenery Brush'), splitting stock, reviews and ranking signals.
Not touched since 2024 or earlier
839
46%
Nearly half the catalogue has had no price, stock or copy update in over eighteen months.
Compare-at (sale) price set
1
0.05%
There is effectively no working promotion or discount mechanism on the entire store.
Games Workshop miniatures filed under a card shop
917
50%
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.