Skip to content

Schema markup for pet transporters

Pet transport schema markup, with an example

Pet taxis and transporters use LocalBusiness, with areaServed for the towns you collect from and the airports you drive to, and a catalog that prices local runs, waiting time and long-distance trips separately. Any transporter authorisation goes in hasCredential, under its exact name and number.

The type to use

LocalBusiness

MovingCompany sits in schema.org's home-and-construction family and is meant for house removals, and there's no type for animal transport, so a pet taxi uses the general LocalBusiness type.

LocalBusiness on schema.org

What to include

The properties that matter for pet transporters

Most important first. Fill in what's true for you and leave out the rest; every value must also be on the page.

hasOfferCatalog
Local trips each way, waiting time, a per-mile rate for long distances and airport transfers, as separate offers with their units.
areaServed
The towns you'll collect from and the airports you serve regularly, by name. A one-off run to Inverness doesn't belong here.
hasCredential
A transporter authorisation or registration you hold, with its number, exactly as issued. Leave it out if none applies to you, and keep insurance out of it.
telephone
The number owners ring to book a vet run at short notice.
openingHoursSpecification
The hours you drive, including early starts for morning flights if you do them.
address
Town and postcode district. Pets are collected, so your yard needn't be public.
email
Moves abroad start with an email and a long list of questions; give the address you answer.
sameAs
Your Facebook page and any directory listing where owners have left reviews.

Example

Copy, then make it yours

This is the markup for a made-up business. Replace every value with your own before you use it.

  1. Change every name, address, number and link to your own, and delete lines that don't apply.
  2. Paste it into your site's header code (website builders call it “code injection” or “custom code”), or let ServiceCited add it for you.
  3. Check it with Google's Rich Results Test or the Schema Markup Validator.

LocalBusiness JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Kennet Pet Taxi",
  "description": "Pet taxi and transport from Reading: vet and groomer runs, long-distance trips and transfers to Heathrow and Gatwick. One household's pets per trip.",
  "url": "https://www.example.com/",
  "image": "https://www.example.com/images/pet-taxi-van.jpg",
  "telephone": "+44 1632 960719",
  "email": "bookings@example.com",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Reading",
    "postalCode": "RG30",
    "addressCountry": "GB"
  },
  "areaServed": [
    {
      "@type": "City",
      "name": "Reading"
    },
    {
      "@type": "Place",
      "name": "Wokingham"
    },
    {
      "@type": "Place",
      "name": "Newbury"
    },
    {
      "@type": "Place",
      "name": "Heathrow Airport"
    },
    {
      "@type": "Place",
      "name": "Gatwick Airport"
    }
  ],
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ],
      "opens": "06:00",
      "closes": "20:00"
    }
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Trips",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Local trip within Reading, each way"
        },
        "priceSpecification": {
          "@type": "PriceSpecification",
          "minPrice": 22,
          "priceCurrency": "GBP"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Waiting at the vet or groomer"
        },
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": 9,
          "priceCurrency": "GBP",
          "unitText": "per 30 minutes"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Long-distance trip"
        },
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": 1.5,
          "priceCurrency": "GBP",
          "unitText": "per mile"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Heathrow transfer, each way"
        },
        "price": 95,
        "priceCurrency": "GBP"
      }
    ]
  },
  "hasCredential": {
    "@type": "EducationalOccupationalCredential",
    "name": "Animal transporter authorisation",
    "credentialCategory": "Authorisation",
    "identifier": "TA-0417"
  },
  "sameAs": [
    "https://www.facebook.com/example"
  ]
}
</script>

Watch out

Mistakes pet transporters make with markup

  • Every place you've ever driven to in areaServed

    A list that runs from Penzance to Paris says you serve everywhere, which assistants can't use. Keep areaServed to where you collect from; routes you run often can go in an offer's description.

  • A per-mile rate with no unit

    “1.50” on its own reads as the price of the trip. UnitPriceSpecification with unitText “per mile” says what it is; do the same for waiting time.

  • Relocation you don't actually arrange

    If you drive pets to the cargo terminal but don't book flights or paperwork, a service called “International pet relocation” claims more than you do. Name it for the part you handle.

Also worth adding

  • Service: If moves abroad have their own page, a Service block there can say exactly which parts you handle (the drive, the travel crate, the paperwork) and where you'll collect from.

FAQ

Pet transporters: markup questions

Type to search these questions, or ask anything about getting found on Google and AI.

Do airports go in areaServed?

If you serve them regularly, yes, as a Place with the airport's name. It's how people ask (“pet taxi to Heathrow”), and it sets you apart from drivers who only do local runs.

We do private and shared trips. Is there a property for that?

No. Make them two offers, “private trip” and “shared trip”, each with its price, and explain on the page how a shared trip works and who else might be on board.

We carry cats, rabbits and the odd parrot. How does the markup say so?

In the description and in knowsAbout, listing the animals you'll take. Owners of anything other than a dog want to know that before they ring.

Be the first name owners find.

Run the free check, then press Optimize. Then back to the dogs.