# 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: 2026-08-25 · Updated: 2026-08-26 · 7 min read
Source: https://indexonic.com/en/blog/morocco-riads-tours-recommended-by-ai/

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 constraint | What to publish | Where |
| --- | --- | --- |
| "quiet, in the medina" | Precise location, landmark, honest noise level | Visible text + description |
| "mid-range budget" | A real range in MAD and EUR, by season | Text + Offer |
| "flexible cancellation" | The exact window, as a standalone sentence | Text + terms page |
| "near the airport" | Distance in km and real driving time | Text + geo |
| "do you speak English?" | Languages actually spoken on site | availableLanguage |
| "travelling with kids" | Ages accepted, beds, facilities | amenityFeature |

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.

> **What we refuse to generate** — Our own generator produces no reviews, no ratings and no social profile that does not exist — even when a customer asks for them. A file that asserts a checkable falsehood costs more than no file at all.

## 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.

> **Test your site the way an agent sees it** — Indexonic's audit fetches your page as an assistant would, measures the text that is actually readable, checks the lodging markup and verifies that every published link answers. Free for the first scan, no card required.


## 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.

---
Indexonic — https://indexonic.com · https://agent.indexonic.com
