The problem
An argan cosmetics brand selling from Morocco faces three markets at once, and each one plays by its own rules.
The local market pays cash on delivery — forcing card payment means losing most of the orders. The European market expects the opposite: online payment, tracked shipping, compliant legal notices. And the Arabic-speaking market needs more than a translation: it reads right to left, which flips the entire layout, not just the text.
Then there is the question of the channel. Selling on a marketplace means renting your own customers: a commission on every sale, no customer data, and a brand that exists only inside someone else's product page. For a premium brand whose whole argument is origin and craft, that is precisely what to avoid.
What we built
A store the brand actually owns, designed trilingual from the first line rather than translated afterwards.
French, English and Arabic share the same content base: every product, category, page and article carries its three versions in a single record, with automatic fallback when a translation is missing. URLs are localised, hreflang tags generated, and Arabic gets genuine right-to-left support — document direction, dedicated fonts, and the layout fixes that a bare dir="rtl" never solves on its own: positioning, gradients, alignment.
The payment architecture follows what each market actually does. Cash on delivery is live, because that is what converts in Morocco; Stripe, PayPal and CMI sit behind the same abstraction, ready to be switched on market by market without touching the checkout flow.
The store is fully manageable without a developer: products and variants, categories, orders, customers, coupons, carriers, blog, pages, reviews, testimonials, sliders — and every section of the home page can be switched on or off from the admin. The dashboard shows revenue, thirty-day sales, best sellers and low-stock alerts.
Search visibility is treated as a feature, not an afterthought: structured data for Product, BreadcrumbList, FAQPage and BlogPosting, dynamically generated sitemap and robots.txt, Open Graph and canonical tags per page, lazy-loaded images with explicit dimensions.