OTA commission saved for our clients since 2023 Commission saved $350,000+

Insights  /  Technical SEO

Schema markup for tour operators: TouristTrip, Product & FAQ

Structured data turns a plain blue link into a rich result — and makes a page quotable by AI engines. Here is what to mark up, and what breaks it.

The short answer

Schema markup is structured data that tells Google and AI engines exactly what a page is — a trip, a bookable tour, a set of answers. For tour operators, four types matter: TouristTrip for itineraries and sailings, Product with Offer and AggregateRating for bookable tours with price and reviews, FAQPage, and BreadcrumbList. Done right it earns rich results and citations. Done wrong it gets you a manual penalty.

Two tour pages can carry the exact same words and rank in the same spot, yet one pulls twice the clicks. The difference is what the search result looks like: a plain blue link and a grey line of text, versus a result with a star rating, a price, a breadcrumb trail and an FAQ dropdown. That richer result is not luck. It is structured data telling the engine precisely what the page is.

What structured data actually does

Schema markup is a small block of code — almost always JSON-LD — that labels your content in a vocabulary search engines understand. It does not change what the visitor sees on the page. It changes what the machine understands: this is a trip, this is its price, these are real reviews, this is the answer to that question.

Schema earns eligibility, not a guarantee. Valid markup is the price of entry, never a promise.

That understanding buys two things. First, eligibility for rich results — the stars, prices and breadcrumbs that make a listing bigger and more clickable. Second, and increasingly, the ability to be quoted. When an AI engine answers “best 4-day Nile cruise Luxor to Aswan,” clean structured data is part of how it decides what your page is and whether it can cite you with confidence.

TouristTrip: itineraries & sailings

Use TouristTrip for the journey itself — a Nile sailing, a multi-day Cairo-and-Luxor itinerary, a desert crossing. It is the type that describes a route, its stops, its duration and its departure. Populate name, description, itinerary (as an ordered list of places), touristType and the departure details. This is what lets an engine understand that your page is a specific journey, not a generic article about Egypt.

TouristTrip on its own does not usually produce visible stars or price. Its job is comprehension — giving the engine an unambiguous model of the trip — which is exactly what AI answers lean on. Pair it with the commercial markup below on any page a traveller can actually book.

Product, Offer & reviews

A bookable tour is, to Google, a product. Mark it up as Product with a nested Offer carrying price, priceCurrency and availability, and an AggregateRating built from genuine reviews. This is the combination that unlocks the star rating and price you see on the best-performing tour listings. Here is a compact, valid-looking shape for one departure:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "4-Day Nile Cruise: Luxor to Aswan",
  "image": "https://example.com/nile-cruise.jpg",
  "description": "Guided 4-day Dahabiya sailing with an Egyptologist.",
  "brand": { "@type": "Brand", "name": "Your Operator" },
  "offers": {
    "@type": "Offer",
    "price": "640.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/nile-cruise-4-day"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "212"
  }
}
</script>

Every value in there must match what is on the page and be true. The price must be the price a visitor sees; the rating must come from reviews that actually exist and are shown. Miss a required field — a price with no currency, an offer with no availability — and Google simply drops the rich result without telling you.

FAQPage & BreadcrumbList

FAQPage marks up a genuine set of question-and-answer pairs on the page — “Is a Nile cruise worth it in August?”, “What is included?” It can win an expandable dropdown under your listing and, just as usefully, feeds the exact answers AI engines like to quote. The rule is strict: the questions and answers must be visibly present on the page for every visitor, not hidden and served only to the crawler.

BreadcrumbList marks up your navigation path — Home › Nile Cruises › 4-Day Luxor to Aswan — and replaces the raw URL in the result with a clean, clickable trail. It is small, low-risk, and one of the easiest wins to template across an entire destination architecture.

The mistakes that get you penalised

Structured data is one of the few SEO areas with a real downside. Get it wrong and you do not just miss the rich result — you can earn a manual action.

  • Marking up invisible content. Schema must describe what is on the page. FAQs or reviews that exist only in the code, never shown to the user, are a spam signal.
  • Fake or borrowed reviews. AggregateRating stitched from invented numbers, or ratings for the whole company slapped onto a single tour, is the fastest route to a penalty.
  • Missing required fields. An Offer with no price, a Product with no name — incomplete markup is silently ignored, so you think it is working when it is not.
  • Set-and-forget. Prices change, tours sell out, reviews accumulate. Stale schema that contradicts the live page is worse than none.

The figure below shows the whole payoff in one picture — the same page, same rank, before and after clean markup.

