Product images are present and properly referenced
Why it matters
Products without images convert at dramatically lower rates — multiple e-commerce studies place the drop at 30–60% versus imaged listings. Beyond conversion, storing images as local filesystem paths (e.g., /Users/dev/photos/) means images resolve on the developer's machine and return 404s in every other environment: staging, production, and CI. ISO 25010:2011 functional-correctness requires the system to behave correctly across environments, not just locally. A schema that only supports a single image string also locks out gallery experiences and prevents future migration to multi-image CDN storage without a schema change.
Severity rationale
High because products missing images or referencing local filesystem paths display broken UI in production, directly reducing catalog usability and purchase conversion.
Remediation
Store images as an array of full CDN or absolute URLs in prisma/schema.prisma, and validate at least one URL is present on product creation in src/app/api/products/route.ts.
model Product {
id String @id @default(cuid())
images String[]
}
if (!images || images.length === 0) {
return Response.json({ error: 'At least one product image is required' }, { status: 400 })
}
On ingest, reject any URL that matches a local path pattern (/Users/, /home/, C:\) — these will break in every deployed environment.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Catalog & Product Logic Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · functional-correctness — Functional Correctness (Functional Suitability)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ecommerce-catalog·automated