<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marouane Boujlal</title>
    <description>The latest articles on DEV Community by Marouane Boujlal (@eboujlal).</description>
    <link>https://dev.to/eboujlal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4082196%2Fd22a94f8-8cdf-41df-8a61-425308838a09.jpg</url>
      <title>DEV Community: Marouane Boujlal</title>
      <link>https://dev.to/eboujlal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eboujlal"/>
    <language>en</language>
    <item>
      <title>What Building a Local Experiences Marketplace in Morocco Taught Me About SEO and Product Design</title>
      <dc:creator>Marouane Boujlal</dc:creator>
      <pubDate>Mon, 17 Aug 2026 20:17:31 +0000</pubDate>
      <link>https://dev.to/eboujlal/what-building-a-local-experiences-marketplace-in-morocco-taught-me-about-seo-and-product-design-2cb5</link>
      <guid>https://dev.to/eboujlal/what-building-a-local-experiences-marketplace-in-morocco-taught-me-about-seo-and-product-design-2cb5</guid>
      <description>&lt;h1&gt;
  
  
  What Building a Local Experiences Marketplace in Morocco Taught Me About SEO and Product Design
&lt;/h1&gt;

&lt;p&gt;Building a marketplace looks simple from the outside.&lt;/p&gt;

&lt;p&gt;You have suppliers.&lt;/p&gt;

&lt;p&gt;You have customers.&lt;/p&gt;

&lt;p&gt;You put the offers online, add a booking button, and connect the two.&lt;/p&gt;

&lt;p&gt;In reality, things become much more interesting when the marketplace is based on &lt;strong&gt;local experiences&lt;/strong&gt; rather than physical products.&lt;/p&gt;

&lt;p&gt;While working on &lt;a href="https://majourneys.com/en" rel="noopener noreferrer"&gt;MaJourneys&lt;/a&gt;, a platform for discovering and booking experiences across Morocco, I started noticing that travel marketplaces sit at an interesting intersection between &lt;strong&gt;e-commerce, local SEO, structured content, and trust&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here are some of the lessons that stood out.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Your URL structure is part of the product
&lt;/h2&gt;

&lt;p&gt;Imagine someone searching Google for:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;quad biking in Marrakech&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Another person might search:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;activities in Marrakech&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And another:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;things to do in Agafay&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These searches are related, but they represent different levels of intent.&lt;/p&gt;

&lt;p&gt;A marketplace shouldn't force all of them onto one giant &lt;code&gt;/activities&lt;/code&gt; page.&lt;/p&gt;

&lt;p&gt;A structure like this is much more expressive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/place/marrakech
/category/quad/marrakech
/category/pools/agafay
/agafay/quad/quad-biking-in-agafay
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is useful for search engines, but more importantly, it is useful for humans.&lt;/p&gt;

&lt;p&gt;Each URL represents an actual entity or combination of entities:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Location
   ↓
Category
   ↓
Experience
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That gives you a natural information architecture instead of creating hundreds of disconnected landing pages just because an SEO tool suggested some keywords.&lt;/p&gt;

&lt;p&gt;On MaJourneys, for example, users can &lt;a href="https://majourneys.com/en/explore" rel="noopener noreferrer"&gt;explore experiences across Morocco&lt;/a&gt; and then progressively narrow down what they want.&lt;/p&gt;

&lt;p&gt;The SEO structure follows the browsing structure.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Don't build pages for keywords. Build pages for intent.
&lt;/h2&gt;

&lt;p&gt;Programmatic SEO gets a bad reputation because it is easy to abuse.&lt;/p&gt;

&lt;p&gt;A developer can generate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/activity/marrakech
/activity/agafay
/activity/casablanca
/activity/rabat
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and suddenly claim to have created hundreds of SEO pages.&lt;/p&gt;

&lt;p&gt;Technically, yes.&lt;/p&gt;

&lt;p&gt;Practically, most of those pages may provide almost no value.&lt;/p&gt;

&lt;p&gt;The better question is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Would this page still deserve to exist if Google didn't exist?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a location/category page, I want the answer to be yes.&lt;/p&gt;

&lt;p&gt;A useful destination page can explain the place, show relevant experiences, tell visitors what to expect and help them decide what to book.&lt;/p&gt;

&lt;p&gt;For example, someone researching the Agafay area might want to compare quad biking, camel rides, pools and dinner experiences rather than immediately purchasing a single activity.&lt;/p&gt;

&lt;p&gt;That is why we treat &lt;a href="https://majourneys.com/en/place/agafay" rel="noopener noreferrer"&gt;Agafay Desert experiences&lt;/a&gt; as a destination in its own right instead of merely attaching the word "Agafay" to product titles.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Travel has a bigger trust problem than normal e-commerce
&lt;/h2&gt;

&lt;p&gt;If I buy a phone case online for $15 and it is disappointing, it is annoying.&lt;/p&gt;

&lt;p&gt;If I book an activity during a three-day trip to Marrakech and the operator doesn't show up, I may have lost half a day of my holiday.&lt;/p&gt;

&lt;p&gt;That changes the UX completely.&lt;/p&gt;

&lt;p&gt;Travel marketplaces have to answer questions such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What exactly is included?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where will I be picked up?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How long does the activity take?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can beginners participate?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happens if I cancel?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I pay now or later?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Those details aren't secondary content.&lt;/p&gt;

