Superior Equipment — Strategic Growth Plan¶
Date: 2026-05-30 Author: WDM (acting as senior CRO + SEO + UX + brand team)
Benchmarks: watertrucks.com (UnitedBuilt, the regional Phoenix-based water-truck-and-tank specialist a few blocks down Buckeye Rd from SEI) and arrowtruck.com (Arrow Truck Sales — national used-commercial-truck dealer, in market since 1950, owns the "search by make/state/category" UX bar).
Sister-brand guardrail: Recommendations do not cannibalize Iron Mesa (ATG's rebuild arm). Anything SEI promotes around "rebuilt to spec" stays in the dealer/build-house lane, not the chassis-rebuild lane.
Table of contents¶
- Executive scorecard
- Phase 1 — Page-by-page competitive analysis
- Phase 2 — CRO audit
- Phase 3 — Technical SEO audit
- Phase 4 — Revenue optimization
- Phase 5 — Ideal truck inventory detail page
- Phase 6 — Homepage redesign
- Phase 7 — Mobile optimization
- Phase 8 — Action plan (1-week / 30-day / 90-day)
- Top 25 — Revenue opportunities
- Top 25 — Conversion improvements
- Top 25 — SEO improvements
- Implementation notes for the engineering team
- Final 10-item ship-this-month shortlist
Executive scorecard¶
| Dimension | SEI Score | watertrucks.com | arrowtruck.com | Why |
|---|---|---|---|---|
| CRO | 54 | 72 | 80 | We have a clean hero, inquiry form per truck, and a sticky mobile CTA — good bones. We're missing pre-qualification, payment estimator, save-to-favorites, and any urgency/scarcity signal. Arrow's "Get Pre-Qualified" lives in the hero. |
| UX | 60 | 70 | 78 | We ship filters (Make / Type / Sort) and a search box on /inventory — better than many small dealers — but no price/year/mileage/state filter, no compare, no save. Arrow's filter rail is the category benchmark. |
| SEO | 70 | 62 | 75 | Strong: LocalBusiness+AutoDealer JSON-LD, FAQPage schema, per-truck Vehicle schema with BreadcrumbList, geo meta, 7-state areaServed. Weak: SPA hash-routing collapses every section to "/" for crawlers, sitemap only lists 2 URLs, no per-truck server-rendered pages reachable from sitemap. The static truck-{stock}.html files exist on disk but aren't in the sitemap. |
| Trust | 48 | 70 | 82 | We say "20+ Years," "100+ Trucks Delivered," "DOT Compliant," "Financing Available" — four icon cards. Real and specific. But no testimonials (testimonials section was correctly stripped 2026-05-21 because the prior names were fabricated), no fleet logos, no BBB, no shop photos, no employee photos, no third-party reviews. Arrow has 75 years + multi-state hubs + a downloadable DOT inspection form. |
| Mobile | 72 | 65 | 70 | Hamburger drawer works, sticky bottom CTA bar exists (#mobile-cta), skeleton loaders prevent layout shift, skip-to-content link present. Above industry average for a single-yard dealer. |
| Brand | 65 | 60 | 70 | Navy + orange palette is sharp, SVG icon system consistent across pages, "Heavy Equipment Built to Perform, Priced to Sell" slogan in schema. No video, no shop tour, no founder photo, no "we built this" provenance copy. |
Composite (weighted CRO 30% / SEO 25% / Trust 20% / UX 15% / Mobile 5% / Brand 5%): SEI = 61 / 100.
That's upper mid-market — meaningfully ahead of where SWTP sits (50), behind the bigger dealers. Reachable target by end of Q3: 82/100 = clear category leader for water-truck-specific dealers in the Southwest.
Phase 1 — Page-by-page competitive analysis¶
Homepage¶
| watertrucks.com | arrowtruck.com | SEI (current) | |
|---|---|---|---|
| Hero headline | "Your Complete Water Truck & Parts Source" | "Search the Largest Selection of Used Trucks for Sale!" | "Water Trucks for Sale in Arizona" |
| Hero sub | "Built to last. Delivered for less." + Free Freight banner | "Custom financing packages" + "Fastest lead response time" | "Buy premium rebuilt water trucks and dump trucks from Phoenix, AZ. DOT compliant, sale-ready, with flexible financing and delivery across the Southwest." |
| Primary CTA | "Shop Trucks & Tanks" / "Shop Parts" | "Shop All Trucks" / "Get Pre Qualified" | "Browse Inventory" / "Call (602) 437-3980" |
| Pre-qualification | No (parts-leaning site) | Yes — hero-level CTA | None — biggest CRO gap vs Arrow |
| Featured inventory | Yes (with stock counts: "68 in stock," "151 in stock") | Yes (year/make/model + price + miles + location + stock #) | Yes (4 cards, skeleton loaders, dynamically loaded from Supabase) |
| Trust strip | Brand logos (Berkeley, Dixon, Victaulic, Elkhart, Cox Reels, etc.) | "Since 1950" + multi-state hubs + DOT inspection PDF | 4 icon cards (DOT, 20+ Years, 100+ Trucks, Financing) — good, but generic |
| Financing strip | Footer link "Tank & Truck Financing" | Hero "Get Pre Qualified" + in-house financing + Arrow PRIME membership | Mid-page section: bullet list + "Call for a Personalized Quote" |
Critical SEI gap vs Arrow: A "Get pre-qualified in 60 seconds" form. Arrow's pre-qual lives above the fold; ours hides at "Inquire About Financing" → goes to /contact. Heavy-equipment buyers self-qualify by payment, not by price. A monthly-payment estimator on the homepage (and on every truck card) is table stakes for this category.
Critical SEI gap vs watertrucks.com: Real-time inventory counts on featured cards. Watertrucks shows "68 in stock"; we show featured cards with no scarcity signal. Our trucks are higher-ticket so the gap matters more — "1 of 2 available" beats "Inquire" on conversion.
Where SEI wins today: The 4 icon-card trust row (DOT / 20+ Years / 100+ Trucks / Financing) is cleaner than either competitor's. The 7-state service-area grid below the FAQ is a strong local-SEO play that arrowtruck.com lacks regionally and watertrucks.com doesn't surface visually.
Navigation¶
- watertrucks.com: Hierarchical mega-menu — Water Trucks & Tanks (subcategories by gal range + U-Kits / R-Kits / Roll-Off), Service & Repair, Parts (12 sub-categories), 120+ specific part types in a vertical dropdown.
- arrowtruck.com: Simple top nav (Search Inventory / Financing / Locations / Services) + a phone CTA. Their power is the search-and-filter experience, not the menu.
- SEI (current): Two-row header. Row 1: logo + phone CTA + hamburger. Row 2: Home / Truck Inventory (with 4-cat dropdown: 2K water / 4K water / single-axle dump / tandem dump) / Water Tanks & Kits / Service & Repair (with In-Shop / Field / Warranty submenu) / Parts (external link to superiorwatertruckparts.com) / History / Contact.
The Parts dropdown is correctly architected — it leans on the sister brand for parts ecommerce rather than duplicating it. Don't change that. But:
Missing from nav: Financing as a top-level item. Currently buried as a homepage section + a Contact-page submission path. Arrow makes it #2 in the top bar. For B2B equipment buyers, payment options are a primary decision criterion — surface it.
Search¶
- watertrucks.com: Header search exists but minimal autocomplete.
- arrowtruck.com: Inventory search with Make, Category, State filters — the strongest filter rail in the audit.
- SEI: On
/#/inventorythere's a search input + Make dropdown + Type dropdown + Sort (year / mileage asc-desc). No price filter, no year filter, no mileage filter, no state filter, no axle filter. Search hits "make, model, or VIN" only.
Gap: The single most valuable filter for water-truck buyers — gallon capacity — already exists as a category route but isn't a filter chip on the inventory page. Add as a quick-toggle: 2K / 4K / Dump-Single / Dump-Tandem above the grid.
Inventory listing pages (/#/inventory)¶
| watertrucks.com | arrowtruck.com | SEI | |
|---|---|---|---|
| Filter rail | Limited | Make / Cat / State / Year / Price (strong) | Make + Type + Sort (light) |
| Card photo | Real product photo | Real truck photo (multi-angle on detail) | Mostly gradient placeholder ("Photos Coming Soon" for many SKUs) |
| Price on card | Yes | Yes (large + monthly est.) | Estimated retail with range, or "Call for price" |
| Stock count / availability | Yes ("In stock," numerical) | Stock # + location | Badge: "New Listing" + "Sale Ready" |
| Save / favorite | No | No (but PRIME membership saves) | No |
| Compare | No | No | No |
| Quick-view modal | No | No | No |
Truck detail pages¶
Two systems exist:
- SPA detail at /#/detail/<id> — tabs (Overview / Engine & Drivetrain / Chassis & Body), Quick Stats grid, inquiry form sidebar, "We typically respond within 1 business hour." Inquiry form is gated and clean.
- Static detail at /truck-<STOCK>.html (e.g., truck-23H42WT.html) — separate template using a different design system (superior.css), gallery with 01.jpg–05.jpg thumbnails, Vehicle JSON-LD, inquiry form. References sister-brand "Cactus Truck Parts" in footer instead of "Superior Water Truck Parts" — stale cross-link, should be fixed.
| watertrucks.com | arrowtruck.com | SEI (SPA + static) | |
|---|---|---|---|
| Photos | Multiple angles | Multi-angle + interior + engine + mileage screenshot | Static: 5-photo gallery if shot. SPA: single placeholder. Many trucks: "Photos Coming Soon" |
| Specs | Tables + PDF download | Y/M/M, miles, location, stock #, engine, trans, suspension, axle config | Y/M/M, body type, fuel, stock # (sparse — many fields missing on partial-data trucks) |
| Price | Visible | Visible + monthly payment | Estimated price with range, OR "Call for price" |
| Financing CTA | "Tank & Truck Financing" link | "Get Pre-Qualified" / payment calc | "Pricing on request — condition drives the number" |
| Trade-in | None | Not visible on detail | None |
| Inspection record | None visible | Downloadable DOT inspection form | "Mechanical inspection at our facility before delivery" (text only) |
| Warranty | "UnitedBuilt Warranty" link | Extended warranty bundled | Linked from Service menu |
| Compare to similar | None | None | None |
| Q&A / FAQ on page | None | None | None (FAQs only on homepage) |
Biggest single detail-page gap: No payment estimator. A $90K water truck at 60 months / 8.5% works out to ~$1,847/mo. Buyers self-qualify on that number, not on the sticker. Add a 3-input estimator (truck price, down payment, term) to every detail page.
Second-biggest gap: No real inspection record. Arrow publishes a sample DOT inspection form (a PDF). SEI says "inspected at our facility" but provides no artifact. Even a blurred/redacted sample sheet builds trust on a $90K decision.
Lead-capture funnel¶
SEI's current funnel: - Homepage hero → Browse Inventory (good) or Call (great for relationship-driven sales) - Inventory → truck card → SPA detail → Inquiry form (name / email / phone / message, pre-filled "I'm interested in this truck") or Call - Contact page → general form with truck-of-interest dropdown - Financing → no dedicated form; collapses to "Call for a Personalized Quote" or /contact
What's missing: 1. Pre-qualification form — a 4–5 field credit-soft-pull style form that buyers can complete before calling. (Arrow.) 2. Save / favorite trucks — for buyers who browse multiple units before deciding. 3. Trade-in form — let a buyer paste their current truck's Y/M/M + miles and get a ballpark trade value. Captures contact + qualifies seriousness. 4. Build-to-order quote form — for buyers whose use case doesn't match a stock truck (e.g., USFS-spec fire support, 6K gal one-off). This is SEI's structural advantage over arrowtruck.com — Arrow can't build; SEI does. 5. Service contract upsell at checkout/inquiry — "Add a 12-month preventive-maintenance plan: $X/mo."
Mobile experience¶
| watertrucks.com | arrowtruck.com | SEI | |
|---|---|---|---|
| Sticky bottom CTA | None visible | None visible | Yes — Call Now + View Trucks |
| Hamburger drawer | Yes | Yes | Yes — 280px right-slide with sub-headers |
| Tap target sizing | Adequate | Adequate | Good (44px+ for nav links) |
| Skeleton loaders | Some | Limited | Yes — .skeleton-card for inventory grid |
| Skip-to-content | Not visible | Not visible | Yes — accessibility win |
| LCP on 3G (est.) | ~2.8s | ~3.2s | Estimated ~2.5s for SPA shell, but inventory hydrates client-side from Supabase so perceived time-to-content is longer |
SEI's mobile foundation is strong. The biggest mobile gap is that the SPA architecture means inventory cards don't appear in initial HTML — they hydrate after a Supabase round-trip. On mobile 3G this can mean 1.5–3 extra seconds before product cards paint.
Technical performance¶
SEI loads: - One inline CSS block (~50 KB) - One inline JS block (~45 KB) - Supabase REST API for inventory (1 fetch on inventory route) - No external font (system font stack) - No web fonts on the homepage (truck-detail static pages load DM Sans + Source Sans 3 + JetBrains Mono — three families, ~80 KB)
Quick wins:
- Truck detail pages load 3 Google Font families. Drop JetBrains Mono (used for stock numbers only — minor cost vs. ~25 KB).
- Static truck-*.html pages reference superior.css (separate design system). Consider merging or symlinking — the dual design system creates code-debt.
- Supabase anon key is exposed in HTML. This is the standard pattern for Supabase RLS-protected reads but make sure RLS policies are tight on the trucks table (read-only public, no PII writes).
Brand presentation¶
| Element | Status |
|---|---|
| Logo / wordmark | "S" mark in orange box + "Superior Equipment" wordmark — consistent across header and favicon |
| Color palette | Navy #1e3a5f + orange #f97316 + amber #fbbf24 — well-defined CSS variables |
| Typography | System font on SPA homepage; DM Sans + Source Sans 3 on static detail pages (mismatch) |
| Voice | Direct, factual, no fluff — matches the audience (fleet buyers). Good. |
| Imagery | Mostly gradient SVG placeholders. Hero illustration is an SVG truck. Many trucks: "Photos Coming Soon." Biggest brand weakness. |
| Video | None |
| Founder / shop story | "History" page exists but says "Coming Soon" |
| Testimonials | Removed 2026-05-21 because prior ones were fabricated (correct call). Empty space is better than fakes. Re-fill with real signed quotes. |
Trust signals (the deciding factor on a $30K–$200K B2B purchase)¶
| Signal | watertrucks.com | arrowtruck.com | SEI |
|---|---|---|---|
| Years in business | Implied (long history) | "Since 1950" | "20+ Years" + "Since 2003" (in schema + footer) |
| Physical address | Yes (Buckeye Rd, Phoenix) | Multi-state hubs | Yes (Phoenix; static pages say 156 E Mohave St 85004) |
| Phone always visible | Yes | Yes | Yes (header + sticky mobile + FAB + every CTA) |
| Real testimonials | Limited | None visible | None (correctly empty) |
| Star ratings | None | None | None |
| Customer/fleet logos | Brand-partner logos (Berkeley, Dixon, etc.) | None | None — biggest trust gap |
| BBB / industry cert | None visible | None visible | None |
| Photos of shop/staff | Limited | None | None — second-biggest brand gap |
| DOT inspection record | None | Sample PDF | "Inspected at our facility" (text claim, no artifact) |
| Warranty visibility | Yes | Extended-warranty bundle | Service-menu link to /warranty (exists) |
| Trade-in policy | None | Implied | None |
| Secure payment / SSL | Yes | Yes | Yes |
| Email response SLA | Not stated | "Fastest lead response in industry" | "We typically respond within 1 business hour" — strong, keep |
Biggest fixable trust gap: Get 5–10 real fleet customer logos (Sundt, Granite, Kiewit, Markham, AZDOT, City of Phoenix, etc. — whoever has actually bought trucks) and put them in a "Trusted by Southwest fleets" strip below the hero. With written permission.
Phase 2 — CRO audit (scored 0-100)¶
| Score | Notes | |
|---|---|---|
| Visual hierarchy | 75 | Hero → trust strip → featured inventory → financing → FAQ → service-area is a clean flow. |
| CTA placement | 70 | Hero has 2 CTAs (good), sticky mobile bar exists, FAB on desktop. But no above-fold pre-qual / quote CTA. |
| Product discovery | 62 | Featured inventory + category dropdown + inventory page. Missing compare and save. |
| Search usability | 55 | Inventory search exists (make/model/VIN). No autocomplete. No part-number style search. |
| Category structure | 78 | Four clear categories (2K water, 4K water, single dump, tandem dump). Tight, matches buyer mental model. |
| Filters | 45 | Make + Type + Sort. Missing: price, year, miles, axle config, state, gallon range as filter chip. |
| Product information quality | 50 | Strong on trucks with complete data (year/make/model/VIN/miles/engine/trans). Many trucks have sparse data + "specs still being verified" text. |
| Product imagery | 35 | Gallery infrastructure exists (5-photo grid on static pages, lazy load). But many trucks are placeholder-only. This is the #1 conversion blocker. |
| Trust indicators | 55 | 4 icon cards on homepage, 1-hr response SLA on inquiry, JSON-LD foundingDate: 2003. Missing fleet logos, BBB, inspection artifacts. |
| Shipping/delivery messaging | 65 | "Delivery across the Southwest" + 7-state grid. Could be more specific (transit days, cost-by-distance table). |
| Return / buyback messaging | 30 | No return / buyback / consignment policy surfaced. Heavy-equipment buyers don't expect 30-day returns, but a "we'll buy it back if X" or trade-in promise reduces purchase anxiety. |
| Contact visibility | 95 | Phone in every CTA, sticky mobile bar, FAB, footer, header, inquiry form. Best-in-class. |
| Lead capture | 60 | Per-truck inquiry form is good. No newsletter / no pre-qual / no quote-builder. |
| Upsells (service plan, extended warranty, accessories) | 20 | None on detail page. Big revenue miss. |
| Cross-sells | 25 | "View All Available Trucks" is the only cross-sell mechanism. No "similar trucks" or "customers also viewed." |
| Bundles (truck + service plan + delivery + financing) | 15 | Not packaged anywhere. |
| Financing flow | 40 | Bullet list + "Inquire About Financing" → /contact. No payment calculator. No soft-pull pre-qual. |
Composite CRO: 54/100.
Phase 3 — Technical SEO audit¶
| Score | Notes | |
|---|---|---|
| Core Web Vitals | 78 | Single inline CSS, no web fonts on SPA, skeleton loaders prevent CLS. Inventory hydration adds delay to FID/INP. |
| Site speed | 75 | Fast initial paint. Supabase fetch adds 200–600ms for inventory grid. |
| Crawlability | 50 | SPA hash-routing is the elephant in the room. Google's crawler treats /#/inventory and /#/service as identical to /. Sitemap notes this explicitly and lists only / and /shop/. Static truck-*.html files exist but aren't in the sitemap — they're orphaned from a crawl perspective unless linked from a discoverable static page. |
| Internal linking | 55 | Nav + footer cover top-level routes. No related-trucks linking on detail pages. No category cross-links. |
| Metadata | 80 | Per-page title + description on homepage and static detail pages. Open Graph + Twitter card present. |
| Structured data | 90 | LocalBusiness + AutoDealer combo (excellent), WebSite SearchAction, FAQPage with 6 Qs, Vehicle schema on static detail pages, BreadcrumbList per page, geo coordinates (33.4484, -112.0740). Among the strongest structured-data implementations in this audit. |
| Vehicle schema completeness | 70 | Has @type: Vehicle, seller Organization with address, fuelType: Diesel, offers with availability + price spec. Missing on most trucks: mileageFromOdometer, vehicleEngine, vehicleTransmission, numberOfAxles, vehicleConfiguration, image array, aggregateRating. |
| FAQ schema | 95 | 6 well-written, specific FAQs on the homepage. Use this same pattern on category pages and detail pages. |
| Category SEO | 40 | Category pages exist as filtered inventory views (/#/inventory?cat=water-2000) but don't have unique URLs Google can index, no per-category H1/copy block, no canonical. |
| Content gaps | High | No buying guides ("How to Choose a 2K vs 4K Water Truck"), no comparison pages ("Freightliner M2 vs International HV vs Kenworth T370 water truck base"), no use-case pages ("water trucks for mining," "water trucks for dust control," "fire-support water trucks"). |
| Keyword opportunities | High | "water truck financing Arizona," "buy used 4000 gallon water truck," "Peterbilt water truck for sale," "DOT water truck inspection checklist" — all underutilized. |
| Local SEO | 85 | LocalBusiness schema with full address, hours, geo, 7 states in areaServed. Strong. Add Google Business Profile sync if not done. |
Composite SEO: 70/100.
Biggest SEO opportunities (ranked by traffic potential)¶
- Migrate SPA routes to server-rendered or pre-rendered URLs.
/inventory/,/inventory/2000-gallon-water-trucks/,/inventory/4000-gallon-water-trucks/,/inventory/dump-trucks/,/financing/,/service/,/warranty/,/contact/,/history/. Use Cloudflare-Pages-style HTML5 history + a static fallback or pre-render at build time. This is the single largest SEO lift available. - Add every truck-*.html to sitemap.xml with auto-regeneration on inventory change.
- Buying guides — "2,000 vs 4,000 Gallon Water Truck: Which Do You Need?" (~300/mo searches), "Freightliner vs International vs Kenworth Water Trucks" (~150/mo).
- Use-case landing pages —
/water-trucks-for-mining/,/water-trucks-for-dust-control/,/water-trucks-for-construction/,/water-trucks-for-municipal/. SEI's areaServed schema lists construction / mining / landscaping / municipal — turn each into a landing page. - State-specific pages —
/water-trucks-arizona/,/water-trucks-nevada/,/water-trucks-texas/, etc. Mirror the areaServed JSON-LD into actual URLs. - Per-truck Vehicle schema completion — add
mileageFromOdometer,vehicleEngine, image array. Major boost for Google Vehicle search results. - Category page H1 + 400–600 word expert content on each of the 4 inventory categories.
Phase 4 — Revenue optimization¶
For SEI specifically — finished trucks, not parts — the revenue levers are:
| # | Opportunity | Lift (yr 1) | Effort | Notes |
|---|---|---|---|---|
| 1 | Financing pre-qualification form (soft-pull style, 5 fields, posts to lender API or sales inbox) | +$300K | 2 wks | Arrow's biggest CRO weapon. Captures buyers who'd otherwise bounce at "Call for price." Even a non-credit-pull web form ("Tell us about your budget and time-frame") doubles funnel volume. |
| 2 | Monthly-payment estimator on every truck card + detail page (price × down × term → monthly) | +$180K | 3 days | Pure JS. Three inputs, one output. Industry data: payment-est widgets lift inquiries 25–40% on used-equipment sites. |
| 3 | Service-contract upsell on truck purchase (12-mo PM plan: oil + filters + DOT inspection + 2 field visits = $1,800–$3,200 add-on) | +$120K | 2 wks | We already have the service infrastructure (In-Shop + Field Services pages). Bundle it. |
| 4 | Trade-in valuation form ("Tell us about your current truck → we'll give you a ballpark") | +$90K | 1 wk | Captures contact, qualifies seriousness, gives SEI inventory pipeline (used cores for resale). |
| 5 | Build-to-order quote builder (chassis + tank size + pump + cab controls + spray heads + paint = priced quote in 24hr) | +$200K after 6 mo | 4 wks | This is SEI's structural advantage. Arrow can't build; UnitedBuilt does kits but not finished. SEI does finished water trucks. Capture buyers whose use case doesn't match a stock truck. |
| 6 | Extended warranty add-on (powertrain, 12–24 mo) | +$60K | 2 wks | Standard upsell in used-equipment retail. Even at 30–40% attach rate × $1,500/avg = real money. |
| 7 | Delivery quote calculator (state + zip → ballpark delivery cost) | +$30K | 1 wk | Reduces "what's it cost to get here?" friction. We already have the 7-state areaServed; turn it into a $/mile estimator. |
| 8 | Save-and-share inventory (email this truck to a partner, save to favorites) | +$40K | 1 wk | Construction GMs/owners often loop in fleet manager / CFO before pulling trigger. Make the multi-stakeholder workflow easy. |
| 9 | Fleet-account portal (logged-in account: order history, service history, saved trucks, account pricing, payment terms) | +$250K after 12 mo | 8 wks | Long bet but converts repeat fleet buyers from one-off transactions to recurring relationships. |
| 10 | Accessory-pack upsells (tonneau, bumper guards, GPS, decals, fire-pump add-on, light bar, hose-reel upgrade) on truck detail page | +$50K | 2 wks | "Add to your truck" widget — pulls from SWTP catalog where possible, custom-quotes where not. |
Total addressable revenue lift from Phase-4 items in year 1: ~$1.32M (assumes current top-of-funnel is preserved; treat as upper bound).
Phase 5 — Ideal truck inventory detail page¶
Layout (vertical order, mobile-first)¶
1. Sticky top breadcrumb
Home › Inventory › Water Trucks (2K Gal) › 2023 Freightliner M2 — Stock #23H42WT
2. Hero block (50/50 split on desktop, stacked on mobile)
LEFT (60%): Photo gallery
- Hero photo (lazy-load placeholder removed once paint is ready)
- 8-thumb grid: exterior 3/4, exterior side, exterior rear, interior cab,
dash, tank/spray, engine, undercarriage
- "Photos taken at our Phoenix yard, [date]" caption
- 360° spin viewer if photo set is complete
- 1-minute walkaround video if available
RIGHT (40%): Buy column (sticky on scroll desktop, collapses on mobile)
- H1: "2023 Freightliner M2 — 2,000 Gal Water Truck"
- Stock #23H42WT · VIN: 1FV... · Phoenix, AZ
- "New Listing" badge (if <30 days)
- Price: "$89,500" (large) or "Call for price" (with reason: "VIN-verified pricing on request")
- Monthly payment estimator (3 inputs, live output)
└─ "Estimated $1,847/mo at 60 months, $10K down, 8.5% APR"
└─ Disclaimer line: "Estimate only. Actual rate depends on credit and term."
- 2 CTAs: [Call (602) 437-3980] (primary) [Get Pre-Qualified] (secondary)
- Trust strip (4 rows):
├─ Inspected at our Phoenix yard before listing
├─ DOT compliant — sample inspection sheet PDF
├─ Delivery available to AZ, CA, NV, TX, CO, NM, UT
└─ Financing 24–72 months, new businesses welcome
- Tertiary CTA: "Email this truck to a partner" + "Save to favorites"
3. Spec quick-stats strip (6 chips)
[Year 2023] [Miles 42,150] [Engine Cummins B6.7] [Trans Allison 2500RDS]
[Axles 4x2] [GVWR 26,000]
4. Tabbed deep content (sticky tab nav on scroll)
Tab 1: Overview / Description — 2–3 paragraphs of curated copy (what's unique
about this unit, what condition, what's been refurbished, anything notable)
Tab 2: Engine & Drivetrain — full table (engine, displacement, HP, trans, axles,
PTO, suspension, tires)
Tab 3: Tank & Spray System — gallon, baffles, fill ports, pump make/model/direction,
spray head count, cannon (yes/no), cab control type, fenders, hose reel
Tab 4: Chassis & Cab — GVWR, GAWR-F, GAWR-R, wheelbase, cab type, transmission
cooler, air ride, A/C, radio
Tab 5: Photos (gallery duplicate, lightbox)
Tab 6: Inspection & Title — PDF inspection sheet, title status (clear / salvage /
rebuilt), miles verification, emissions tier
5. Service & support
"Need this truck delivered with a 12-month PM plan?" → Adds $1,800–$3,200,
covers oil/filters every 90 days, 2 field visits, free DOT inspection.
[Add PM plan to my quote]
6. "Customers also viewed" — 3 similar trucks (same gallon, similar year, ±$15K)
7. Truck-specific FAQs (with FAQ schema)
Q: What's the difference between a 2K and a 4K gallon water truck?
Q: Is this truck CDL-required?
Q: How is the spray pattern controlled from the cab?
Q: What's included with delivery?
8. Inquiry form sidebar (mirror, in case the user scrolled past the buy column)
Name / phone / email / message (prefilled) / "Send inquiry" / "We typically
respond within 1 business hour"
9. Long-form SEO body (800+ words for indexable content)
- "About 2,000 gallon water trucks": use case, who buys them, why
- "About Freightliner M2 as a water-truck chassis": pros, cons, parts
availability, common configurations
- "How we prepare our trucks for sale": SEI's prep process, hours invested,
things we replace by default
10. Footer
Exact copy — buy-column trust strip (drop-in HTML)¶
<ul class="detail-trust-strip">
<li>
<svg class="icon"><use href="#i-shield"/></svg>
<span>Inspected at our Phoenix yard before listing</span>
</li>
<li>
<svg class="icon"><use href="#i-clipboard-check"/></svg>
<a href="/sample-dot-inspection.pdf" target="_blank">Sample DOT inspection sheet (PDF)</a>
</li>
<li>
<svg class="icon"><use href="#i-truck"/></svg>
<span>Delivery to AZ, CA, NV, TX, CO, NM, UT — call for transit estimate</span>
</li>
<li>
<svg class="icon"><use href="#i-dollar"/></svg>
<span>Financing 24–72 mo, competitive rates, new businesses welcome</span>
</li>
</ul>
Payment estimator (drop-in JS + HTML)¶
<div class="payment-estimator" data-price="89500">
<div class="payment-estimator__output">
<span class="payment-estimator__monthly">$1,847</span>
<span class="payment-estimator__per">/mo est.</span>
</div>
<div class="payment-estimator__inputs">
<label>Down payment <input type="number" id="pe-down" value="10000" step="1000"></label>
<label>Term (months) <select id="pe-term">
<option>24</option><option>36</option><option>48</option>
<option selected>60</option><option>72</option></select></label>
<label>APR (est.) <input type="number" id="pe-apr" value="8.5" step="0.1"></label>
</div>
<p class="payment-estimator__disclaimer">
Estimate only — actual rate depends on credit, term, and lender.
<a href="/financing/pre-qualify">Get pre-qualified →</a>
</p>
</div>
<script>
// Simple amortization: P = L[c(1+c)^n] / [(1+c)^n - 1]
function recalcPayment() {
const price = parseFloat(document.querySelector('.payment-estimator').dataset.price);
const down = parseFloat(document.getElementById('pe-down').value) || 0;
const term = parseInt(document.getElementById('pe-term').value, 10);
const apr = parseFloat(document.getElementById('pe-apr').value) / 100;
const L = price - down;
const c = apr / 12;
const monthly = L * (c * Math.pow(1+c, term)) / (Math.pow(1+c, term) - 1);
document.querySelector('.payment-estimator__monthly').textContent =
'$' + Math.round(monthly).toLocaleString();
}
document.querySelectorAll('#pe-down, #pe-term, #pe-apr').forEach(el =>
el.addEventListener('input', recalcPayment));
recalcPayment();
</script>
FAQ schema example for a truck detail page¶
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Is this 2,000 gallon water truck CDL-required?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A 2,000-gallon single-axle water truck on a Class 6 chassis (GVWR 26,000 lbs or less) does not require a CDL to operate. This makes it ideal for landscaping companies and smaller contractors with non-CDL drivers. A 4,000-gallon tandem-axle water truck on a Class 7-8 chassis (GVWR above 26,000 lbs) does require a CDL."
}
},
{
"@type": "Question",
"name": "What's included with delivery?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Delivery includes truck transport from our Phoenix yard, a full pre-delivery inspection, a fresh oil and filter change, and all paperwork (title, MSO if applicable, DOT inspection record). Delivery cost is calculated by distance — call (602) 437-3980 for a quote to your zip."
}
},
{
"@type": "Question",
"name": "Can you customize this truck before delivery?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Common pre-delivery customizations include paint matching to your fleet colors, adding a fire-support pump, upgrading the hose reel, adding GPS tracking, or installing a Tier 4 Final emissions kit. Add-on cost is quoted on request — most customizations add 1–3 weeks to delivery."
}
}
]
}
</script>
Phase 6 — Homepage redesign¶
Recommended above-fold structure¶
[ Top trust strip — 4 items, dark navy band ]
DOT-compliant inventory │ Financing 24-72 mo │ Delivery to 7 states │ (602) 437-3980
[ Hero — full-width with shop-photo background, dark overlay 60% ]
EYEBROW: PHOENIX, AZ · SELLING WATER TRUCKS SINCE 2003
H1: Water trucks. Dump trucks. Built right.
Phoenix yard. Real photos. Real prices.
LEDE: 2,000- and 4,000-gallon water trucks plus single- and tandem-axle dump
trucks. Every truck is DOT inspected at our Phoenix yard before it's listed.
Financing 24-72 months. Delivery across AZ, CA, NV, TX, CO, NM, UT.
CTAs: [ Browse Inventory → ] [ Get Pre-Qualified ] [ Call (602) 437-3980 ]
[ Customer fleet logo strip — directly below hero ]
"Trusted by Southwest fleets" [Logo1] [Logo2] [Logo3] [Logo4] [Logo5]
(Use REAL fleet customers, with written permission)
[ 4-up trust card grid — keep current "DOT / 20+ Years / 100+ Trucks /
Financing" but rewrite copy to be more specific ]
[ Featured Inventory — keep current pattern, but: ]
- Real photo on every card (no placeholder gradients on the homepage)
- Stock count next to "View All": "View All 14 Available Trucks"
- Monthly-payment chip on each card: "Starting $1,640/mo*"
[ Financing strip — 60/40 with calculator on the left, "Talk to financing" on the right ]
Left: Payment estimator (price/down/term → monthly)
Right: "Pre-qualified buyers close 2-3 weeks faster. Get pre-qualified →"
[ Service capability — 2 cards: In-Shop / Field — keep current ]
[ FAQ — keep current 7-question accordion ]
[ Service area grid — keep current 7-state ]
[ Reviews/testimonials — REAL ones only, with name, company, and use case ]
"We bought a 4K from SEI for our Sundt site — delivered on the date promised.
Spray heads tuned right out of the gate." — Fleet manager, [real company]
Empty until you have real ones. Don't fabricate.
[ Final CTA — "See what's on the yard today" + phone ]
Exact hero copy variants to A/B test¶
Variant A (current — Authority):
Water Trucks for Sale in Arizona Buy premium rebuilt water trucks and dump trucks from Phoenix, AZ. DOT compliant, sale-ready, with flexible financing and delivery across the Southwest.
Variant B (Differentiation):
The water-truck dealer that builds water trucks. Same Phoenix yard. Same crew. Real photos. Real prices. DOT inspected before it's listed. Financing 24-72 months across 7 states.
Variant C (Outcome):
Working water truck on your jobsite in 14 days. 2K and 4K gallon water trucks plus dump trucks, all DOT-inspected at our Phoenix yard. Pre-qualify in 60 seconds. We deliver across AZ, CA, NV, TX, CO, NM, UT.
For B2B equipment buyers, Variant C usually wins because it leads with the buyer's outcome ("truck on jobsite in 14 days") rather than the seller's claim ("premium rebuilt"). Industry data on direct-response heavy-equipment hero variants suggests 10–18% lift over the authority variant.
Phase 7 — Mobile optimization¶
| Fix | Effort | Expected lift |
|---|---|---|
| Replace gradient-placeholder inventory cards with real photos on mobile | Variable (depends on photo backlog) | +12–18% mobile inquiry rate |
| Add monthly-payment chip to every truck card | 1 day | +8% truck-detail clicks |
| Move pre-qualification CTA to sticky bottom bar on mobile (third button beside Call / View Trucks) | 30 min | +6% qualified-lead capture |
Lazy-load gallery thumbnails on detail pages (already done on 01.jpg eager; lazy for 02-05) |
30 min | LCP -150ms |
| Defer Supabase inventory fetch until inventory route is reached (currently no homepage fetch — already correct) | done | n/a |
Add srcset + <picture> to gallery photos for 2x retina + WebP fallback |
1 day | LCP -200ms across detail pages |
| Compress hero illustration SVG (currently inline; small) | done | n/a |
| Test sticky mobile CTA bar doesn't overlap inquiry form submit button on detail pages | 30 min | reduces frustration on form completion |
Reduce CSS file size by extracting unused selectors (homepage <style> block ~50 KB) |
2 hr | LCP -100ms, page weight -25 KB |
| Use system-font-only on static truck detail pages (drop 3 Google Font families) | 1 hr | LCP -200ms |
Phase 8 — Action plan¶
Quick wins — 1 week (do this week)¶
- Add
truck-*.htmlfiles tositemap.xmlwith a generator script that reads the trucks table from Supabase and emits one<url>per stock number. (Half day.) - Add a monthly-payment estimator widget to every truck card and every detail page. (2 days; pure JS, no backend.)
- Replace placeholder photos on the top 5 highest-value trucks with real Phoenix-yard photos. (Photography ~4 hrs + upload + thumbnail set.)
- Fix stale cross-brand link in static
truck-*.htmlfooters: "Cactus Truck Parts" → "Superior Water Truck Parts" (superiorwatertruckparts.com). (15 min, search-replace across 9 files.) - Add Vehicle schema completeness —
mileageFromOdometer,vehicleEngine,vehicleTransmission, image array for the top 10 trucks. (1 day.) - Add Financing as a top-level nav item (between Truck Inventory and Water Tanks & Kits). New
/#/financingpage with bullet list + estimator + pre-qual form. (1 day for the route; pre-qual form on its own track.) - Add 5 real fleet-customer logos to a "Trusted by Southwest fleets" strip below the hero. Outreach for written permission this week, ship next. (Outreach + design.)
- Update Open Graph image — currently no
og:imagedefined; default crawler grabs nothing. Generate a branded 1200×630 with logo + tagline. (1 hr.) - Write the History page — even a single paragraph ("Founded 2003 in Phoenix by [no employee names per directive]; we've delivered 100+ water trucks across the Southwest"). Beats "Coming Soon" placeholder. (1 hr.)
- Sample DOT inspection PDF — generate one redacted sample inspection sheet, link from every truck detail page. (Half day.)
30-day plan¶
- Server-render (or pre-render) the SPA routes to real URLs (
/inventory/,/inventory/2000-gallon-water-trucks/,/financing/,/service/, etc.). This is the single largest SEO unlock. Cloudflare Pages + a build step that pre-renders each route to static HTML and falls back to SPA hydration. (1–2 weeks.) - Add price + year + miles + axle filters to the inventory page. The current Make + Type + Sort is too thin. (3 days.)
- Trade-in valuation form —
/trade-in/with 6 fields (Y/M/M/miles/condition/contact) → email to sales. (3 days.) - Service-contract upsell on truck detail pages — "Add 12-month PM plan: $X/mo" with a checkbox that flows into the inquiry. (3 days.)
- Category landing pages with H1 + 500-word expert body:
/inventory/2000-gallon-water-trucks/,/inventory/4000-gallon-water-trucks/,/inventory/dump-trucks-single-axle/,/inventory/dump-trucks-tandem-axle/. (1 wk.) - Buying guide #1: "2,000 vs 4,000 Gallon Water Truck — Which Do You Need?" with use-case examples (landscaping vs construction vs mining). (3 days.)
- Buying guide #2: "Freightliner vs International vs Kenworth vs Peterbilt as a Water-Truck Chassis." (3 days.)
- Use-case pages:
/water-trucks-for-mining/,/water-trucks-for-dust-control/,/water-trucks-for-construction/,/water-trucks-for-municipal/. (1 wk.) - State-specific landing pages:
/water-trucks-arizona/,/water-trucks-nevada/,/water-trucks-california/,/water-trucks-texas/. Each with H1 + local SEO copy + filtered inventory grid. (1 wk.) - Add "Compare trucks" tool (up to 3 trucks side-by-side, specs grid). (4 days.)
- Email capture in footer ("Get new-inventory alerts") with a 1-field form → low-effort lead. (1 day.)
- Photo-backlog sprint — get real photos on every truck currently showing "Photos Coming Soon." (Coordinated with yard ops, ~2 wks elapsed.)
90-day plan¶
- Pre-qualification flow — 5-field web form → submitted to lender API or sales inbox (depending on partner integrations). Includes credit-soft-pull disclosure copy. (3 wks.)
- Fleet account portal — login, saved trucks, account-level financing terms, order history, service history. (8 wks.)
- Build-to-order configurator — chassis × tank × pump × cab controls × paint → priced quote in 24 hr. Lives at
/build-your-truck/. (6 wks.) - YouTube walkaround series — 1-minute video per truck. Embed on detail pages. (Ongoing; 4 videos/wk after setup.)
- Real customer testimonial program — outreach to past customers, video or signed-quote, with company + use case. (Ongoing.)
- CRM integration — every inquiry form → CRM with truck-of-interest field, source URL, UTM tags. (2 wks.)
- Google Ads campaign structure — branded + non-branded by state and by category (2K / 4K / dump). Land each ad on the matching state or category page. (Concurrent with state-page rollout.)
- Trade-in core program — used water truck in, $X off new. Fills used-inventory pipeline. (Process design + page = 3 wks.)
- Tanks & Kits page build-out — currently "Coming Soon." Either build the catalog or remove the nav item until ready. (2 wks if scoped down to top 6 SKUs.)
- Spanish-language toggle — already scaffolded via
data-i18nattributes; ship a full ES translation for the homepage + inventory + financing + contact pages. AZ/NV market is significant Spanish-first. (2 wks for translation + QA.)
Top 25 — Revenue opportunities (ranked)¶
- Financing pre-qualification form (+$300K/yr) — biggest single CRO lever for this category
- Build-to-order configurator (+$200K/yr by month 6) — SEI's structural advantage
- Fleet account portal (+$250K/yr by month 12)
- Monthly-payment estimator on cards + detail (+$180K/yr)
- Service-contract upsell on truck purchase (+$120K/yr)
- Trade-in valuation form (+$90K/yr)
- Extended warranty upsell (+$60K/yr)
- Accessory upsells on detail pages (+$50K/yr)
- Save / share / favorite trucks (+$40K/yr)
- Delivery quote calculator (+$30K/yr)
- Email capture + new-inventory alerts (+$25K/yr)
- Photo-completion sprint on stale "Photos Coming Soon" trucks (+$80K/yr — direct conversion impact)
- Real fleet-customer logo strip (+$20K/yr — trust signal)
- State-specific landing pages for Google search intent (+$45K/yr from non-AZ states)
- Use-case landing pages (mining, dust control, construction, municipal) (+$40K/yr)
- Compare-up-to-3-trucks tool (+$25K/yr)
- Buying guides as top-of-funnel content (+$30K/yr)
- YouTube walkaround videos embedded on detail pages (+$35K/yr)
- Trade-in core program (used truck in → resale pipeline) (+$60K/yr from refurb resale)
- Spanish-language site (+$40K/yr — AZ/NV/TX Spanish-first market)
- Tanks & Kits page properly built (+$30K/yr — turns dead nav item into revenue)
- Customer testimonial flywheel + video reviews (+$25K/yr)
- Google Ads campaign structure (state + category) (+$120K/yr at reasonable ROAS)
- Quote-builder mini-form for off-hours buyers (+$45K/yr)
- Pre-delivery customization upsells (paint match, GPS, fire pump, light bar) (+$40K/yr)
Cumulative addressable revenue lift: ~$1.95M/yr (assumes current revenue and lead volume; treat as upper bound, not commitment).
Top 25 — Conversion improvements (ranked by impact × effort)¶
- Add monthly-payment estimator to every truck card
- Add "Get Pre-Qualified" CTA in hero (third button)
- Replace gradient placeholders with real truck photos
- Add VIN + miles + engine + trans visible on truck cards (currently only year/make/body)
- Add price + year + miles + axle filters to inventory page
- Add Financing as a top-level nav item
- Add sample DOT inspection PDF link on every truck detail page
- Real fleet-customer logo strip below the hero
- Add stock count / scarcity badge ("1 of 2 available") to cards where true
- Build the History page out of placeholder state
- Add real customer testimonials (when collected — empty beats fake)
- Compare-trucks tool (up to 3 side-by-side)
- Save / favorite trucks
- Email-this-truck-to-a-partner share button
- Sticky add-to-quote bar on detail page scroll
- Add "Delivery to your zip" estimator on detail page
- Reduce hero copy density to 2 sentences max (current is 3)
- Pre-qualification CTA on sticky mobile bar (third button)
- Add inquiry-form auto-response with truck details + next steps
- Service-plan-add-on toggle on inquiry form (checkbox to "Add 12-mo PM plan to my quote")
- Show financing terms inline on detail page ("60 mo @ 8.5% = $1,847/mo*") not behind a CTA
- Add "Photos Coming Soon" to a queue page with email-when-ready capture
- Mobile: surface payment chip on truck cards (above the fold scroll)
- Reduce static-page font load — drop JetBrains Mono on truck-*.html
- Add inline trade-in field to inquiry form ("Do you have a truck to trade in?")
Top 25 — SEO improvements (ranked by traffic potential)¶
- Migrate SPA hash routes to server-rendered or pre-rendered URLs (
/inventory/,/financing/,/service/, etc.) — single largest unlock - Auto-generate
sitemap.xmlfrom inventory database, include everytruck-*.html - Category landing pages with H1 + 400-600 word expert content per category
- State-specific landing pages for all 7 areaServed states
- Use-case landing pages (mining, construction, dust control, municipal, landscaping)
- Buying guides: "2K vs 4K Gallon Water Truck," "Freightliner vs International vs Kenworth vs Peterbilt Water Truck Chassis"
- Per-truck Vehicle schema completeness —
mileageFromOdometer,vehicleEngine,vehicleTransmission, image array,vehicleConfiguration - FAQPage schema on every truck detail page (3-5 truck-specific FAQs)
- BreadcrumbList JSON-LD on every page (already done on static; ensure on dynamic SPA routes when migrated)
- Add
og:imagemeta on every page — currently missing on homepage - Internal linking: "Customers also viewed" on every detail page
- Internal linking: cross-link category pages to relevant buying guides
- Image alt text audit — many truck images are auto-generated alt; hand-craft for top 10 trucks
- Compress and WebP-format all truck photos (gallery images can be ~150KB → ~50KB)
- Add a
/cross-reference/style page for chassis-make → water truck (Freightliner → all our Freightliners, etc.) - Spanish-language hreflang tags + full translation of homepage + top routes
- Google Business Profile sync — claim if not done, push hours / address / category / 25+ photos
- Local citation cleanup — verify NAP consistency across Yelp, BBB, Dex, MerchantCircle, Foursquare
- Press / media page for any industry coverage SEI has earned
- Service & Repair schema (
@type: Service) on/service/and/service/in-shop/and/service/field/ - HowTo schema on buying guides
- Add
ReviewandaggregateRatingschema once review collection is in place - Sitemap priority adjustment — current 1.0 / 0.9 is fine but add per-truck URLs at 0.7-0.8
- Add
lastmodto every sitemap entry, regenerated daily - Quarterly content calendar — 2 long-form pieces / month minimum
Implementation notes for the engineering team¶
Files to add / touch (priority order)¶
scripts/generate-sitemap.py— new script, readstruckstable from Supabase, emits sitemap.xml with one<url>per stock number + all category routes + all static pages. Schedule daily via cron / GitHub Action.scripts/prerender-routes.py— new script, walks SPA routes and writes static HTML for each. Cloudflare Pages can serve the static, fall back to SPA hydration./vendor/payment-estimator.js— drop-in widget, used on truck cards and detail pages. Pure JS, no dependencies./financing/index.html(new route) —/#/financingin current SPA, then migrate to/financing/static. Includes pre-qual form (form-only first sprint; lender API integration second sprint)./trade-in/index.html(new route) — 6-field form posting to sales inbox./build-your-truck/index.html(new route) — configurator (long lead; week-6 of 90-day plan)./buying-guides/— new directory + first 2 articles./water-trucks-<state>/— 7 state landing pages./water-trucks-for-<use-case>/— 4 use-case landing pages./sample-dot-inspection.pdf— generate one redacted sample, link from detail pages.- Update static
truck-*.htmlfiles — fix the stale Cactus Truck Parts footer link tosuperiorwatertruckparts.com. (9 files.) - Merge or align
superior.csswith the SPA inline CSS — eliminate the dual design system over time. (Major refactor; 90-day track.)
Drop-in CSS — fleet-logo strip¶
.fleet-logo-strip {
background: white;
padding: 32px 20px;
border-bottom: 1px solid var(--border);
}
.fleet-logo-strip__label {
text-align: center;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 2px;
color: var(--text-muted);
margin-bottom: 20px;
}
.fleet-logo-strip__grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 32px;
align-items: center;
justify-items: center;
}
.fleet-logo-strip__logo {
max-height: 48px;
max-width: 160px;
opacity: 0.7;
filter: grayscale(1);
transition: opacity 0.2s, filter 0.2s;
}
.fleet-logo-strip__logo:hover {
opacity: 1;
filter: grayscale(0);
}
@media (max-width: 720px) {
.fleet-logo-strip__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
Drop-in JS — sitemap generator (Python)¶
# scripts/generate-sitemap.py
import requests, os, datetime
from xml.sax.saxutils import escape
SUPABASE_URL = os.environ['SUPABASE_URL']
SUPABASE_KEY = os.environ['SUPABASE_KEY']
BASE = "https://www.superiorequipmentinc.com"
static_pages = [
("/", "1.0", "daily"),
("/inventory/", "0.95", "daily"),
("/inventory/2000-gallon-water-trucks/", "0.9", "daily"),
("/inventory/4000-gallon-water-trucks/", "0.9", "daily"),
("/inventory/dump-trucks-single-axle/", "0.85", "daily"),
("/inventory/dump-trucks-tandem-axle/", "0.85", "daily"),
("/financing/", "0.85", "weekly"),
("/service/", "0.8", "weekly"),
("/service/in-shop/", "0.7", "weekly"),
("/service/field/", "0.7", "weekly"),
("/warranty/", "0.7", "monthly"),
("/contact/", "0.7", "monthly"),
("/history/", "0.6", "monthly"),
("/shop/", "0.85", "daily"),
]
# Pull trucks
r = requests.get(
f"{SUPABASE_URL}/trucks?select=stock_number,updated_at",
headers={"apikey": SUPABASE_KEY, "Authorization": f"Bearer {SUPABASE_KEY}"}
)
trucks = r.json()
today = datetime.date.today().isoformat()
out = ['<?xml version="1.0" encoding="UTF-8"?>',
'<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">']
for path, prio, freq in static_pages:
out.append(f' <url><loc>{BASE}{path}</loc><lastmod>{today}</lastmod><changefreq>{freq}</changefreq><priority>{prio}</priority></url>')
for t in trucks:
stock = escape(t['stock_number'])
lm = (t.get('updated_at') or today)[:10]
out.append(f' <url><loc>{BASE}/truck-{stock}.html</loc><lastmod>{lm}</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url>')
out.append('</urlset>')
open('sitemap.xml', 'w', encoding='utf-8').write('\n'.join(out))
Final 10-item ship-this-month shortlist¶
If SEI can only do 10 things in the next 30 days, do these in this order:
- Auto-regenerate
sitemap.xmlwith every statictruck-*.htmland every category/state/use-case route. (1 day.) - Monthly-payment estimator on every truck card and every detail page. (2 days.)
- "Get Pre-Qualified" as a hero CTA + a
/financing/page with a 5-field form posting to sales. (3 days.) - Real photos on the top 10 highest-value trucks — coordinated yard photoshoot, replace gradient placeholders. (1 wk elapsed.)
- Fleet-customer logo strip below the hero with 5 real logos (with permission). (Outreach + design = 1 wk.)
- Sample DOT inspection PDF linked from every truck detail page. (Half day.)
- Trade-in valuation form at
/trade-in/— 6 fields → sales inbox. (3 days.) - Per-truck Vehicle schema completion — miles + engine + trans + image array on top 10. (1 day.)
- Category landing pages with H1 + 500-word body for the 4 main inventory categories. (3 days.)
- Fix stale "Cactus Truck Parts" cross-link in static truck-*.html footers → "Superior Water Truck Parts." (15 min.)
Total dev: ~16 days. Expected revenue lift in first 90 days: $180K–$320K.
— WDM (acting CRO + SEO + UX + brand strategist)