Skip to content
MoroccoTourismGEO

Riads, day trips and transfers: getting recommended by AI in Morocco

"Plan me five days in Marrakech and the Atlas, mid-range budget, a quiet riad in the medina." The answer contains names. Here is what decides whether they are yours.

Published Updated 7 min read 1,248 words This page in Markdown

Moroccan tourism has a peculiar visibility problem: most properties are described at length — on booking platforms, never on their own site. When an assistant assembles an itinerary it draws on what it can read and corroborate; if your own site carries no price, no terms and no usable location, you exist only through the summary an intermediary wrote on your behalf.

What the assistant needs to find, and where it looks

A travel request decomposes into checkable constraints: a city, dates, a budget, an atmosphere, a distance from the airport, a cancellation policy. Each constraint is a filter. A page that answers none of them is not dropped for poor quality: it is dropped because it contains no information to filter on.

Traveller's constraintWhat to publishWhere
"quiet, in the medina"Precise location, landmark, honest noise levelVisible text + description
"mid-range budget"A real range in MAD and EUR, by seasonText + Offer
"flexible cancellation"The exact window, as a standalone sentenceText + terms page
"near the airport"Distance in km and real driving timeText + geo
"do you speak English?"Languages actually spoken on siteavailableLanguage
"travelling with kids"Ages accepted, beds, facilitiesamenityFeature

The most commonly missed item is price. Many accommodation sites show no rate at all, for fear of comparison. The result is mechanical: on any question carrying a budget you cannot be queried, so you are absent. An honest range — "750 to 1,400 MAD per night depending on season, breakfast included" — makes you eligible without committing to a firm rate.

The markup that matters for accommodation

LodgingBusiness — a riad, described for a machine
{
  "@context": "https://schema.org",
  "@type": "BedAndBreakfast",
  "@id": "https://riad-example.ma/#lodging",
  "name": "Riad Zitoun",
  "description": "An 8-room riad in the Marrakech medina, patio, roof terrace, open year-round.",
  "url": "https://riad-example.ma/",
  "telephone": "+212524000000",
  "numberOfRooms": 8,
  "petsAllowed": false,
  "checkinTime": "14:00",
  "checkoutTime": "11:00",
  "priceRange": "750-1400 MAD",
  "currenciesAccepted": "MAD, EUR",
  "availableLanguage": ["ar", "fr", "en", "es"],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 derb Zitoun, medina",
    "addressLocality": "Marrakech",
    "postalCode": "40000",
    "addressCountry": "MA"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 31.625, "longitude": -7.985 },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Wi-Fi", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Air conditioning", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Swimming pool", "value": false },
    { "@type": "LocationFeatureSpecification", "name": "Airport transfer", "value": true }
  ]
}

Note the false values. Declaring what you do not have is an advantage, not a confession: a traveller looking for a pool will not be disappointed on arrival, and an assistant that finds precise information uses you with more confidence. Ambiguity protects nobody — it gets you recommended to the wrong guests, who then review you.

Day trips: describe the route, not the emotion

"An unforgettable day in the Agafay desert" contains nothing usable. An itinerary does: departure time and place, total duration, named stops, driving time between them, what is included, what is not, group size, the guide's language, the bad-weather policy. An assistant building a five-day plan needs durations and distances to check that the day holds together — give it those and you become placeable inside its plan.

A day trip, described as a product
{
  "@context": "https://schema.org",
  "@type": "TouristTrip",
  "name": "Ourika Valley from Marrakech — full day",
  "description": "Departs Marrakech 8:30am, returns around 6pm. Setti Fatma, waterfalls, riverside lunch.",
  "touristType": ["Family", "Beginner hiker"],
  "itinerary": {
    "@type": "ItemList",
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "name": "Depart Marrakech (8:30am)" },
      { "@type": "ListItem", "position": 2, "name": "Argan cooperative (30 min)" },
      { "@type": "ListItem", "position": 3, "name": "Setti Fatma, walk to the waterfalls (2h)" },
      { "@type": "ListItem", "position": 4, "name": "Riverside lunch (1h30)" }
    ]
  },
  "offers": {
    "@type": "Offer",
    "price": "450",
    "priceCurrency": "MAD",
    "availability": "https://schema.org/InStock",
    "validThrough": "2026-12-31"
  }
}