&lt;p&gt;They &lt;em&gt;are part of the product&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Take something like &lt;a href="https://majourneys.com/en/agafay/quad/quad-biking-in-agafay" rel="noopener noreferrer"&gt;quad biking in Agafay&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A title and a price aren't enough.&lt;/p&gt;

&lt;p&gt;The traveler needs to understand the duration, equipment, transfers, itinerary, safety expectations and booking conditions before clicking the reservation button.&lt;/p&gt;

&lt;p&gt;This taught me an important marketplace lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Increasing conversion isn't always about making checkout shorter. Sometimes it is about removing uncertainty before checkout begins.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  4. Structured data starts with structured thinking
&lt;/h2&gt;

&lt;p&gt;Developers often hear "structured data" and immediately think about JSON-LD.&lt;/p&gt;

&lt;p&gt;But the more important structure happens before the markup.&lt;/p&gt;

&lt;p&gt;An experience already contains relationships:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Experience
├── Location
├── Category
├── Operator
├── Price
├── Duration
├── Included items
├── Excluded items
├── Cancellation policy
├── Images
└── Booking options
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once your underlying model is clean, many other things become easier.&lt;/p&gt;

&lt;p&gt;You can generate consistent pages.&lt;/p&gt;

&lt;p&gt;You can create category and destination collections.&lt;/p&gt;

&lt;p&gt;You can expose useful metadata.&lt;/p&gt;

&lt;p&gt;You can build internal links automatically.&lt;/p&gt;

&lt;p&gt;You can create sitemaps more intelligently.&lt;/p&gt;

&lt;p&gt;And you can eventually provide structured information to search engines without maintaining completely separate SEO content.&lt;/p&gt;

&lt;p&gt;In other words:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good SEO architecture often starts as good database architecture.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Internal linking should model relationships
&lt;/h2&gt;

&lt;p&gt;One of the most useful SEO lessons I've learned is that internal links shouldn't be inserted randomly because "SEO requires internal links."&lt;/p&gt;

&lt;p&gt;They should describe relationships.&lt;/p&gt;

&lt;p&gt;An Agafay quad experience naturally connects to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agafay
→ Quad activities in Agafay
→ Other activities in Agafay
→ Similar experiences
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A Marrakech pool experience might connect to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Marrakech
→ Pools in Marrakech
→ Day passes
→ Other Marrakech experiences
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now both users and crawlers can understand how the content fits together.&lt;/p&gt;

&lt;p&gt;You are effectively creating a small knowledge graph around your marketplace.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Marketplaces have an SEO chicken-and-egg problem
&lt;/h2&gt;

&lt;p&gt;A new marketplace usually starts with limited inventory.&lt;/p&gt;

&lt;p&gt;But SEO becomes more powerful as inventory increases.&lt;/p&gt;

&lt;p&gt;The problem is that creating thousands of empty category/location combinations is the fastest way to produce a low-quality website.&lt;/p&gt;

&lt;p&gt;So I prefer a simpler rule:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Index pages because they are useful, not because they are technically possible to generate.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If there are enough meaningful experiences and enough useful information to satisfy the visitor, the page can become a destination.&lt;/p&gt;

&lt;p&gt;Otherwise, it probably shouldn't exist yet.&lt;/p&gt;

&lt;p&gt;This keeps the architecture scalable without turning the website into a collection of near-duplicate pages.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. SEO and conversion shouldn't be separate teams mentally
&lt;/h2&gt;

&lt;p&gt;Consider the content on an experience page.&lt;/p&gt;

&lt;p&gt;An SEO person might want:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;More descriptive content
Location information
FAQs
Related destinations
Internal links
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A conversion specialist might want:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Clear inclusions
Transparent pricing
Cancellation details
Trust signals
Better photos
Clear calls to action
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There is actually a lot of overlap.&lt;/p&gt;

&lt;p&gt;Both are trying to answer the visitor's questions.&lt;/p&gt;

&lt;p&gt;This has changed how I think about SEO.&lt;/p&gt;

&lt;p&gt;I don't see it purely as optimizing pages for search engines anymore.&lt;/p&gt;

&lt;p&gt;I see it as making the website's information architecture accurately represent what users are trying to find.&lt;/p&gt;

&lt;p&gt;Search engines then become another consumer of that structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where we're going with MaJourneys
&lt;/h2&gt;

&lt;p&gt;The goal with &lt;a href="https://majourneys.com/en" rel="noopener noreferrer"&gt;MaJourneys&lt;/a&gt; is to make discovering experiences in Morocco feel less fragmented.&lt;/p&gt;

&lt;p&gt;Instead of travelers jumping between Instagram accounts, WhatsApp conversations, hotel recommendations and dozens of individual operators, the marketplace can organize that information around destinations, categories and bookable experiences.&lt;/p&gt;

&lt;p&gt;There is still a lot to build.&lt;/p&gt;

&lt;p&gt;But working on it has reinforced something I think applies to many marketplaces:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The hardest part isn't displaying products. It's designing the relationships between products, places, suppliers, users and intent.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Get those relationships right and your database becomes cleaner, navigation improves, SEO becomes more natural, and users have an easier time deciding what to buy.&lt;/p&gt;

&lt;p&gt;That is a much more interesting engineering problem than simply adding another "Book now" button.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
      <category>startup</category>
      <category>ecommerce</category>
    </item>
  </channel>
</rss>
