Blog/SEO
◆ SEO

Schema.org for dealer websites.

The schema most dealer websites are missing is worth 12-18% more organic traffic. Copy-paste JSON-LD for a real boat listing, plus why WordPress themes keep ruining it.

MC
Marcus Chen
March 27, 2026 · 7 min read

Every week I audit a dealer website from the 240 we've surveyed. I run a single check before I look at anything else: view-source, search for application/ld+json, count the Vehicle or Product schemas per listing page. Nine times out of ten the count is zero.

This is the single highest-ROI 90 minutes of engineering work most dealer websites will ever do. Not a rebuild. Not a redesign. A script tag.

Why most dealers are missing this

The vast majority of dealer sites run on WordPress themes originally built for car dealerships. Those themes emit Vehicle schema — and Vehicle schema in Schema.org is specifically AutomobileVehicle-shaped: VIN, fuelType, vehicleInteriorType, numberOfAxles. None of that lines up with a boat's HIN, length overall, beam, draft, engine count, or propulsion type.

Google's crawler is strict: give it a Vehicle schema with missing required fields and it simply won't generate rich results. Worse, it'll downrank because it's trying to validate against the wrong ontology. You don't just lose the rich result — you lose relevance signal.

The schema that works

Schema.org doesn't have a native Boat type. The right move is a Product schema with marine-specific properties in additionalProperty fields. Here's exactly what BoaterOS emits for every listing:

listing.html · <head>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "2024 Grady-White Freedom 307",
  "productID": "HIN:NTL48219L324",
  "brand": { "@type": "Brand", "name": "Grady-White" },
  "model": "Freedom 307",
  "category": "Dual Console",
  "image": [
    "https://cdn.fishtale.com/hulls/YDV48219-01.jpg",
    "https://cdn.fishtale.com/hulls/YDV48219-02.jpg"
  ],
  "description": "2024 Grady-White Freedom 307, 31' 2\" dual console ...",
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "Year",   "value": "2024" },
    { "@type": "PropertyValue", "name": "Length", "value": "31.2", "unitCode": "FOT" },
    { "@type": "PropertyValue", "name": "Beam",   "value": "10.5", "unitCode": "FOT" },
    { "@type": "PropertyValue", "name": "Draft",  "value": "1.75", "unitCode": "FOT" },
    { "@type": "PropertyValue", "name": "Engine", "value": "Twin Yamaha F300" },
    { "@type": "PropertyValue", "name": "Hours",  "value": "0" },
    { "@type": "PropertyValue", "name": "Fuel",   "value": "Gasoline" },
    { "@type": "PropertyValue", "name": "HIN",    "value": "NTL48219L324" }
  ],
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "324900.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "AutoDealer",
      "name": "Fish Tale Boats",
      "url": "https://www.fishtaleboats.com",
      "telephone": "+1-239-555-0182",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "14341 Port Comfort Rd",
        "addressLocality": "Fort Myers",
        "addressRegion": "FL",
        "postalCode": "33908",
        "addressCountry": "US"
      }
    }
  }
}
</script>

Three things to notice:

"Adding schema is the rare SEO change where the payback is measurable in weeks, not quarters. It's also the one most dealers skip because it's invisible on-site."

The before/after: Coastal Yachts

Coastal Yachts in Annapolis came onto BoaterOS in November 2025. Their old site was WordPress running a well-reviewed auto-theme. We migrated them to our Next.js stack and emitted the Product schema above on every listing. 420 active hulls, 420 schema blocks.

90 days later:

No new content was written. No backlinks bought. One script tag per listing.

Edge cases worth knowing

Validate before you ship

Two tools, both free: Google's Rich Results Test tells you if Google will generate a rich result. Schema.org's validator tells you if your JSON-LD is technically correct. Both give different answers sometimes. Pass both. Ship.


Marcus Chen is Head of Product at BoaterOS. Before BoaterOS he ran the marketplace SEO team at Etsy.

Keep reading
◆ Next step

Run BoaterOS at your dealership.

30-min demo on your inventory. See what the AI, the CRM, and the website look like running your lot next Monday.

Book a demo Read Fish Tale's case study