Research

What +15,000 Middle East online stores actually score

We ran the checks behind our free site report over every shop we could find under 13 Middle East national domains. Nobody was asked for anything. The numbers are what the pages themselves returned.

August 2026 · 47,288 sites visited · 15,583 of them sell something · every one of those measured in full

66median score out of 100
99%carry a fault costing them now
19.5faults on the average store
3619stores scored under 60

The shape of it

Half of these stores sit between 60 and 72. The best scored 95 and the worst 43, so this is not a handful of broken sites dragging an average down. It is the middle of the market.

Under 50246 · 2%
50 to 593,373 · 22%
60 to 696,677 · 43%
70 to 794,523 · 29%
80 and above764 · 5%

What this market can and cannot see

Read from the home page markup: analytics, advertising pixels and consent tooling. A store with no analytics is not running a quiet operation, it is running a blind one. Across all 15,583 stores.

Any analytics52%
Any ad pixel25%
Both21%
Ads but no analytics4%
Nothing at all43%
A consent tool7%

48% of stores cannot tell you where an order came from, and 52% track people without asking.

What separates the strongest from the weakest

The 3895 highest-scoring stores against the 3895lowest. A fault both halves share is the market’s habit; one only the weak half has is what is actually separating them.

56 to 76median score, weakest to strongest
36% to 53%have analytics installed
212 to 289 KBmedian page weight
26 to 14faults on the page
FaultWeakest quarterStrongest quarter
Incomplete social preview91%19%
No og:image90%19%
No structured data78%11%
Browsers may guess your file types93%30%
Nothing tells the browser to stay on https94%31%
No meta description75%12%
No H1 heading67%9%
Scripts that block the first paint94%40%
Requests that must finish before anything appears94%44%
Any site can load your pages inside itself94%46%

Which of the six checks is weakest

The same six engines behind the free report, scored separately over the 15,583 stores read in depth. Weakest first.

Speed42/100
Security headers47/100
Links60/100
Search readiness78/100
Structure82/100
Sharing and rich results83/100

What these stores are built on

Read from each store’s own markup. The platform is the one cause a reader can act on: where one platform’s stores score below another, that is a default rather than a hundred separate mistakes.

PlatformStoresShareMedian score
WooCommerce606639%63
WordPress408026%65
Something else196513%66
Shopify158410%74
Wix10537%72
Salla (Saudi)2972%80
GoDaddy builder2412%62
Magento1131%63
OpenCart1011%59
Zid (Saudi)551%66

What is actually wrong

The twelve faults found on most stores, each counted once per site. 61 distinct faults appeared across the 15,583 measured.

FaultSeverityStores
Links with no text at allhigh91%
No referrer policylow91%
One phrase linking to more than one pagemedium76%
Any site can load your pages inside itselfhigh76%
Requests that must finish before anything appearsmedium74%
Links that open a new tab without saying solow73%
Scripts that block the first painthigh73%
Images with no width and height setmedium72%
CSS and JS written into the page itselfmedium69%
Browsers may guess your file typesmedium68%
Nothing tells the browser to stay on httpshigh68%
New-tab links to other sites without rel=noopenermedium63%

Market by market

Every market with at least fifty stores measured, best median first.United Arab Emirates leads at 67 and Palestine trails at 61: 6 points separates the best market in the region from the worst. The ranking is the least interesting column here. Analytics is where these markets genuinely differ.

United Arab Emirates is 60% of the stores in this study, because the archive we drew the list from holds far more hosts under some national domains than others. Each market’s median below stands on its own stores and is unaffected. The region-wide median is 66 pooled, and 63 if every market counts once.

MarketStoresMedianAnalyticsAd pixelConsentMostly built on
United Arab Emirates9,3776755%27%8%WooCommerce
Saudi Arabia3,5636555%26%5%WooCommerce
Qatar6736543%18%7%WooCommerce
Bahrain1426547%18%10%WooCommerce
Kuwait2026446%31%6%WooCommerce
Oman2566348%14%7%WooCommerce
Jordan2426347%19%8%WooCommerce
Lebanon1496340%15%7%WooCommerce
Egypt4186242%16%9%WooCommerce
Iraq1966219%9%4%WooCommerce
Palestine3156124%33%3%Something else

Syria (33), Yemen (17) were measured too but have too few stores to publish a median for: a number that would move on ten more shops is not a finding.

Home or away

Salla and Zid were built in the region for it. Shopify, WooCommerce and the rest were not. The 352 stores on a regional platform have a median of 79; the 13,266 on an imported one, 66. Every store on a platform inherits its defaults, so a gap here is one decision made once, not thousands made separately.

