Hreflang errors
2,840 → 0
A fictional business. The figures are a modelled scenario, not a client result.
Argalis · Argan oil beauty cooperative brand · Agadir
+204%
organic export orders
9 months · Signal plan · Morocco
Keystone metric
2,840 → 0
Hreflang errors
Set in place by month 4: rebuild hreflang.
Month
0 / 9
Hreflang errors
2,840
0 of 24 tiles realigned
Twenty-four tiles, one per fix. They start where the audit found the site, chipped and out of true, and click into the eight-point star as each month's work ships. The four blue keystones hold the results.
iThe challenge
French, Arabic and English stores on separate subdomains cannibalised each other, with broken hreflang sending French shoppers to Arabic pages.
Argalis sells cold-pressed argan oil, soaps and hair treatments made by a women-run cooperative outside Agadir. Over six years it had grown four storefronts: a French shop for Moroccan and European buyers, an Arabic shop for the Gulf, an English shop for the UK and US, and a separate wholesale boutique. Each was built by a different contractor. The same oils competed with themselves in every market, and a copied template told Google that French product pages had Arabic equivalents that were really other French pages, or nothing at all.
The cost was clear in search results. French shoppers searching for organic argan oil were shown the Arabic store with dirham prices, and most left within seconds.
https://ar.argalis.ma › منتجات › زيت-الأركان
زيت الأركان العضوي — أرغاليس
زيت أركان معصور على البارد من تعاونية نسائية في أكادير...
189 MAD · price in dirhams for a French shopper
https://argalis.ma › fr › huile-argan-bio
Huile d'argan bio pressée à froid — Coopérative Argalis
Pressée à froid par une coopérative de femmes près d'Agadir. Livraison en France sous 5 jours.
€24,00 · En stock · Livraison France
iiDiagnosis
Hreflang · Critical
French product pages pointing hreflang="fr" at Arabic URLs after a template copy
1,146 pages
Hreflang · Critical
Non-reciprocal annotations between subdomains, so Google ignored the clusters
1,694 pairs
Architecture · High
Same oils sold on four storefronts with near-identical copy, splitting links and rankings
318 duplicates
Architecture · High
Wholesale boutique on its own subdomain with no links from the retail stores
1 orphaned store
Core Web Vitals · High
Uncompressed 2.4 MB hero photography and a blocking Arabic webfont on every page
LCP 5.1s
Core Web Vitals · Medium
Layout shift from a currency switcher injected after load
CLS 0.27
Product schema · High
No Product or Offer markup; prices shown in MAD to French and UK shoppers
0 of 412 SKUs
Content · Medium
Machine-translated descriptions with Arabic text set left-to-right
212 pages
iiiThe strategy
Built on our Signal plan (technical seo). Zellige is laid from a fixed geometry outward, and the site was rebuilt the same way: one structure first, every other fix keyed to it.
01
Four hosts collapsed into argalis.ma with /fr/, /ar/ and /en/ folders sharing one product catalogue, so links and authority accrue to one domain and every oil has exactly one URL per language.
02
Reciprocal annotations generated from the catalogue rather than hand-typed in templates: five language-region variants per product, x-default to the language chooser, validated nightly against the live sitemap.
03
Mobile LCP brought from 5.1s to 1.9s with AVIF heroes, preloads, system fonts for Arabic and a deferred chat widget; the currency switcher now reserves its space so nothing shifts.
04
Product and Offer markup per market and currency, with shipping and return details, so French shoppers see euros and delivery times in results instead of dirhams.
ivMonth by month
Month 1
fr., ar., en. and boutique. subdomains crawled side by side: 1,912 URLs mapped, 2,840 hreflang errors catalogued, 318 duplicate product pages found.
Hreflang errors 2,840 · LCP 5s
Month 2
Architecture signed off: argalis.ma/fr/, /ar/ and /en/ on one host, with a 1:1 redirect map and a right-to-left template for Arabic.
Hreflang errors 2,110 · LCP 4.6s
Month 3
Arabic and English subdomains 301-redirected; the separate wholesale boutique folded into /en/wholesale/. Four storefronts become one.
Hreflang errors 1,260 · LCP 3.4s
Month 4
Reciprocal fr-MA, fr-FR, ar-MA, ar-SA and en-GB clusters generated from the product catalogue into XML sitemaps, with x-default on the language chooser.
Hreflang errors 540 · LCP 2.6s
Month 5
Hero images re-encoded to AVIF and preloaded, the 410 KB Arabic webfont replaced by system fonts, and third-party chat deferred. Mobile LCP 5.1s to 2.3s.
Hreflang errors 180 · LCP 2.3s
Month 6
Product, Offer, shipping details and return policy marked up per currency (MAD, EUR, GBP) so each market sees its own price in results.
Hreflang errors 60 · LCP 2.1s
Month 7
Machine-translated descriptions rewritten by French and Arabic copywriters for the 40 best-selling oils, soaps and hair treatments.
Hreflang errors 12 · LCP 2s
Month 8
Shipping, duties and wholesale pages per country, linked from every product in that market's language.
Hreflang errors 0 · LCP 1.9s
Month 9
Hreflang and Core Web Vitals monitoring with alerts; zero hreflang errors for a second consecutive month.
Hreflang errors 0 · LCP 1.9s
vResults
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
Hreflang errors
2,840 → 0
Storefronts consolidated
4 → 1
Organic sessions
+176%
Mobile LCP
5.1s → 1.9s
| Query | Language | Market | Before | After |
|---|---|---|---|---|
| huile d'argan bio | fr | France | 38 | 4 |
| huile d'argan coopérative femmes | fr | France | 9 | 1 |
| huile d'argan pure maroc | fr | Morocco | 22 | 2 |
| زيت الأركان الأصلي | ar | Morocco | 41 | 3 |
| زيت أركان للشعر | ar | Saudi Arabia | — | 6 |
| organic argan oil cooperative | en | United Kingdom | 57 | 5 |
| argan oil wholesale morocco | en | United Kingdom | 31 | 4 |
| cold pressed argan oil | en | United States | 100+ | 11 |
Several languages, several storefronts, one set of rankings that keeps splitting. We will map it and put it back together.