Transfers and car hire: the detail that decides

This segment turns on information almost nobody publishes and everybody asks for. A traveller preparing an arrival in Marrakech, Agadir or Fès always asks the same questions: what the ride costs, who waits where exactly, what happens if the flight is three hours late, whether an international licence is needed, and how large a deposit is held on the card. An operator who answers those five points in plain text becomes the most useful source in its city, with no advertising budget.

The deposit is the perfect example of information that decides a booking and is almost never written down. An amount, a hold method, a release delay: three facts, one sentence, and you have answered the question that worries customers most — which is therefore the one an assistant will try to answer from somebody.

  • The meeting point, described physically. "Arrivals exit, right after the taxi rank, sign with your name" beats "our driver will greet you".
  • A firm price per journey, not "from": a conditional rate is comparable to nothing.
  • The delay policy: how long the driver waits, and what waiting beyond that costs.
  • Documents required for a rental: minimum age, licence held for how long, international permit or not.
  • What the insurance actually covers, excess included, in numbers rather than commercial tiers.

The review trap

The temptation is familiar: add a flattering aggregateRating to the markup. It is the easiest violation to detect — a rating with no real reviews visible on the page — and the one that damages trust most when it is spotted. The right strategy is the opposite: few claims, all true, and solid outside corroboration on the platforms where your guests already write.

The pages that get quoted, and that almost nobody writes

Travellers' questions are remarkably stable from year to year. Each answers in one page, in English and in French, and those are the pages that get pulled into generated answers.

  • "How do I get from Marrakech airport to the medina?" — indicative taxi fares, duration, where the rank is, what your own transfer costs.
  • "How much should I tip in Morocco?" — real practice, by situation, with amounts.
  • "What should I wear in Marrakech in April?" — temperatures, dress conventions, what to bring for the evening.
  • "Can you drink the tap water?" — a direct answer, with no commercial detour.
  • "Can a car reach the riad?" — the question that decides a medina booking, and which almost no site answers clearly.

Each of those pages must open with the answer, in two lines, before any elaboration. That block is what gets extracted. The rest serves the human reader, who does keep reading.

Direct booking: the only economic reason for any of this

The gain is not a position, it is a channel. A recommendation inside a generated answer brings you a visitor who passed through no platform and on whom no commission is charged. That visitor still has to be able to book with you in two clicks: a visible contact link, a clickable WhatsApp number in international format, an answer within twenty-four hours. Being cited and being unreachable simply hands the audience to the next intermediary.

Frequently asked questions

Do I have to publish prices to be recommended?

A range is enough, and it changes everything: with no price at all you are out of play as soon as the question carries a budget — which is nearly always. A seasonal range, in MAD and EUR, makes you comparable without committing you to a firm rate.

Aren't booking platforms enough?

They make you visible, but the description quoted is theirs and the booking runs through them. Your site is the only place where your real terms, your direct rate and your answers to practical questions can be read without an intermediary.

Which language should tourism content be written in?

English and French first, each on its own URL. Questions asked of an assistant by a foreign traveller arrive in English; the French-speaking European market remains the largest for Morocco. Modern Standard Arabic mainly serves regional guests.

Can an assistant invent information about my riad?

It can repeat outdated or third-party information, which has the same effect. The defence is to publish the facts yourself, dated and consistent: an up-to-date primary source is what wins when sources disagree.

One URL is enough. The audit returns the score, the twelve checks and the detail of every failure. The first file generation is on us.

Audit my site for free

Back to the blog

Free audit

See what AI actually reads about you.

One URL is enough. The audit returns the score, the twelve checks and the detail of every failure. The first file generation is on us.

Custom project or enterprise

By phone

REPLY WITHIN 48H · ENGLISH & FRENCH

© 2026 Indexonic. All rights reserved.

Legal notice The Web Master — Marrakech