Web design for Iranian small businesses: what actually works
What I have learned rebuilding business websites in Iran: a fast, trustworthy RTL site that sells, instead of a pretty brochure nobody can load on mobile.
- Home-
- Categories-
- Frontend Development-
Web design for Iranian small businesses: what actually works
Web design for Iranian small businesses: what actually works
Most small business websites in Iran are built by whoever happened to be free last week, on a template from a marketplace, and then never touched again. I have audited enough of them to say the pattern is consistent: the owner wants more customers, and the site delivers a slideshow. Here is what I have seen actually work when I rebuild these, and what I deliberately leave out.
What almost every one of them gets wrong
- The brochure site. A hero image, an about paragraph written in 2017, a contact form nobody monitors, and no way to buy, book, or reserve anything. It exists for decoration and for printing on a business card.
- The hero carousel. Three to five rotating banners, crossfading every four seconds, each with an oversized Persian headline and a drop shadow. On a mid-range Android phone this is the main reason the page feels slow, and nobody waits.
- Font bloat. Loading Vazirmatn, Estedad, Samim, IRANSans and a Persian numeral font, each in multiple weights, all at once. Persian webfonts are large, and mobile data on Iranian plans is not unlimited the way people assume.
- Desktop first. Designed at 1440px and then squeezed. The navigation collapses into a broken hamburger and the phone number ends up in a tiny footer nobody taps.
- No trust signals. An unofficial logo, no address, no licence, no reviews.
What these sites actually need
Start with a clear mobile first RTL layout. Most traffic is Android on a mid-range device, arriving from an Instagram bio or a Telegram channel. So: right aligned text, `dir="rtl"` on the document, a sticky bottom bar with call and WhatsApp buttons, and exactly one obvious action per screen. Reading order should match how Persian text is actually scanned.
Persian typography without bloat is simpler than people assume. One variable font file, two or three weights, `font-display: swap`, self hosted, nothing else. Body text at 16 to 17px with line height near 1.9, because Persian needs more vertical space than Latin. Keep prices in Latin digits so people can compare them, but format dates and phones the way your customers expect.
Speed is a trust signal here. My target is LCP under 2.5 seconds, ideally under 1.8, measured on a throttled Iranian mobile connection where latency is often 60 to 120ms even on a fast plan. That means one properly sized hero image in AVIF or WebP with explicit dimensions, no render blocking CSS, no carousel library, and lazy loading below the fold.
Trust elements are what convert, and they are boring: your real street address with a map embed, your business licence and the enamad (نماد اعتماد) badge if you have one, a phone number a human answers, WhatsApp with a pre-filled message, opening hours including that the Iranian week runs Saturday to Thursday, and real testimonials with names and dates. For maps use Neshan or Mapir embeds, because Google is filtered on most Iranian networks, and keep the address as plain text so it can be copied into any app.
Commerce that converts on Iranian phones
Most of these businesses need a catalog, not a checkout platform. A grid of products or services, each with one photo, a price, and a WhatsApp button that opens a message with the product name already written. That converts better than a cart, because the buyer finishes the order inside the app they already use.
If customers are on limited plans, prepaid data, or weak WiFi, say call to reserve instead of shipping a booking flow. Fewer plans means fewer decisions.
The rebuild checklist
- Crawl the current site and record traffic, top landing pages, and every indexed URL before changing anything.
- Keep every URL that has traffic and 301 the rest to the closest equivalent.
- Cut the carousel, the sliders, and every plugin whose only job is animation.
- Consolidate to one self hosted variable Persian font.
- Rebuild the hero as a single real photo or product shot, not a designed graphic.
- Add the trust block: address, map, licence, phone, WhatsApp, hours, reviews.
- Replace the contact form with a real inbox plus the WhatsApp button.
- Compress every image and add width and height attributes.
- Run Lighthouse on a mobile profile and aim for 90 plus on performance, accessibility, and SEO.
- Set up Search Console with a clean sitemap, or a first party analytics tool.
What it costs
A marketplace template theme runs a few million Toman, and you will spend more fixing it than you saved. A well built custom Next.js or static site for a small business lands roughly 15 to 45 million Toman, depending on page count, whether there is a catalog, and whether the owner gets a headless CMS to edit content. Hosting and care sit on top as a small monthly figure. Treat the Toman number as the anchor, since exchange rates move and comparisons across currencies mislead.
The point
A small business site does not need to impress designers. It needs to load in a few seconds on a cheap phone, say exactly what the business sells and how to reach it, and look like a real business with a real address. Everything else is decoration.
Key takeaways
- Design mobile first and right to left, because most traffic arrives from an Instagram bio or a Telegram channel.
- Cut the hero carousel, the extra font families, and every plugin whose only job is animation.
- Trust is what converts: real address, map, business licence, enamad badge, an answered phone, real reviews.
- Sell through a catalog grid with a WhatsApp button, not a full checkout platform, because buyers finish inside the app they use.
- Target LCP under 2.5 seconds, ideally under 1.8, on a throttled Iranian mobile connection.
FAQ
Q: What does a small business website in Iran actually need? A: It must load in a few seconds on a cheap phone, say what the business sells and how to reach it, and look like a real business with a real address. Impressing designers is not the goal.
Q: Should I build a cart or a booking flow? A: Most need a catalog, not a checkout platform: one photo, a price, and a WhatsApp button with a pre-filled message. That converts better because the buyer finishes the order inside the app they already use.
125
1800
you might also like...
The staged path from a slow WordPress site to a fast Next.js one, keeping Persian content, Persian URLs and search traffic intact.
The App Router and React Server Components are not just new APIs; they change where your code runs. Here is how they cut bundle size, simplified data fetching, and made my pages measurably faster.


