Ecommerce SEO audit checklist for Saudi stores: 24 checks, in the order that protects sales
Can Google reach your money pages, read one address for each, match them to a search, and can you count what they sell? A 24-check audit for Salla, Zid, Shopify and WooCommerce stores, tested on 19 category pages from page 1 in Riyadh.
An ecommerce SEO audit asks six questions in order: can Google reach your money pages, does each have one address, does each match a search, is the product data readable, do language and speed hold up, and can you count what the traffic buys. Run it on one page of each template, not on every product.
This checklist is for owners and e-commerce managers of stores that sell in Saudi Arabia and the Gulf on Salla, Zid, Shopify or WooCommerce. It has 24 checks, and we tested the page-level ones ourselves: on 26 October 2026 we opened 19 category pages that Google showed on page 1 of three Riyadh searches and counted what each holds in its raw HTML. Sources are listed at the end. Pages change, so re-run what matters to you.
Free 5-point SEO audit. Send us your store’s address. Within 48 hours a senior specialist sends you 5 prioritized fixes with the evidence, and shows which of them could move first, on Salla, Zid, Shopify or any other platform. Get your free SEO audit.
The short answer
| Block | The question | Where to look |
|---|---|---|
| 1. Reach and index | Can Google reach and index the pages that earn money? | Search Console: Sitemaps, Page indexing, URL Inspection |
| 2. One address | Does each page have one address? | Page source, robots.txt, the platform’s redirect tool |
| 3. Page and search | Does each page match what a buyer types? | Performance report by page, the page itself |
| 4. Product data | Can Google read price, stock and variants? | Page source, one product page |
| 5. Language and speed | Do Arabic, English, phone and speed hold up? | Page source, a phone, field data |
| 6. Measurement | Can you count what the traffic buys? | Google Analytics, platform orders |
Source: Google Search Central, Search Console Help and Analytics Help pages listed under Sources, read on 26 October 2026.
What we found on 19 Saudi category pages
We searched three category phrases from Riyadh, in Arabic: men’s watches, women’s handbags and specialty coffee. We took the 25 category pages Google showed on page 1. Nineteen answered a plain request and are in the counts: 17 sites, 11 on Salla (by its own markup), 2 on Zid, 2 on Magento and 4 on other platforms. Three answered 429 and two answered 403 to every request from our address, and one redirected to a different address, so none of the six is counted. We fetched each page with a phone browser header, read the HTML before any script runs, and checked every flag by reading the evidence. No site is named.
| Check | Pages | What it means for your audit |
|---|---|---|
| Canonical that names the page itself | 18 of 19 | Platforms usually handle it: confirm only |
| noindex tag | 0 of 19 | One look (check 4) |
| Exactly one H1 with text | 13 of 19 | Check 11 |
| Product links in the raw HTML | 7 of 19 | All 11 Salla pages have none (check 13) |
| Product markup on the category page | 2 of 19 | Normal (check 16) |
| hreflang that lists the page itself | 16 of 19 | Check 19 |
| Links to sort or filter URLs | 5 of 19 | Only 2 sites block them (check 7) |
| Images with alt text | 78% of 992 | Check 14 |
Source: Khaleej SEO audit of 19 category pages, 26 October 2026 (files k11_audit.py and k11_analyze.py in our working folder).
Three findings shaped the order of this checklist. The basics were mostly in place, because platforms handle them: the differences were in the product list, the headings and the parameter URLs. Every Salla page we opened ships its product list as an empty element that scripts fill after the page loads (we confirmed in a browser that the product links appear after loading). Google processes JavaScript in a rendering step, so that alone is no penalty, but it makes the rendered page the only version that counts, and check 13 tests it. And a missing Product block on a category page is not a defect, because Google asks for that markup on product pages.
The limits: 19 pages from three searches on one day are not a random sample of Saudi stores, raw HTML is not what Google sees after rendering, and we have no traffic data for these sites. We use the counts to order the checks, not to describe a typical store.
Block 1: Can Google reach and index the pages that earn money?
- Submit and read the sitemap. In Search Console, open Sitemaps and confirm that a sitemap is submitted and reads Success. Google says a sitemap helps discovery but does not guarantee crawling or indexing. Of the 17 robots.txt files we read, 14 had a Sitemap line and 3 had none.
- Compare indexed pages with your catalogue. Open the Page indexing report and read the reasons: the two “currently not indexed” reasons (crawled and discovered), soft 404 and duplicates. Google says a site with fewer than 500 pages probably does not need the report and can use site: searches instead. Our indexing guide explains each reason.
- Inspect five pages. In URL Inspection, test the home page, two category pages and two product pages. Read the user-declared canonical and the Google-selected canonical: they should match.
- Look for blocks. Open /robots.txt and confirm that no rule disallows your category or product paths. A noindex tag works only if the page is not blocked there, because a blocked crawler never sees it, and Google says robots.txt does not keep a page out of search. None of our 19 pages carried noindex.
Block 2: Does each page have one address?
- Return the right status for removed pages. A page that says “not found” but returns 200 appears in Search Console as a soft 404. Redirect a removed product to its closest replacement. Zid and Shopify redirect tools work only from addresses that already return 404, and in Salla’s help centre we found no redirect manager (read 21 October), so ask Salla support in writing. See our migration guide.
- Confirm a canonical that names the page itself. Google calls redirects and rel=canonical strong signals and a sitemap a weak one, and recommends a self-referential canonical on the canonical page. 18 of our 19 pages had one; the other had none.
- Keep sort and filter URLs out. Google says parameter URLs can create an endless number of addresses and recommends blocking them in robots.txt while allowing the product pages and one unfiltered listing. Five of our pages linked to sort, size or filter URLs; two of those sites had a robots.txt rule for exactly those parameters and three had none.
- Open page 2. Each page of a paginated category needs its own URL, its own canonical and links written as a elements with an href. Google says not to use the first page as the canonical for the others, and allows the same title across the sequence. Three of our pages had pagination links: on page 2, two canonicals named page 2 itself and one page had none.
- Reach each product at one address. A product shown in several categories should end at one URL. In our 24 October test of a Shopify theme demo store, the product opened through a collection path answered 301 to its /products/ address. Open one of your products through two categories and compare the final addresses.
Block 3: Does each page match a search?
- Give each category one buyer phrase, in Arabic and English. Write down what a buyer types for every category, then open Performance in Search Console, filter by page and read the queries. If two pages earn impressions for the same phrase, decide which one is the answer and point the other to it. A category with none goes back to check 2.
- Read the title, description and H1. Google asks for a distinct, descriptive title on each page, in the language of the page. The target is one H1 that names the category. Of our 19 pages, 13 had exactly one H1 with text, two had an empty H1 element, three (one store) had two H1s that did not name the category, and one had none. All three platforms give you title and description fields; an empty field means a fallback, so read what the page source prints.
- Say in words what a buyer needs to choose. A grid alone gives Google little to read: materials, sizes, delivery and returns belong in words near the top. Google says it has no preferred word count, so judge the page by whether it answers the buyer. Our median was 672 visible words in the raw HTML (75 to 2,624, menus and footers included) and six pages had under 300.
- See the product list without scripts. Open the page source, or the crawled page in URL Inspection, and look for product names and links. All 11 Salla pages we opened print an empty product list element, so their raw HTML holds no product links, while 7 of the 8 other pages held 8 or more. If the products are missing in the rendered page too, it is a defect. Google follows links written as a elements with an href and does not click buttons that load more.
- Check product pages and images. A product page needs a description written for your store, price and stock as visible text, and descriptive alt text, which Google calls the most important image attribute. In our counts 78% of 992 images had alt text, and three pages had it on fewer than half.
Block 4: Can Google read the product data?
- Read one product page’s markup. Google separates product snippets (pages where people cannot buy directly) from merchant listings (pages where customers can buy). For a store page, look in the source for a Product block with offers: price, currency and availability. Compare each value with the page.
- Do not add Product markup to category pages. Google says Product rich results support pages that focus on a single product, and recommends markup on product pages rather than on pages that list a category. Only 2 of our 19 category pages carried Product markup and 11 carried only Organization and WebPage, so a missing block here is not a finding. A breadcrumb block is worth having, since Google names BreadcrumbList among ecommerce types: 3 of 19 had one.
- Mark up variants properly. For products in sizes or colours, Google asks for ProductGroup with variesBy, hasVariant and productGroupID in addition to Product. Test one.
- Keep markup equal to the page. Google’s guideline is not to mark up content that readers of the page cannot see. After every price or stock change, compare the markup with what the page prints.
Block 5: Do Arabic, English, phone and speed hold up?
- Pair your languages. Google says each language version must list itself and every other version, and recommends x-default as a fallback. 16 of our 19 pages listed themselves and 15 had x-default. On Salla, more than one language works only on themes that support it, and Shopify’s Arabic is outside its list of 33 languages with professional translations (our reads of 21 and 24 October). Our Salla and Zid comparison and Shopify guide cover both.
- Compare phone and desktop. Google indexes the mobile version of your page, so the text, links and structured data must be the same on both. Content in tabs or accordions is fine if it is equivalent. Open the category page on a phone and compare.
- Read Core Web Vitals from real visitors. Google’s thresholds at the 75th percentile are LCP 2.5 seconds, INP 200 milliseconds and CLS 0.1, and Google highly recommends good Core Web Vitals. Use data from real visits, not one lab run.
Block 6: Can you count what the traffic buys?
- Reconcile your orders. For one week, compare completed orders in your platform with purchases in Google Analytics. Google says ecommerce events are not collected automatically, and an event missing a required parameter is treated as a custom event and left out of the Ecommerce purchases report. Our no-sales guide has the method.
- Read Search Console by page. Export 28 days of the Performance report by page and sort your categories by impressions. The report gives clicks, impressions and CTR; we read positions from searches made from the buyer’s city, not from an average.
- Save a baseline before you change anything. Write down the date, clicks, impressions and orders for each category. Without it you cannot tell whether a fix worked.
What your platform already does
| Platform | Done for you | Still yours to check |
|---|---|---|
| Shopify | Canonical tags, sitemap.xml and robots.txt; titles include the store name | Redirects only from 404 addresses; Arabic outside the 33 translated languages |
| Zid | SEO fields; empty fields fall back to the product name and description | robots.txt editor only on Growth and Professional; redirects only from 404 addresses |
| Salla | SEO fields; Quick SEO optimization fills titles and descriptions | Empty product lists in the raw HTML; hreflang and schema through a Tag Manager tag |
Source: Shopify SEO overview (opened 26 October 2026) and Shopify help pages (24 October); Zid Help Center and Salla Help Center (21 October). Plans and features change: check the pages before relying on a gate.
From 24 checks to a work order
| Priority | Put here | Why |
|---|---|---|
| This week | Checks 1 to 6, an empty or missing H1, a product list missing from the rendered page | They stop Google reading or choosing a money page |
| This month | Checks 7, 8, 10 to 12, 14 to 19 | They decide which page answers which search and how it appears |
| Check, then leave | Product markup on categories, a word-count target | Google does not ask for them |
What a useful audit report contains
Each finding comes with its URLs, the evidence (a source line or a report screenshot), the money page it affects, who fixes it, how big the job is and the date it will be tested again, ranked by the pages that earn money. A list of 200 crawler warnings with no ranking is a data export, not an audit. Our e-commerce SEO service and Salla SEO service start from this checklist.
Sources
Opened on 26 October 2026, Google pages unless stated. Search Central: URL structure, pagination, faceted navigation, canonicalization, noindex, robots.txt, sitemaps, HTTP status codes, merchant listings, product variants, structured data guidelines, ecommerce markup types, localized versions, mobile-first indexing, JavaScript SEO basics, image SEO, title links and Core Web Vitals. Search Console Help: Page indexing report and URL Inspection. Read on 24 October and probed again on 26 October: Web Vitals, Ecommerce purchases report and Performance report. Platform help: Shopify SEO overview (browser, 26 October), Zid robots.txt, Zid redirects and Salla SEO (read 21 October). Our counts come from the 19 audited pages and their robots.txt files, fetched on 26 October.
Want this checklist run on your store? Our free 5-point audit applies the first checks to your category and product pages, compares them with the stores above you, and tells you which fix to make first. It is the first step of our e-commerce SEO service. No obligation, delivered within 48 hours. Request your free SEO audit.