Adding Arabic to a Shopify store takes about an hour. Keeping it correct takes a person, permanently. Most guides to a Shopify Arabic store setup stop at the first part: install Translate & Adapt, publish the language, pick an RTL-friendly theme, done. Then three months later the store has 400 new SKUs with English titles sitting inside an Arabic storefront, the size filter reads "Large" in a right-to-left sidebar, and the Tabby widget on the product page is quoting instalments in English while everything around it is in Arabic.
The setup is a weekend. The operations are the job.
What a Shopify Arabic store setup actually involves
The mechanical steps, in order, so you can get the storefront live before you worry about the rest:
- Settings → Languages, add Arabic, publish it. If you sell into both the UAE and Saudi through Shopify Markets, decide now whether Arabic is one shared language or two market-specific variants, because splitting later means duplicating every translation.
- Install Shopify's Translate & Adapt app. Auto-translate the whole store as a first pass. It is free for a small number of languages, and for a bilingual English/Arabic store that is all you need.
- Add the language selector block to your header in the theme editor. Put it top-left in the Arabic view, top-right in English. Shoppers here are trained by Noon and Amazon.ae to look for it in the corner.
- Check the theme in RTL. Not the homepage. The cart drawer, the variant picker, the mega menu, the filter sidebar, the mobile sticky add-to-cart.
- Translate your theme's own strings under Edit default theme content. Shopify ships Arabic for the core Dawn strings. Anything a developer added later is hardcoded English until someone lifts it into the locale file.
That gets you a storefront a customer in Dubai can read. It does not get you one they can search, filter, buy from and receive a correct invoice for.
Translate & Adapt, and where machine Arabic falls over
Machine translation into Arabic is good enough for policy pages, shipping information, FAQ text and the boilerplate nobody reads closely. It is not good enough for product titles, category names or anything that carries a marketing claim. Modern Standard Arabic output tends to be stiff and over-formal, and it mangles two things in particular: brand and material names it tries to translate instead of transliterate, and any English phrase that was already doing double duty as a keyword.
Our working rule is that everything gets machine-translated, then a human reviews the top 100 pages by traffic, every collection name, every variant option value, and every product title. Descriptions can wait. Titles cannot, because they show up in search results, cart lines, order emails and the invoice.
One trap in Translate & Adapt: metafields are not translatable until the metafield definition is marked as translatable. If your fabric, ingredient, care or size-chart data lives in metafields, and most catalogues do, you can spend a week translating products and still have an Arabic page rendering English spec tables. Fix the definitions before the translation work starts, not after.
RTL theme setup is a layout problem, not a language problem
Shopify flips direction for you at the document level. What it cannot flip is design intent. Things that break, in roughly the order we find them:
- Carousels and sliders. Anything driven by a CSS transform or a JS index keeps moving left when the content reads right. Arrows point the wrong way.
- Hardcoded margins. margin-left and float: left in custom sections. Logical properties (margin-inline-start, padding-inline-end) solve it permanently and take an afternoon to convert on a normal theme.
- Icons with direction. Back arrows, breadcrumb chevrons, the "continue shopping" caret. Each needs a mirror in RTL. Search and cart icons do not.
- Mixed-script lines. An Arabic product title containing a Latin brand name and a size in digits will reorder unpredictably if the markup does not isolate the run. This is the single most common visual bug we see on Arabic Shopify stores, and it looks like a typo rather than a code issue, so it survives QA.
- Numerals. Use Western digits for prices in the Gulf. AED 249 reads normally to a Gulf shopper. Arabic-Indic digits in a price field look archaic and confuse comparison.
Fonts deserve their own line. Shopify's font picker has thin Arabic coverage, so most stores self-host something like Cairo, Tajawal, IBM Plex Sans Arabic or Noto Sans Arabic. Arabic glyph sets are much larger than Latin ones and the shaping is contextual, so an unsubsetted Arabic weight is a heavy file to put in front of your largest contentful paint. Subset it, load two weights at most, and measure the Arabic pages separately from the English ones. If the Arabic LCP is a second worse than the English LCP, you have found your font. Our speed work on bilingual stores usually starts there.
Which themes handle Arabic well
Dawn is the safe default. It is maintained by Shopify, it ships Arabic locale files, and its RTL handling is tested. Several paid Theme Store themes list RTL support, and the honest answer is that the label means the CSS flips, not that every section was designed for it. Before buying, open the theme's demo, switch it to a right-to-left language if the demo allows, and look specifically at the filter sidebar and the product page gallery. If a theme vendor cannot show you an Arabic demo, assume you are paying a developer to finish their work.
Heavily customised page-builder themes are the worst case. Every drag-and-drop section stores its own inline layout, and none of it flips.
Arabic domains, URL structure and hreflang
Shopify serves the Arabic version under a subfolder on the same domain: yourbrand.ae/ar/products/.... Keep it that way. A separate .ae Arabic domain splits your authority across two properties and doubles the technical maintenance for no ranking benefit.
Product handles stay in Latin script in most setups. That is fine, and arguably better: percent-encoded Arabic in a URL turns into an unreadable string of %D8% fragments the moment someone shares it on WhatsApp, which in this region is most of your organic sharing. Readable Latin slugs survive the copy-paste.
Shopify emits hreflang tags automatically once markets and languages are configured. Check them in view-source rather than trusting the setting. You are looking for ar-AE, en-AE, and ar-SA if Saudi is a separate market. Getting this wrong is how a Riyadh shopper lands on an AED-priced page and bounces.
Arabic SEO for a UAE Shopify store
Two habits matter more than anything else here.
First, your customers search in mixed script. A shopper looking for a handbag may type شنط, or shanta, or the brand name in Latin letters inside an otherwise Arabic query. Keyword research done only in Modern Standard Arabic misses the Gulf-dialect and transliterated versions entirely. Pull your actual site-search logs after a month and you will find spellings no tool suggested.
Second, Arabic orthography is unstable in ways English is not. Alef appears as ا, أ, إ or آ. Taa marbuta ة gets typed as ه. Yaa ي and alef maqsura ى are used interchangeably. Diacritics are almost never typed. So the same product gets searched five ways, and an exact-match system finds it once.
Practically: write Arabic meta titles and descriptions by hand for your top collections, include the common variant spellings in the body copy or in a hidden search keyword metafield, and do not let the machine translation set your H1s. Also translate your collection descriptions. They are the strongest ranking surface on a Shopify store and they are the first thing people skip.
Bilingual product data is the part that decays
Here is the arithmetic that decides whether your Arabic store stays usable.
Take a catalogue of 1,200 SKUs. Translatable fields per product: title, description, SEO title, SEO meta description, plus three spec metafields. That is seven strings. 1,200 × 7 = 8,400. Add 45 collections at four fields each (180), a dozen pages and policies, and roughly 700 theme strings. You are at about 9,300 strings for the first pass.
Now the drift. Say you launch 80 new SKUs a month, normal for apparel or beauty here. 80 × 7 = 560 new strings every month. If a reviewer clears 60 strings an hour, that is a little over nine hours a month of standing work, before edits to existing products, before campaign landing pages, before the Ramadan collection.
Nine hours a month is one afternoon a week for one person. That is entirely manageable if it is somebody's named responsibility. It is impossible if it is nobody's, which is the default state of every bilingual store we audit. The English catalogue moves because merchandising owns it. The Arabic catalogue only moves if the same task list includes it.
Two structural fixes that reduce the volume rather than the effort:
- Move repeated copy out of descriptions and into metaobjects. Care instructions, fabric composition, warranty terms, sizing notes. Translate the metaobject once and it renders correctly on 300 products.
- Standardise variant option names and values. If your size option is spelled "Size" on some products and "size" on others, you translate it twice and get two different filter entries in the Arabic sidebar. Clean the English before you translate it. Every migration we run includes this pass, and it is the least glamorous, highest-return hour of the whole build.
Arabic search and filtering break differently
Shopify's native storefront search does light normalisation and no real Arabic stemming. So a shopper who types عبايه does not find products tagged عباية, and one who types the definite article prefix الفستان may miss فستان. Arabic also uses broken plurals, where the plural is not the singular plus a suffix, which defeats naive stemming outright.
Then there is filtering. Shopify's filters are built from tags, options and metafield values. Those values need their own translations, and if you skip them the Arabic customer gets a right-to-left sidebar full of English colour names. Worse, the filter counts stay correct while the labels are wrong, so it looks intentional.
If you have more than a few hundred SKUs, this is where a search app earns its cost. Ours, FilterPro, handles the filter and AI search layer so the Arabic sidebar reflects translated values and queries do not have to be spelled the way you tagged them. Whatever you use, test it with three deliberately misspelled Arabic queries and one transliterated brand name before you sign off.
Arabic checkout, Tabby and the strings you do not own
Shopify's checkout localises itself. If the customer is browsing Arabic, checkout renders Arabic, including the field labels, the shipping method names you named in Arabic, and the error messages. That part is reliable.
What is not reliable is everything bolted onto it:
- Tabby and Tamara widgets. Both support Arabic, but the locale is usually set in the app's own settings or passed by the snippet, not inherited from the page. An English instalment message inside an Arabic product page is the most common single defect we find on GCC stores. Check it on mobile, in Arabic, on a real product.
- COD apps and OTP verification. Cash on delivery is still a large share of orders here, and the apps that add a COD fee, verify a phone number or block COD above a cart value frequently ship English-only strings. Ask the vendor for the locale file before you install.
- Shipping rate names. Aramex, Fetchr and same-day couriers appear at checkout under whatever label you typed into shipping settings. Translate those labels. "Standard Delivery 2-4 days" in Latin script sitting inside an Arabic checkout is a small thing that reads as carelessness.
- Upsell and cart apps. Anything rendering a button inside the cart drawer.
Invoices, emails and everything after the order
The order confirmation is where bilingual stores usually leak. Shopify sends notifications in the language the customer bought in, but only for the parts Shopify owns. Any Liquid you or an agency added to the email template needs its own conditional on the order's locale, otherwise the Arabic customer gets an Arabic header, an Arabic footer and an English block of return instructions in the middle.
Invoices are a compliance question, not a design one. In Saudi, e-invoicing rules require the invoice in Arabic, with another language permitted alongside it, and the invoicing app you choose has to support that properly rather than pasting Arabic into a Latin-shaped PDF template. Arabic text in a PDF generator that does not do contextual shaping comes out as disconnected letters in reverse order, and it will pass your visual check if you do not read Arabic. Get a native reader to look at one real invoice. UAE VAT invoices at 5% are usually accepted in English, but confirm the current position with your tax advisor rather than with a blog post, ours included. If you are running Riyadh and Dubai as separate markets with separate logistics, the invoicing rules are one more reason to treat them as two operations, not one.
Also translate: shipping confirmations, abandoned cart flows, review request emails, WhatsApp order updates, and the SMS your OTP app sends. Customers judge the after-sale experience harshly, and an Arabic buyer who gets six English emails concludes the Arabic storefront was decoration.
What to do before Ramadan, not during it
Demand here clusters: Ramadan and Eid, White Friday, DSF. Every one of those brings a campaign with new landing pages, new collections and new copy, and every one of them is when translation quality slips because the deadline is fixed. Build the Arabic version of a campaign at the same time as the English one, in the same brief, or accept that the Arabic version will go live two days late with machine output.
If you want a specific starting point this week: open your store in Arabic on a phone, add a product with a variant to the cart, go through checkout, and screenshot every English string you see along the way. That list is your backlog, in priority order, and it is usually shorter than people fear. If you would rather we ran it, our free store audit covers the RTL and bilingual data checks alongside the usual speed and conversion pass.


