5 min read
SEO for Persian websites: Dalizhe’s technical checklist
Technical considerations for Persian websites, covering crawl access, page structure, language versions, fonts and hosting.

Most search engine optimisation advice is written for English websites. Nearly all of it applies to a Persian site as well, but Persian-language pages have considerations of their own: two ways to type the same letter, fonts that weigh more, a calendar that structured data does not speak, and servers that search engines reach from far away. This is the technical checklist we go through on every Persian site we build. These points rest on technical principles and the search engines' own guidelines, applied to Persian.
1. Let search engines read the page
The most important rule: the text should be in the HTML the server sends, not added later by JavaScript. Google can run JavaScript, but rendering happens in a later, slower pass, and other search engines and AI crawlers often do not run it at all. A page that arrives empty and fills itself in the browser is a page some crawlers never see.
Plain HTML pages, server rendering or pre-rendering all solve this. Check by opening the page source (not the inspector): if your headings and paragraphs are there, crawlers can read them.
2. One clear title and description per page
- Every page gets its own title. Google decides how much of it to show by the width of the screen, not a fixed number of characters, so put the words that matter first and the brand name last.
- Write the description as a summary a person would want to click. Google sometimes shows text from the page instead; a description that sums the page up accurately gives it a good option to use.
- One main heading (
h1) that says what the page is about, in the words people would search for.
3. Persian text: one way to write each word
Search engines and your own site search compare characters, not shapes, so consistency matters:
- Persian ی and ک, not Arabic ي and ك. Some keyboards and older systems type the Arabic forms. They look almost the same but are different characters. Normalise everything you publish and everything users type into your search box.
- The zero-width non-joiner (نیمفاصله) in «میشود» or «کتابها». Use it consistently; a word typed with a space in one place and a half-space in another is two different strings.
- Write the words people search for. Persian searchers type both the formal and the spoken forms of a phrase. Look at what people actually ask, and use those words naturally in headings and text.
4. Addresses that last
Google's guidance is to use words in the URL that make sense to your audience, encoded as UTF-8 when they are not Latin. Both work:
- Persian slugs (
/مقاله/سئو-سایت) read naturally in Persian, but turn into long percent-encoded strings when they are copied into a chat or an email. - Latin slugs (
/blog/seo-for-a-persian-website/) stay short and readable everywhere.
We use Latin slugs, the same in both languages of a bilingual site. Whatever you choose, the more important rule is to never change an address once it is published; if you must, redirect the old one permanently (HTTP 301) to the new one.
5. Language signals
- Put
lang="fa"anddir="rtl"on the<html>element. Google says it works out a page's language from its visible text rather than from this attribute, but browsers, screen readers and other tools rely on it. - If the site also has an English version, link the two with
hreflang. We wrote a separate guide on building a bilingual Persian and English site. - Keep one language per page. A page that is half Persian and half English is hard to rank for either.
6. Speed, with Persian fonts
Google uses the Core Web Vitals as one of its signals, and its "good" thresholds are clear: the largest element on screen within 2.5 seconds (LCP), responses to taps and clicks within 200 milliseconds (INP), and a layout that moves no more than 0.1 (CLS).
For Persian pages, the font is one of the main factors in loading speed. A Persian web font can be a large file, and if the text waits for it, everything waits.
- Serve fonts as WOFF2, and only the weights you use.
- Use
font-display: swapso text appears at once in a fallback font. - Preload the one font the first screen needs.
- Give every image its
widthandheightso the page does not jump while it loads, use WebP or AVIF, and lazy-load images below the first screen.
7. Hosting: can the crawler reach you?
Google says Googlebot crawls mainly from IP addresses in the United States. A site hosted in Iran has to answer those requests reliably. Some hosting setups limit or slow international traffic, and some firewalls block foreign addresses outright; if Googlebot cannot fetch a page, that page cannot be indexed, however good it is.
Check the crawl statistics in Google Search Console after launch, and make sure your server or firewall never blocks search engine crawlers. If most of your visitors are in Iran and your server is too, a content delivery network with points of presence inside and outside the country can serve both.
8. Structured data, with Gregorian dates
Structured data (JSON-LD using the schema.org vocabulary) tells search engines what a page is: an organisation, an article, a product, a breadcrumb trail. Two Persian-specific points:
- Dates in structured data must be ISO 8601, which is Gregorian (
2026-10-20), even when the page shows the Solar Hijri date to readers. Convert for display only. - Give the organisation both its Persian and its Latin name (
nameandalternateName), so it can be matched whichever one people search.
9. Tell search engines what exists
- A sitemap listing every page you want found, linked from
robots.txt. - Google Search Console and Bing Webmaster Tools: verify the site in both, submit the sitemap, and read the reports on pages that could not be indexed.
- IndexNow, an open protocol that lets a site tell Bing, Yandex and several other engines the moment a page is added or changed. Google does not use it, but it costs one small file and one request after each update.
10. And then, content
All of the above only lets search engines find and understand your pages. What makes a page rank is still whether it answers the question someone searched for better than the alternatives. Google's guidance is explicit that pages written for people, by people who know the subject, are what its systems try to reward. Write in Persian rather than translating into it, keep pages accurate and up to date, and link related pages to each other so readers, and crawlers, can follow the thread.


