What 3,231 Saudi online stores actually score
We ran the checks behind our free site report over every store on a public Saudi register whose site would answer us. Nobody was asked for anything, and nobody is named here. The numbers are what the pages themselves returned.
Read on 22 August 2026 · 3,231 sites · scored 0 to 100
The shape of it
Half of these stores sit between 61 and 77. The best scored 97 and the worst 44, so this is not a handful of broken sites dragging an average down. It is the middle of the market.
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. From the 1198 stores read in depth.
64% of stores cannot tell you where an order came from, and 37% track people without asking.
What separates the strongest from the weakest
The 299 highest-scoring stores against the 299lowest. A fault both halves share is the market’s habit; one only the weak half has is what is actually separating them.
| Fault | Weakest quarter | Strongest quarter |
|---|---|---|
| No og:title | 89% | 19% |
| No og:type | 90% | 21% |
| No og:url | 90% | 24% |
| No H1 heading | 78% | 14% |
| No og:description | 92% | 29% |
| No Twitter Card | 91% | 29% |
| Incomplete social preview | 92% | 33% |
| No og:image | 92% | 33% |
| Nothing tells the browser to stay on https | 94% | 38% |
| No meta description | 79% | 26% |
Which of the six checks is weakest
The same six engines behind the free report, scored separately over the 1198 stores read in depth. Weakest first.
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.
| Platform | Stores | Share | Median score |
|---|---|---|---|
| Something else | 682 | 57% | 65 |
| WordPress | 156 | 13% | 67 |
| WooCommerce | 95 | 8% | 63 |
| Zid (Saudi) | 71 | 6% | 67 |
| Shopify | 54 | 5% | 77 |
| GoDaddy builder | 43 | 4% | 79 |
| OpenCart | 32 | 3% | 61 |
| Wix | 17 | 1% | 72 |
| Squarespace | 17 | 1% | 68 |
| Salla (Saudi) | 13 | 1% | 73 |
| Webflow | 10 | 1% | 72 |
What is actually wrong
The twelve faults found on most stores, each counted once per site. 61 distinct faults appeared across the 1198 read in depth.
| Fault | Severity | Stores |
|---|---|---|
| No referrer policy | low | 91% |
| No Content-Security-Policy | medium | 79% |
| Any site can load your pages inside itself | high | 77% |
| Browsers may guess your file types | medium | 76% |
| No structured data | medium | 67% |
| Nothing tells the browser to stay on https | high | 66% |
| Incomplete social preview | low | 65% |
| No og:image | high | 64% |
| Links with no text at all | high | 62% |
| No Twitter Card | low | 60% |
| No og:description | low | 59% |
| Thin content | medium | 59% |
By what they sell
Weakest first. Real estate came out lowest at a median of 65. The largest group is digital marketing, 994 agencies whose own sites have a median of 69.
| Category | Stores read | Median | With a high-severity fault |
|---|---|---|---|
| Real estate | 42 | 65 | 100% |
| Crafts and handmade | 48 | 66 | 98% |
| Cars | 54 | 66 | 100% |
| Kitchen and bakery | 92 | 67 | 98% |
| Academic services | 88 | 67 | 98% |
| Design and print | 110 | 68 | 97% |
| Digital marketing | 994 | 69 | 98% |
| Other | 904 | 69 | 98% |
| Electronics and accessories | 175 | 69 | 97% |
| Events and parties | 37 | 69 | 100% |
| Software and IT | 343 | 69 | 98% |
| Women's goods | 168 | 69 | 98% |
| Furniture and decor | 108 | 70 | 98% |
| Salon and beauty | 39 | 72 | 97% |
| Photography | 29 | 73 | 93% |
Where you would sit
Run the free report on your own address and this is what the number means, against all 3,231 stores that answered.
| If you score | You are | What that means |
|---|---|---|
| 47 to 58 | Bottom tenth | worth a week of somebody's time |
| 59 to 61 | Bottom quarter | worth a week of somebody's time |
| 62 to 74 | Middle half | ordinary for this market |
| 75 to 79 | Top quarter | ahead of most competitors |
| 80 to 93 | Top tenth | ahead 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.
Any site can load your pages inside itself
high77% of storesWith 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.
Nothing tells the browser to stay on https
high66% of storesWithout 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.
No og:image
high64% of storesWithout 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.
Links with no text at all
high62% of storesFor 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.
No Content-Security-Policy
medium79% of storesA CSP is the difference between one injected script running and one injected script being blocked. It is the only header here that limits the damage of a flaw somewhere else, which is why it is worth the work of writing it.
Fix: Start in report-only mode: Content-Security-Policy-Report-Only with default-src 'self'. Watch what it would have blocked, then enforce it.
Browsers may guess your file types
medium76% of storesWithout nosniff, a browser can decide a file is a script because of what is inside it, regardless of the type you sent. An uploaded file that was never meant to be code can end up executed as code.
Fix: Send X-Content-Type-Options: nosniff. It is one line and it has no downside.
No H1 heading
high45% of storesThe H1 tells a reader and an engine what the page is about in one line. Without one, the topic is unclear.
Fix: Add exactly one H1 that states the page's subject.
No structured data
medium67% of storesThere is no JSON-LD on the page, so it cannot qualify for rich results (stars, FAQ, breadcrumbs, product info) in search.
Fix: Add a JSON-LD <script type="application/ld+json"> describing the page (Article, Product, FAQPage, etc.).
Thin content
medium59% of storesOnly about 2 words. A page with little to read struggles to rank for anything competitive.
Fix: Add real, useful content that answers the question the page targets.
Images with no width and height set
medium58% of storesThe 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.
How this was done, and what it cannot tell you
A study that hides its method is an advert. This is the whole of it, including the parts that weaken the result.
- The businesses come from maroof.sa, the Saudi register of online stores, which is public. We kept only those whose contact address sat on a working domain of their own, which is 4,429 businesses, and read the home page of each.
- 1,198 of them never answered: the site was down, refused us, or timed out. They are counted here and scored nowhere.
- One request per store, made once, from an agent that names itself and links back here so anybody can see who we are and block us.
- It reads one page. The home page is not the whole site, and a store can have a weak front page and clean product pages. Nothing here is a verdict on a business, only a measurement of one page on one day.
- It cannot see rankings, traffic or sales. These checks read what a page sends a browser. A store scoring 60 may well be outselling one scoring 90.
- No store is named, and none will be. They did not ask to be measured, so the aggregate is published and the list is not.
Now do it to your own site
The same checks, on your address, sent to you for nothing. It takes about a minute and there is no account to make.
Read my site free →