MOUSA·BATARSEHIndependent SEO Review · Dunham's Sports

Sec. 02 — Findings

STORE PAGES

The pages that don't exist

A 275-store retailer's biggest local-SEO asset is a page per store. Today there is none — and the locator hides the data from crawlers entirely.

Locator

A dropdown, not links

/store-locator has no H1, no LocalBusiness markup; stores are a 274-option <select> of hashed IDs with zero crawlable links.

Evidence: /store-locator source
Data

JSON, not pages

/stores/ returns raw JSON — 275 stores, 268 active — with id/address/city/state/zip/phone but no hours or lat-lng. No store URLs in any sitemap; /stores/troy-mi → 404.

Evidence: /stores/ ; sitemap.xml
Signals

Fake freshness

39,819 product URLs all stamped lastmod 2026-08-27; robots.txt still carries Demandware rules from the pre-Shopware platform.

Evidence: sitemap_product.xml.gz ; robots.txt
CATEGORIES

Slug collisions

The migration left duplicate category URLs — both self-canonical, both in the sitemap, both indexed by Google — while the clean slug 404s. Ranking signals split across two URLs instead of consolidating on one.

Clean slugLive duplicatesGoogle indexesFix
/apparel/ 404/apparel-1/ · /apparel-2/ both 200both, different titles301 → /apparel/
/footwear/ 404/footwear-1/ · /footwear-2/ both 200yes301 → /footwear/
/accessories/ 404/accessories-1/ · /accessories-2/ both 200yes301 → /accessories/

Evidence: fetched each URL, Sep 19, 2026; sitemap_category.xml.gz (41 “-1” URLs); Google SERP shows both apparel URLs with different titles. Also: 13/20 sampled categories have empty meta descriptions; /under-armour/ua-men/shorts/ and /champion/men/shorts/ share the title “Shorts | Dunham's Sports”; no application/ld+json on any page.