Same page, same rank — before & after schemaWITHOUT SCHEMAexample.com › nile-cruise-4-day-luxor-aswan4-Day Nile Cruise: Luxor to Aswan | Your OperatorWITH SCHEMAHome › Nile Cruises › 4-Day Luxor to Aswan4-Day Nile Cruise: Luxor to Aswan | Your Operator4.8 (212) · from $640 · In stockIs it worth it in August?   What’s included?   ▾
Illustrative. Rank did not change — the listing did. Stars, price, breadcrumb and an FAQ line are all schema-eligible enhancements Google may choose to show.

Structured data is not where a ranking is won — that is architecture and authority. But once you rank, it decides how much of the click you capture, and increasingly whether an AI answer can quote you at all. For a tour operator it is one of the highest-return technical jobs on the site, provided every value you mark up is visible, complete and true.

Want this checked on your own site?

Our free audit covers search visibility, AI-answer presence, booking flow and what your OTA channel is costing you. Written, and yours whether you hire us or not.

Questions

Frequently asked

Does adding schema guarantee a rich result?

No. Schema earns eligibility, not a guarantee. Google decides per query whether to show stars, price or an FAQ dropdown, and it changes what it shows over time. Valid markup is the price of entry — it is never a promise.

Which schema type should a bookable tour use?

Product with a nested Offer (price, currency, availability) and AggregateRating built from real reviews. Use TouristTrip for the itinerary or sailing itself — the route, the stops, the departure. Many tour pages legitimately carry both.

Can I mark up reviews I collected offline or on another platform?

Only if they are genuine, about the specific item, and visible on the same page. Inventing ratings, or pulling in stars that never appear to the user, is exactly what triggers a manual action. AggregateRating must reflect reviews the visitor can actually see.

Do I need a plugin or can I hand-code it?

Either works. JSON-LD in the page head is Google’s preferred format and the easiest to template per departure. Plugins are fine if they output valid JSON-LD and let you fill required fields — the type of tool matters far less than whether the required properties are complete and accurate.

Keep reading

Related insights.

Travel SEO Travel SEO for Egyptian tour operators: the 2026 playbook Ranking in Egypt inbound travel is an architecture problem before it is a content problem. Here is the order the work actually pays off in. 11 min Travel SEO How to rank a Nile cruise on Google: destination + duration architecture Nile cruises fail to rank because routes, durations and cabins live inside a booking form, not on pages. Here is the architecture that fixes it. 9 min Performance Core Web Vitals for travel WordPress sites: the speed that wins bookings A slow travel site loses the booking before the page finishes loading. Here is what Core Web Vitals actually measure, and the fixes that live in the code, not a caching plugin. 8 min Direct booking Direct booking vs OTA: what each channel really costs an Egyptian operator The honest comparison, including the part most agencies leave out — direct bookings aren't free either. 9 min E-E-A-T E-E-A-T for Egyptian travel sites: named authors, licences & the trust that ranks Travel is money-and-safety adjacent, so Google and AI engines weigh who says it, not just what is said. Here is how to prove trust where both look. 8 min Paid & performance Brand defence: stop resellers outranking you on your own name Travellers searching your company by name are the cheapest bookings you will ever recover. Here is how to stop a reseller's ad from taking them first. 7 min GEO / AEO Why your travel site is invisible to AI assistants (and how to fix it) Travellers now ask ChatGPT and Perplexity who to book with, and get three names back. If yours isn't one of them, the problem is usually absence — not a low ranking. 9 min Retention Turn one booking into three: retention & email for Egyptian tour operators An OTA booking gives you a traveller once. A direct booking gives you their email — and every booking after it. Most operators win the first and let the rest expire. 8 min Direct booking OTA commission rates in 2026: what the platforms actually charge operators Rate cards, visibility programmes, and the difference between the number you were quoted and the number you pay. 7 min Technical SEO hreflang for Egyptian DMCs: stop your languages cannibalising each other The single most common technical mistake on Egyptian travel sites is source-market language versions that fight each other. Here is how hreflang fixes it — and how to do it without the traps. 9 min AI search How to get your travel brand cited by ChatGPT and Perplexity Travellers increasingly ask an assistant who to book with. Here is how to be one of the two or three names it returns. 10 min

Start here

Find out where you actually stand.

Send us your site and you'll get a written audit — search visibility, AI-answer presence, booking flow, and the direct-booking revenue you're leaving with the platforms.

50+ Travel brands built or ranked
13 yrs Egyptian travel search only
$350,000+ OTA commission saved for clients since 2023
20K+ Tour pages built and indexed