Skip to content

Superior Equipment — Strategic Growth Plan

Updated
2026-05-30

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

  1. Executive scorecard
  2. Phase 1 — Page-by-page competitive analysis
  3. Phase 2 — CRO audit
  4. Phase 3 — Technical SEO audit
  5. Phase 4 — Revenue optimization
  6. Phase 5 — Ideal truck inventory detail page
  7. Phase 6 — Homepage redesign
  8. Phase 7 — Mobile optimization
  9. Phase 8 — Action plan (1-week / 30-day / 90-day)
  10. Top 25 — Revenue opportunities
  11. Top 25 — Conversion improvements
  12. Top 25 — SEO improvements
  13. Implementation notes for the engineering team
  14. 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.

  • 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.

  • 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 /#/inventory there'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.jpg05.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 YesCall 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)

  1. 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.
  2. Add every truck-*.html to sitemap.xml with auto-regeneration on inventory change.
  3. 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).
  4. 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.
  5. State-specific pages/water-trucks-arizona/, /water-trucks-nevada/, /water-trucks-texas/, etc. Mirror the areaServed JSON-LD into actual URLs.
  6. Per-truck Vehicle schema completion — add mileageFromOdometer, vehicleEngine, image array. Major boost for Google Vehicle search results.
  7. 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

[ 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)

  1. Add truck-*.html files to sitemap.xml with a generator script that reads the trucks table from Supabase and emits one <url> per stock number. (Half day.)
  2. Add a monthly-payment estimator widget to every truck card and every detail page. (2 days; pure JS, no backend.)
  3. Replace placeholder photos on the top 5 highest-value trucks with real Phoenix-yard photos. (Photography ~4 hrs + upload + thumbnail set.)
  4. Fix stale cross-brand link in static truck-*.html footers: "Cactus Truck Parts" → "Superior Water Truck Parts" (superiorwatertruckparts.com). (15 min, search-replace across 9 files.)
  5. Add Vehicle schema completenessmileageFromOdometer, vehicleEngine, vehicleTransmission, image array for the top 10 trucks. (1 day.)
  6. Add Financing as a top-level nav item (between Truck Inventory and Water Tanks & Kits). New /#/financing page with bullet list + estimator + pre-qual form. (1 day for the route; pre-qual form on its own track.)
  7. 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.)
  8. Update Open Graph image — currently no og:image defined; default crawler grabs nothing. Generate a branded 1200×630 with logo + tagline. (1 hr.)
  9. 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.)
  10. Sample DOT inspection PDF — generate one redacted sample inspection sheet, link from every truck detail page. (Half day.)

30-day plan

  1. 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.)
  2. Add price + year + miles + axle filters to the inventory page. The current Make + Type + Sort is too thin. (3 days.)
  3. Trade-in valuation form/trade-in/ with 6 fields (Y/M/M/miles/condition/contact) → email to sales. (3 days.)
  4. Service-contract upsell on truck detail pages — "Add 12-month PM plan: $X/mo" with a checkbox that flows into the inquiry. (3 days.)
  5. 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.)
  6. 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.)
  7. Buying guide #2: "Freightliner vs International vs Kenworth vs Peterbilt as a Water-Truck Chassis." (3 days.)
  8. Use-case pages: /water-trucks-for-mining/, /water-trucks-for-dust-control/, /water-trucks-for-construction/, /water-trucks-for-municipal/. (1 wk.)
  9. 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.)
  10. Add "Compare trucks" tool (up to 3 trucks side-by-side, specs grid). (4 days.)
  11. Email capture in footer ("Get new-inventory alerts") with a 1-field form → low-effort lead. (1 day.)
  12. Photo-backlog sprint — get real photos on every truck currently showing "Photos Coming Soon." (Coordinated with yard ops, ~2 wks elapsed.)

