DEV · branch dev · commit 5cd8e9b

Shell status

Every route on the new cones.com, and honestly what state it is in. This page exists so a walkthrough does not have to guess which pages are real.

25routes
20built
5scaffold
6need design
RouteDesignBuildWiredClicks/mo
/Homedesignedbuiltn/a38
/service/Service

HIGHEST VALUE UNDESIGNED PAGE. Unserved non-brand queries already return clicks with no page: 'commercial dishwasher repair', 'commercial oven repair near me', 'commercial walk in cooler installation'. Needs: service categories, what is covered, emergency vs scheduled, CFESA credential, link to request.

designedbuiltn/a
/service-request/Request service

Form posts to /api/service-request which returns 501. Three decisions block it: destination, TCPA consent record, spam handling.

designedbuiltstub1
/service-map/Service area

Linked from live nav AND footer, so it has real internal link equity. Answers "do you come to me". Needs the actual coverage area, which nobody has written down.

designedbuiltn/a
/maintenance/Maintenance

Planned maintenance / service agreements. Commercially the highest-margin page on the site: recurring revenue rather than break-fix. Needs: what a PM plan covers, cadence, why it beats break-fix, how to start one.

designedbuiltn/a
/equipment/Equipmentdesignedbuiltn/a
/equipment/quote/Request a quote

Equipment is scoped to QUOTE REQUEST, not a cart (Jason, 2026-08-19). Confirmed by the data: on-hand equipment inventory is 2 SKUs worth $1,497, so this is a sell-to-order business. Form mirrors /service-request/. No SMS consent field: a quote is not a dispatch.

Posts to /api/quote-request which returns 501. DESTINATION IS DECIDED: [email protected]. Still open: whether it also lands somewhere durable, spam handling, and branch routing.

neededbuiltstub
/equipment/brands/Line card

NOW REAL. Renders all 26 manufacturers from src/data/brands.json, mirroring the live line card. TWO OPEN ITEMS: logo assets are hotlinked to the cones.com uploads folder and must be copied into /public/brands/ before cutover; and Winholt Equipment has no URL because the LIVE page links its logo to multiteriausa.com, a different manufacturer.

built-from-databuiltn/a
/parts/Parts

The Equipment design covers equipment AND parts on one page. DECISION: one combined page, or split? Splitting needs a parts design.

designedbuiltn/a
/locations/Locationsdesignedbuiltn/a
/locations/moline/Moline, ILdesignedbuiltn/a78
/locations/cedar-rapids/Cedar Rapids, IAdesignedbuiltn/a16
/locations/bloomington/Bloomington, ILdesignedbuiltn/a18
/about/About

Carries 4 organic clicks today, more than /careers. Needs: history, CFESA certification, technician bench, the three branches, why a customer should trust CONES.

neededscaffoldn/a4
/careers/Careersdesignedbuiltn/a2
/pay/Pay an invoice

IN SCOPE FOR INITIAL ROLLOUT (Jason, 2026-08-19). Fortis is already production-live: deposits are flowing and get_fortis_summary returned data as of 2026-08-19. So this is not a build, it is a front door. CARD DATA MUST NEVER TOUCH THIS SITE. The pattern is a hosted Fortis payment page that we link or redirect to, which keeps PCI scope at SAQ-A. BLOCKER: confirm the hosted invoice-payment URL Fortis provides, and whether it accepts an invoice number as a parameter.

designedbuiltstub
/privacy/Privacy Policydesignedbuiltn/a
/terms/Terms of Usedesignedbuiltn/a
/service/[slug]/ (8 routes)Service by equipment class

EIGHT routes from src/data/service-classes.json. Class CODES (C2, C4, FR2, FR4, I2-4) live in the data and never render; slugs are written for the query. Five classes have a PM checklist behind them; three are search-led groupings with pm_ref null, which hides the maintenance cross-link and omits the technician-check list rather than inventing one. SYMPTOM WORDING IS UNREVIEWED by a service coordinator.

designedbuiltn/a
/equipment/[category]/ (6 routes)Equipment by category

SIX routes. Category photography is the real asset gap, not copy. refurbished is NOT the same offer as used.

neededscaffoldn/a
/equipment/brands/[slug]/ (26 routes)Per-brand page

26 routes from brands.json. Must answer sell / service / stock-parts separately; the line card only answers the first. Never wire we_stock_it to "In stock".

neededscaffoldn/a
/parts/quote/Parts quote request

ASSUMED, not confirmed. /parts/ routes here because a form is routed and counted. If parts enquiries really go to a branch phone or PartsTown, this should not exist.

neededscaffoldn/a
/pay/reset/Password reset

Linked from /pay/. The portal app may own this path, in which case cones-web should redirect rather than render.

neededscaffoldn/a
/leasing/Equipment leasing

NO FIGURES anywhere: active agreements in GE vary by an order of magnitude. Rental is answered as a flat NO in the only place the word appears, because two live queries look for it and silence would become an overclaim.

designedbuiltn/a
/used-equipment/Used equipment

Lead form is primary in BOTH states and does not move when stock appears. The EMPTY state is the normal state. Listing cards carry exactly four fields: item, description, availability, list price. The two sample units in the design are deliberately NOT rendered: publishing them would be a fabricated availability claim.

designedbuiltn/a

Still undecided

Per-city pages

Agreed: only where genuinely differentiated content exists. ~475 thin city pages would be doorway content.

Line card: sales list or capability list?

The live line card is a SALES list. It does not say which brands we service or stock parts for, which is what "hoshizaki dealer near me" asks. Global Edge knows; the page does not.

Brand logo assets

26 logos are hotlinked to the cones.com uploads folder. They must be copied into /public/brands/ before cutover or all 26 break when DNS moves.

Rows marked with a red edge carry 96.8% of current organic traffic between them. Those URLs are frozen, trailing slash included.