MOUSA·BATARSEHIndependent Digital-Shelf Review · JB Tools

Sec. 02 — The defect census

FIVE CLASSES

What the catalog is telling Google

Five defect classes, each found in the live data, each a line item in the Database Manager job description. Counts are from a 799-product sample of the public Searchspring feed unless noted; percentages describe the sample, not the full 104,348-product catalog — the full run is deliverable #1.

Encoding

Mojibake in names

“Nano Flex Ratcheting Attachment Set 14–19mm (NORA150XL)” — a double-encoded en-dash, live in the H1 and the JSON-LD name. 8 of 799 sampled names carry artifacts (1/4\x94, Airlift\x99).

Evidence: /vim-tools-nano-flex-ratcheting-attachment-set-14-19mm-nora150xl/ ; Searchspring search.json
Schema

UPC shown, no gtin

The OTC 7378 page displays “UPC: 731413001376” but the Product JSON-LD has no gtin; its description is percent-encoded and priceValidUntil is hard-coded.

Evidence: /otc-7378-torque-wrench-50-250/ source
Consistency

Attribute casing

The custom availability attribute is cased three ways in the sample — “US” 247, “us” 103, blank 449 — so any rule that keys on it silently misses a third of rows.

Evidence: Searchspring sample of 799 items
Naming

Part-number convention

133 of 799 names omit the “(part #)” convention the rest of the catalog follows, which weakens exact-match search and Merchant Center matching.

Evidence: Searchspring sample
Taxonomy

Miscategorized items

A “Wiha 14-Piece SoftFinish Screwdriver Set” sits under Hand Tools › Wrenches › Torque Wrenches › Torque Wrench Accessories. Facets are only In Stock / Brand / Price — no drive size, torque range or type.

Evidence: /wiha-14-piece-softfinish-screwdriver-set-30284/ ; /torque-wrenches/ facets
Availability

Sold-out still ranking

Torque Wrenches: 358 items, 122 “Out of Stock” (34%). The sold-out OTC 7378 ranks #3 in native search for “torque wrench” — a dead end at the top of results.

Evidence: /torque-wrenches/ facet counts ; native search

The schema patch

One template change fixes every product that has this defect — and it's the change that decides whether 104k listings match cleanly in Google Merchant Center. Google requires gtin for products that have one; you already display the UPC.

Now — /otc-7378-torque-wrench-50-250/{
  "@type": "Product",
  "name": "OTC 7378 Torque Wrench 50-250",
  "description": "The%20OTC%20Accutorq…",
  "sku": "OTC7378",
  /* no gtin — UPC 731413001376 in page text only */
  "offers": {
    "priceValidUntil": "2027-09-19",
    "availability": "…OutOfStock"
  }
}
Patched template{
  "@type": "Product",
  "name": "OTC 7378 Torque Wrench 50-250",
  "description": "The OTC Accutorq…",
  "sku": "OTC7378",
  "gtin12": "731413001376",
  "mpn": "7378",
  "offers": {
    "priceValidUntil": "{{dynamic +1yr}}",
    "availability": "…OutOfStock"
  }
}

Evidence: OTC 7378 PDP source; Google Merchant Center product-data spec (gtin required where it exists).