XooCode(){

Vehicle

Vehicle is a Product subtype for cars, trucks, vans, motorcycles, buses, and any device designed to transport people or cargo. With 39 properties of its own, it is one of the most property-rich types in schema.org. The properties cover everything an automotive listing needs: VIN, mileage, fuel type, engine specs, seating capacity, transmission, and ownership history. Google reads Vehicle markup for vehicle listing rich results.

The type hierarchy is Thing → Product → Vehicle. All Product properties apply (offers, brand, manufacturer, aggregateRating, review), plus the 39 Vehicle-specific ones. The most important for search are vehicleIdentificationNumber (VIN), mileageFromOdometer, fuelType, vehicleTransmission, and driveWheelConfiguration.

Full example of schema.org/Vehicle json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Vehicle
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@id": "https://xoocode.com/shop/vehicles/delivery-van-2021#vehicle",
  "@type": "Vehicle",
  "name": "2021 Ford Transit Custom - Xoo Code Delivery Van",
  "url": "https://xoocode.com/shop/vehicles/delivery-van-2021",
  "description": "Well-maintained 2021 Ford Transit Custom, used for local deliveries. 48,200 km, diesel, manual transmission. Company branding will be removed before sale.",
  "image": [
    "https://xoocode.com/shop/vehicles/delivery-van-2021/exterior-1x1.jpg",
    "https://xoocode.com/shop/vehicles/delivery-van-2021/exterior-4x3.jpg",
    "https://xoocode.com/shop/vehicles/delivery-van-2021/exterior-16x9.jpg"
  ],
  "vehicleIdentificationNumber": "WF0XXXGCDX1A12345",
  "brand": {
    "@type": "Brand",
    "name": "Ford"
  },
  "model": "Transit Custom",
  "vehicleModelDate": "2021",
  "productionDate": "2020-11-15",
  "dateVehicleFirstRegistered": "2021-01-10",
  "mileageFromOdometer": {
    "@type": "QuantitativeValue",
    "value": "48200",
    "unitCode": "KMT"
  },
  "fuelType": "Diesel",
  "vehicleTransmission": "Manual",
  "driveWheelConfiguration": "https://schema.org/FrontWheelDriveConfiguration",
  "vehicleEngine": {
    "@type": "EngineSpecification",
    "engineDisplacement": {
      "@type": "QuantitativeValue",
      "value": "2.0",
      "unitCode": "LTR"
    },
    "enginePower": {
      "@type": "QuantitativeValue",
      "value": "130",
      "unitCode": "BHP"
    },
    "fuelType": "Diesel"
  },
  "numberOfDoors": 4,
  "seatingCapacity": 3,
  "cargoVolume": {
    "@type": "QuantitativeValue",
    "value": "6.0",
    "unitCode": "MTQ"
  },
  "vehicleInteriorColor": "Dark Grey",
  "color": "White",
  "numberOfPreviousOwners": 1,
  "knownVehicleDamages": "Minor scratches on rear bumper from loading dock use",
  "steeringPosition": "https://schema.org/LeftHandDriving",
  "offers": {
    "@type": "Offer",
    "price": "189000",
    "priceCurrency": "DKK",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/UsedCondition",
    "url": "https://xoocode.com/shop/vehicles/delivery-van-2021",
    "seller": {
      "@id": "https://xoocode.com/shop/dunmore-1290"
    }
  }
}
</script>

vehicleIdentificationNumber

vehicleIdentificationNumber is the 17-character VIN. Google uses this to match the listing to a specific vehicle and detect duplicate listings across sites. For used car dealers, this is the single most important property after name and price. Include it on every vehicle listing page.

mileageFromOdometer

mileageFromOdometer takes a QuantitativeValue with a value and unitCode. Use "KMT" for kilometers or "SMI" for miles. Do not put the number as a plain string. Google displays mileage in vehicle listing results, and QuantitativeValue lets it convert between units for international users.

driveWheelConfiguration

driveWheelConfiguration takes a DriveWheelConfigurationValue enum: AllWheelDriveConfiguration, FourWheelDriveConfiguration, FrontWheelDriveConfiguration, or RearWheelDriveConfiguration. Use the full schema.org URL. Plain text like "AWD" or "4WD" is not a recognized enum value.

vehicleEngine

vehicleEngine takes an EngineSpecification object with properties like engineDisplacement, enginePower, engineType, and fuelType. This is where you put the detailed engine specs. For electric vehicles, set fuelType to "Electricity" and omit displacement.

Vehicle vs Car

Vehicle covers all vehicle types. Car is a subtype for automobiles specifically, adding acrissCode (rental car classification) and roofLoad. For a used car listing, Car is more specific and should be preferred. For trucks, vans, boats, or mixed inventory, use Vehicle.

Minimal valid version

The smallest markup that still produces a valid Vehicle entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/Vehicle (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Vehicle",
  "name": "2021 Ford Transit Custom",
  "vehicleIdentificationNumber": "WF0XXXGCDX1A12345",
  "mileageFromOdometer": { "@type": "QuantitativeValue", "value": "48200", "unitCode": "KMT" },
  "fuelType": "Diesel",
  "offers": {
    "@type": "Offer",
    "price": "189000",
    "priceCurrency": "DKK",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/UsedCondition"
  },
  "image": "https://xoocode.com/shop/vehicles/delivery-van-2021/exterior-16x9.jpg",
  "description": "2021 Ford Transit Custom, 48,200 km, diesel, manual."
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common Vehicle mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    mileageFromOdometer as a plain number

    Wrong
    "mileageFromOdometer": "48200"
    Right
    "mileageFromOdometer": { "@type": "QuantitativeValue", "value": "48200", "unitCode": "KMT" }

    mileageFromOdometer expects a QuantitativeValue with value and unitCode. A plain number has no unit, so Google does not know if it is kilometers or miles. Use KMT for kilometers, SMI for miles.

  2. 02

    driveWheelConfiguration as an abbreviation

    Wrong
    "driveWheelConfiguration": "AWD"
    Right
    "driveWheelConfiguration": "https://schema.org/AllWheelDriveConfiguration"

    driveWheelConfiguration takes a DriveWheelConfigurationValue enum as a full schema.org URL. The four values are AllWheelDriveConfiguration, FourWheelDriveConfiguration, FrontWheelDriveConfiguration, and RearWheelDriveConfiguration.

  3. 03

    Missing VIN on a used car listing

    Wrong
    Vehicle listing with name, price, and mileage but no vehicleIdentificationNumber
    Right
    "vehicleIdentificationNumber": "WF0XXXGCDX1A12345"

    vehicleIdentificationNumber is the 17-character VIN. Google uses it to uniquely identify the vehicle and detect duplicate listings across dealership sites. For used vehicles, omitting the VIN means Google cannot match your listing to other data about the same car.

  4. 04

    Using Vehicle for a car listing instead of Car

    Wrong
    "@type": "Vehicle" for a sedan or SUV
    Right
    "@type": "Car" (inherits all 39 Vehicle properties plus acrissCode and roofLoad)

    Car is a more specific subtype of Vehicle. For automobiles, use Car. Reserve Vehicle for non-car vehicles (vans, trucks, boats) or mixed-inventory pages where the vehicle type varies.

About the example data

The Xoo Code delivery van, used to ship XooTee orders across Alberta. Listed for sale on the Xoo Code Shop Dunmore website as the company upgrades its fleet.

Comments

Loading comments...

Leave a comment