90-day plan

  1. 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.)
  2. Fleet account portal — login, saved trucks, account-level financing terms, order history, service history. (8 wks.)
  3. Build-to-order configurator — chassis × tank × pump × cab controls × paint → priced quote in 24 hr. Lives at /build-your-truck/. (6 wks.)
  4. YouTube walkaround series — 1-minute video per truck. Embed on detail pages. (Ongoing; 4 videos/wk after setup.)
  5. Real customer testimonial program — outreach to past customers, video or signed-quote, with company + use case. (Ongoing.)
  6. CRM integration — every inquiry form → CRM with truck-of-interest field, source URL, UTM tags. (2 wks.)
  7. 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.)
  8. Trade-in core program — used water truck in, $X off new. Fills used-inventory pipeline. (Process design + page = 3 wks.)
  9. 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.)
  10. Spanish-language toggle — already scaffolded via data-i18n attributes; 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)

  1. Financing pre-qualification form (+$300K/yr) — biggest single CRO lever for this category
  2. Build-to-order configurator (+$200K/yr by month 6) — SEI's structural advantage
  3. Fleet account portal (+$250K/yr by month 12)
  4. Monthly-payment estimator on cards + detail (+$180K/yr)
  5. Service-contract upsell on truck purchase (+$120K/yr)
  6. Trade-in valuation form (+$90K/yr)
  7. Extended warranty upsell (+$60K/yr)
  8. Accessory upsells on detail pages (+$50K/yr)
  9. Save / share / favorite trucks (+$40K/yr)
  10. Delivery quote calculator (+$30K/yr)
  11. Email capture + new-inventory alerts (+$25K/yr)
  12. Photo-completion sprint on stale "Photos Coming Soon" trucks (+$80K/yr — direct conversion impact)
  13. Real fleet-customer logo strip (+$20K/yr — trust signal)
  14. State-specific landing pages for Google search intent (+$45K/yr from non-AZ states)
  15. Use-case landing pages (mining, dust control, construction, municipal) (+$40K/yr)
  16. Compare-up-to-3-trucks tool (+$25K/yr)
  17. Buying guides as top-of-funnel content (+$30K/yr)
  18. YouTube walkaround videos embedded on detail pages (+$35K/yr)
  19. Trade-in core program (used truck in → resale pipeline) (+$60K/yr from refurb resale)
  20. Spanish-language site (+$40K/yr — AZ/NV/TX Spanish-first market)
  21. Tanks & Kits page properly built (+$30K/yr — turns dead nav item into revenue)
  22. Customer testimonial flywheel + video reviews (+$25K/yr)
  23. Google Ads campaign structure (state + category) (+$120K/yr at reasonable ROAS)
  24. Quote-builder mini-form for off-hours buyers (+$45K/yr)
  25. 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)

  1. Add monthly-payment estimator to every truck card
  2. Add "Get Pre-Qualified" CTA in hero (third button)
  3. Replace gradient placeholders with real truck photos
  4. Add VIN + miles + engine + trans visible on truck cards (currently only year/make/body)
  5. Add price + year + miles + axle filters to inventory page
  6. Add Financing as a top-level nav item
  7. Add sample DOT inspection PDF link on every truck detail page
  8. Real fleet-customer logo strip below the hero
  9. Add stock count / scarcity badge ("1 of 2 available") to cards where true
  10. Build the History page out of placeholder state
  11. Add real customer testimonials (when collected — empty beats fake)
  12. Compare-trucks tool (up to 3 side-by-side)
  13. Save / favorite trucks
  14. Email-this-truck-to-a-partner share button
  15. Sticky add-to-quote bar on detail page scroll
  16. Add "Delivery to your zip" estimator on detail page
  17. Reduce hero copy density to 2 sentences max (current is 3)
  18. Pre-qualification CTA on sticky mobile bar (third button)
  19. Add inquiry-form auto-response with truck details + next steps
  20. Service-plan-add-on toggle on inquiry form (checkbox to "Add 12-mo PM plan to my quote")
  21. Show financing terms inline on detail page ("60 mo @ 8.5% = $1,847/mo*") not behind a CTA
  22. Add "Photos Coming Soon" to a queue page with email-when-ready capture
  23. Mobile: surface payment chip on truck cards (above the fold scroll)
  24. Reduce static-page font load — drop JetBrains Mono on truck-*.html
  25. Add inline trade-in field to inquiry form ("Do you have a truck to trade in?")