Platform originStoresMedianAnalyticsConsentMedian weight
Built in the region3527988%1%148 KB
Imported13,2666649%7%252 KB

Where you would sit

Run the free report on your own address and this is what the number means, against all 15,583 stores measured.

If you scoreYou areWhat that means
43 to 55Bottom tenthworth a week of somebody's time
56 to 60Bottom quarterworth a week of somebody's time
61 to 72Middle halfordinary for this market
73 to 77Top quarterahead of most competitors
78 to 95Top tenthahead of most competitors

The ten fixes worth the most, in order

Ranked by how many stores each would help, weighted by what it costs them. Every fix is the instruction our own engine writes when it finds that fault, so this is the same advice you get on your own report.

  1. Links with no text at all

    high91% of stores

    For example the one pointing at /. Usually a link wrapped around an icon or an image with no alt text. A screen reader has nothing to announce but the address, read out character by character, and search has nothing to describe the destination with.

    Fix: Add an aria-label saying where it goes, or alt text on the image inside it.

  2. Any site can load your pages inside itself

    high76% of stores

    With neither frame-ancestors nor X-Frame-Options, another site can put your page in an invisible frame over its own buttons, so a click meant for their page lands on yours. On a page with a Buy or a Delete on it, that is the whole attack.

    Fix: Add frame-ancestors 'self' to your Content-Security-Policy, or send X-Frame-Options: SAMEORIGIN if you have no CSP yet.

  3. Scripts that block the first paint

    high73% of stores

    A script in the head with no defer or async stops the browser from building the page until it has downloaded and run. The screen stays blank meanwhile.

    Fix: Add defer to each of those tags, or move them to the end of the body. Use async only for scripts that do not touch the page.

  4. Nothing tells the browser to stay on https

    high68% of stores

    Without Strict-Transport-Security, a visitor typing your domain or following an old link starts on http. That first request travels in the clear and can be intercepted before your redirect ever runs. The header removes that first request entirely for anyone who has visited before.

    Fix: Send Strict-Transport-Security: max-age=31536000; includeSubDomains once you are sure every subdomain serves https.

  5. The server took 1.8s to send the page

    high62% of stores

    Nothing at all can render until the document arrives, so this delay sits in front of every other improvement on the page.

    Fix: Cache the HTML at the edge, or find the slow query or API call the page waits on before it responds.

  6. One phrase linking to more than one page

    medium76% of stores

    "0" points at /shop/cart and /shop/wishlist. Two links with the same words and different destinations cannot be told apart in a list of links, and they tell search that one phrase describes two different pages.

    Fix: Give each one words specific to its own destination.

  7. Requests that must finish before anything appears

    medium74% of stores

    Every stylesheet and blocking script in the head is a round trip the visitor waits through while looking at a blank page.

    Fix: Merge the stylesheets, and inline the small amount of CSS the first screen needs while the rest loads after.

  8. No og:image

    high48% of stores

    Without an og:image, a link to this page shares as a blank or cropped card, which kills the click on social and in chat apps.

    Fix: Add <meta property="og:image" content="…"> pointing at a 1200×630 image on a public URL.

  9. Images with no width and height set

    medium72% of stores

    The browser cannot reserve space for an image whose size it does not know, so the page jumps as each one loads. That is the shift visitors misclick on.

    Fix: Put width and height attributes on every img tag. CSS can still resize it; the attributes only tell the browser the shape to reserve.

  10. CSS and JS written into the page itself

    medium69% of stores

    Inline code cannot be cached, so every visit downloads it again, and it is re-sent on every page of the site.

    Fix: Move the bulk into an external file the browser can cache, and keep inline to the small amount the first screen needs.

Take the study with you

Three pages: the distribution, the twelve most common faults and the breakdown by category. Everything above, in something you can send to somebody else.

One email with the file. No account, and nothing else is sent unless you ask.

Now do it to your own site

The same six checks, on your address, sent to you for nothing. About a minute, and there is no account to make.

Read my site free →

Or reach me directly: Hello@adamhafez.com · +971 58 833 1157

Or have it done

Fixed price, paid by card, and the report lands in three working days. The larger engagements are quoted after a conversation.

EngagementWhat it answersPrice
SEO CheckWhy isn't my site ranking?$250
AI Search CheckDoes ChatGPT know my business exists?$250
Growth CheckWhy has growth stalled?$250
SEO Recovery DiagnosisMy site dropped out of Google. What happened?$500

Every engagement is on the services page, and the twenty free tools are at /tools.

Notes. This reads one page per store, so it is a measurement of one page on one day and not a verdict on any business. It cannot see rankings, traffic or sales: a store scoring 60 may well be outselling one scoring 90.