Rimal Desal · Desalination EPC contractor · Muscat
How a Muscat desalination contractor made its bilingual project archive crawlable
أرشيف مشاريع ثنائي اللغة، قابل للزحف من جديد
Headline
+140% organic tender leads
Muscat, Oman · 11 months
Arabic pages indexed 120 → 980
The feed water
Thirty years of credentials, invisible in two languages.
A bilingual project archive full of broken Arabic URLs and orphaned pages hid the firm's credentials from tender researchers.
In desalination EPC, the website is not a brochure: it is the reference list a utility's tender researcher checks before a pre-qualification shortlist is drawn. Rimal Desal had built more than 640 plants and pumping stations, each with an Arabic and an English page. Two CMS rebuilds later, most of the Arabic half had fallen out of the index.
Researchers searching in Arabic for a contractor with SWRO experience on the Omani coast found competitors, or a 404. The firm's organic tender enquiries had flattened at five a quarter, almost all from English searches.
Diagnosis · five layers
Every error, classed by the layer that would catch it.
A bilingual crawl and 90 days of server logs surfaced 3,900 crawl errors. Rather than one long list, we sorted them like a reverse-osmosis train sorts impurities: coarse encoding faults first, the finest crawl-budget waste last. Select a layer to see what it caught.
Layer 01 · Site architecture
طبقة الترميز
Malformed Arabic URLs
In
3,900
Caught
1,620
Passed
2,280
What it caught
- Arabic slugs double percent-encoded by the CMS on every save (%25D9%2585…)
- Mixed Arabic-Indic and Western digits creating two URLs per project number
- Trailing spaces and tatweel characters (ـ) generating 404s from tender portals
The fix
One transliteration-free Arabic slug rule, NFC-normalised, with 1,180 one-hop 301s from every legacy variant.
rimal-desal.example/ar/%25D9%2585%25D8%25B4%25D8%25A7%25D8%25B1%25D9%258A%25D8%25B9/sur-ii
404 – الصفحة غير موجودة
Double-encoded Arabic slug from the 2022 rebuild. No hreflang pair, no structured data.
rimal-desal.example › ar › مشاريع › صور-٢
محطة صور ٢ لتحلية مياه البحر — ٨٠٬٠٠٠ م³/يوم
SWRO · Completed 2019 · Ash Sharqiyah South. English version linked via hreflang.
The treatment train
Four tactics, run in the order water would meet them.
The engagement ran on our Signal plan (technical seo): fix what stops crawlers first, then what confuses them, then what they cannot understand.
Hreflang
Paired every Arabic project page with its English twin.
Clusters of ar-OM, en-OM and x-default generated from the project ID and shipped in the sitemap, so a template change can never break a pair again.
Site architecture
Rebuilt the archive so no reference is more than three clicks deep.
One NFC-normalised Arabic slug rule, one-hop redirects for 1,180 legacy variants, and hubs by capacity, technology and client that give 214 orphans a parent.
Schema markup
Turned each plant into an entity search engines can read.
Project entities carry capacity in m³/day, membrane technology, location and completion year, mirrored in both languages under one Organization.
Log-file analysis
Watched where Googlebot actually spent its time.
90 days of server logs showed 71% of hits wasted on filters and calendars. Blocking them moved the bot to project pages, which it now recrawls every 6 days.
11 months
Month by month, the permeate ran clearer.
M01 · Diagnosis
Crawl both languages, pull 90 days of logs
Full bilingual crawl, 412,000 log lines parsed, every error classed into one of five layers.
M02 · Encoding
Normalise the Arabic slugs
Slug rule agreed with the engineering team; 1,180 legacy variants mapped to one URL each.
M03 · Encoding
Ship the redirect map
One-hop 301s deployed in a single release; tender-portal deep links re-tested by hand.
M04 · Language
Rebuild hreflang from project IDs
Reciprocal ar-OM / en-OM / x-default pairs generated in the sitemap, not the templates.
M05 · Structure
Design the hub model
Capacity, technology and client hubs drafted; 214 orphaned Arabic pages given a parent.
M06 · Structure
Flatten the archive
Paginated archive replaced with a filterable index three clicks from the home page.
M07 · Meaning
Model projects as entities
Capacity, technology and completion year marked up on 640 project pages in each language.
M08 · Budget
Close the bot traps
Faceted filters and calendar URLs blocked; datasheet PDFs consolidated to one path.
M09 · Budget
Second log review
Googlebot hits on project pages up from 29% to 74%; Arabic recrawl interval down to 6 days.
M10 · Meaning
Tender-ready reference pages
Bilingual credential summaries added for the 40 plants tender researchers ask about most.
M11 · Handover
Monitoring and runbook
Weekly log and hreflang checks automated; runbook handed to the in-house web team.
Handover
Monitoring and runbook
Weekly log and hreflang checks automated; runbook handed to the in-house web team.
Permeate · results
+140% organic tender leads.
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
Crawl errors
3,900 → 41
Indexed Arabic pages
120 → 980
Tender leads / quarter
5 → 12
Rankings, before and after
Google Oman, desktop, modelled positions at month 0 and month 11.
| Query | Language | Before | After |
|---|---|---|---|
| مقاول تحلية مياه عمان | Arabic | not ranked | #3 |
| desalination EPC contractor Oman | English | #34 | #4 |
| مشاريع تحلية المياه مسقط | Arabic | #61 | #2 |
| SWRO plant references GCC | English | #41 | #7 |
| محطة تحلية بالتناضح العكسي | Arabic | not ranked | #6 |
| reverse osmosis contractor Muscat | English | #28 | #3 |
| brine outfall design Oman | English | not ranked | #9 |
| شركة مقاولات محطات المياه | Arabic | #72 | #8 |
Signal · Technical SEO
Get a plan like this
If your archive, references or second-language pages are leaking out of the index, we will class every error and fix them layer by layer.