Top 25 — SEO improvements (ranked by traffic potential)

  1. Migrate SPA hash routes to server-rendered or pre-rendered URLs (/inventory/, /financing/, /service/, etc.) — single largest unlock
  2. Auto-generate sitemap.xml from inventory database, include every truck-*.html
  3. Category landing pages with H1 + 400-600 word expert content per category
  4. State-specific landing pages for all 7 areaServed states
  5. Use-case landing pages (mining, construction, dust control, municipal, landscaping)
  6. Buying guides: "2K vs 4K Gallon Water Truck," "Freightliner vs International vs Kenworth vs Peterbilt Water Truck Chassis"
  7. Per-truck Vehicle schema completeness — mileageFromOdometer, vehicleEngine, vehicleTransmission, image array, vehicleConfiguration
  8. FAQPage schema on every truck detail page (3-5 truck-specific FAQs)
  9. BreadcrumbList JSON-LD on every page (already done on static; ensure on dynamic SPA routes when migrated)
  10. Add og:image meta on every page — currently missing on homepage
  11. Internal linking: "Customers also viewed" on every detail page
  12. Internal linking: cross-link category pages to relevant buying guides
  13. Image alt text audit — many truck images are auto-generated alt; hand-craft for top 10 trucks
  14. Compress and WebP-format all truck photos (gallery images can be ~150KB → ~50KB)
  15. Add a /cross-reference/ style page for chassis-make → water truck (Freightliner → all our Freightliners, etc.)
  16. Spanish-language hreflang tags + full translation of homepage + top routes
  17. Google Business Profile sync — claim if not done, push hours / address / category / 25+ photos
  18. Local citation cleanup — verify NAP consistency across Yelp, BBB, Dex, MerchantCircle, Foursquare
  19. Press / media page for any industry coverage SEI has earned
  20. Service & Repair schema (@type: Service) on /service/ and /service/in-shop/ and /service/field/
  21. HowTo schema on buying guides
  22. Add Review and aggregateRating schema once review collection is in place
  23. Sitemap priority adjustment — current 1.0 / 0.9 is fine but add per-truck URLs at 0.7-0.8
  24. Add lastmod to every sitemap entry, regenerated daily
  25. Quarterly content calendar — 2 long-form pieces / month minimum

Implementation notes for the engineering team

Files to add / touch (priority order)

  1. scripts/generate-sitemap.py — new script, reads trucks table from Supabase, emits sitemap.xml with one <url> per stock number + all category routes + all static pages. Schedule daily via cron / GitHub Action.
  2. 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.
  3. /vendor/payment-estimator.js — drop-in widget, used on truck cards and detail pages. Pure JS, no dependencies.
  4. /financing/index.html (new route)/#/financing in current SPA, then migrate to /financing/ static. Includes pre-qual form (form-only first sprint; lender API integration second sprint).
  5. /trade-in/index.html (new route) — 6-field form posting to sales inbox.
  6. /build-your-truck/index.html (new route) — configurator (long lead; week-6 of 90-day plan).
  7. /buying-guides/ — new directory + first 2 articles.
  8. /water-trucks-<state>/ — 7 state landing pages.
  9. /water-trucks-for-<use-case>/ — 4 use-case landing pages.
  10. /sample-dot-inspection.pdf — generate one redacted sample, link from detail pages.
  11. Update static truck-*.html files — fix the stale Cactus Truck Parts footer link to superiorwatertruckparts.com. (9 files.)
  12. Merge or align superior.css with 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:

  1. Auto-regenerate sitemap.xml with every static truck-*.html and every category/state/use-case route. (1 day.)
  2. Monthly-payment estimator on every truck card and every detail page. (2 days.)
  3. "Get Pre-Qualified" as a hero CTA + a /financing/ page with a 5-field form posting to sales. (3 days.)
  4. Real photos on the top 10 highest-value trucks — coordinated yard photoshoot, replace gradient placeholders. (1 wk elapsed.)
  5. Fleet-customer logo strip below the hero with 5 real logos (with permission). (Outreach + design = 1 wk.)
  6. Sample DOT inspection PDF linked from every truck detail page. (Half day.)
  7. Trade-in valuation form at /trade-in/ — 6 fields → sales inbox. (3 days.)
  8. Per-truck Vehicle schema completion — miles + engine + trans + image array on top 10. (1 day.)
  9. Category landing pages with H1 + 500-word body for the 4 main inventory categories. (3 days.)
  10. 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)