Arabic to Latin – Arabic Slugs & Permalinks in English Letters
Arabic to Latin – Arabic Slugs & Permalinks in English Letters

Arabic to Latin – Arabic Slugs & Permalinks in English Letters

5/5 (2 ratings) 30 active installs Updated Nov 8, 2026
Settings → Arabic to Latin: try a title, choose a spelling style, add your own replacements.

Settings → Arabic to Latin: try a title, choose a spelling style, add your own replacements.

Write titles in Arabic, publish with clean, readable URLs in English (Latin) letters.

WordPress turns an Arabic title like مرحبا بالعالم into a link full of percent codes:

example.com/%d9%85%d8%b1%d8%ad%d8%a8%d8%a7-%d8%a8%d8%a7%d9%84%d8%b9%d8%a7%d9%84%d9%85/

Paste that link into an email, a WhatsApp message or a spreadsheet and that is exactly what people see. Arabic to Latin creates this slug instead:

example.com/mrhba-balaalm/

It works automatically for every new post, page, product, category, tag and uploaded file. No API key, no external service, no AI credits: the transliteration runs inside WordPress.

Optional: with the AI connector set up in WordPress (Settings Connectors, WordPress 7.0+) or your own Claude or ChatGPT API key, authors can also ask for an English slug that describes the post (طبخة ملوخية molokhia-recipe), right in the block editor. It’s off by default and only used when the author picks the suggestion.

What it does

  • Transliterates new slugs of posts, pages, custom post types, WooCommerce products, categories, tags and custom taxonomies from Arabic script to Latin letters.
  • Works in the block editor (Gutenberg), the classic editor, Quick Edit, the REST API, WP-CLI, imports and XML-RPC.
  • Transliterates uploaded file names: صورة.jpg becomes sura.jpg (optional).
  • Supports Arabic, Persian (Farsi), Urdu, Kurdish and Maghrebi letters, Arabic-Indic and Persian digits (٢٠٢٦ 2026) and diacritics (مُحَمَّد muhammad).
  • Handles text pasted from PDFs and Word: Arabic letter shapes and ligatures such as ﻻ and ﷲ are read as ordinary letters, also on servers without the PHP intl extension.
  • Readable results: و and ي become the vowels u and i inside words, so سعيد becomes said, not sayd, and يوسف becomes yusf.
  • Regional spelling styles: Standard, Egyptian (جمال gmal), Maghreb / French (شكور chkour, وجدة oujda), Franco-Arabic / Arabizi chat numbers (حبيبي 7bibi) or Persian (Farsi), which reads the letters the Persian way: خانه khane not khanh, وردپرس vrdprs, قیمت ghimt, while ماه stays mah.
  • Editable table: override any letter, for example ع = 3 for Franco-Arabic (Arabizi) style, or whole words (محمد = mohammed) from the settings page.
  • Latin slug preview in the block editor while you type the title, before the first save.
  • Optional AI slug suggestions through WordPress’s AI connectors (7.0+) or your own Claude (Anthropic) or ChatGPT (OpenAI) key: an English slug that says what the post is about, the way people search for it (طبخة ملوخية molokhia-recipe), or a translation of the title (molokhia-dish). Names, dishes and places stay in their usual spelling. Suggested in the block editor, used only when the author clicks it; cached, with a daily limit. Off by default.
  • Converts existing Arabic slugs on request: preview first, choose post types and taxonomies, and follow a progress bar; any number of posts, no timeouts. Old URLs keep working: they redirect (301) to the new ones, for posts, pages, categories and tags.
  • Never touches what isn’t a slug: heading anchors from table-of-contents plugins and CSS classes on your public pages keep their Arabic, so links people already shared still work.
  • Never changes existing links on its own. Activating the plugin only affects new slugs.
  • Leaves other languages alone: accented letters, Cyrillic and other scripts are handled by WordPress exactly as before.

Works with multilingual plugins

The plugin detects Arabic script, not the site or post language. So it behaves the same whichever multilingual plugin you use, and in every language of the site:

  • WPML: tested with WPML 4.9.7: Arabic translations from the block editor, WPML’s Taxonomy Translation screen, duplicates, /ar/ URLs, and conversion of existing Arabic slugs with redirects.
  • Polylang: tested with Arabic, English and German languages, including /ar/ URLs and translated categories.
  • TranslatePress: tested together with its own slug filter; /ar/ URLs and redirects keep the language prefix.
  • Any other plugin that creates posts and terms through the standard WordPress functions.

Need native Arabic slugs in a specific case? The arabic_to_lat_should_transliterate filter lets you decide per slug (see FAQ).

Works with WooCommerce, ACF and multisite

  • WooCommerce: product, product category, product tag and attribute term slugs are transliterated. New global attributes get a Latin name (اللون pa_allun), which also avoids WooCommerce’s limits on long Arabic attribute names. Existing attributes and internal keys stay exactly as they are, so variable products created before you installed the plugin keep working in the cart.
  • Advanced Custom Fields: new fields get Latin field names from Arabic labels (الاسم الكامل alasm_alkaml). Existing fields are never renamed.
  • Multisite: network-activate it; every site keeps its own spelling style and replacements.

For developers

  • WP-CLI: wp arabic-to-lat convert --dry-run, wp arabic-to-lat convert --post_type=product --taxonomy=product_cat, wp arabic-to-lat slug "مرحبا بالعالم" (formats: table, csv, json, count)
  • Filters: arabic_to_lat_pre_transliterate (replace the result, e.g. with a translation), arabic_to_lat_should_transliterate, arabic_to_lat_is_public_request, atl_table, arabic_to_lat_convert_post_types, arabic_to_lat_convert_taxonomies, arabic_to_lat_batch_seconds
  • Action: arabic_to_lat_slug_converted
  • REST: GET /wp-json/arabic-to-lat/v1/slug?title=… (users who can edit posts)
  • Source, issues and pull requests: github.com/khusamalfas/Arabic-to-latin. Wrong transliteration, a missing letter or a bug: open an issue there with the input and the slug you expected. Install the plugin from here, not from GitHub.

بالعربية

إضافة لتحويل روابط ووردبريس العربية (الاسم اللطيف أو الـ slug، والروابط الدائمة) إلى حروف إنجليزية (لاتينية) مقروءة تلقائياً، بدلاً من الرموز الطويلة مثل %d9%85%d8%b1. تعمل مع المقالات والصفحات والمنتجات والتصنيفات والوسوم وأسماء الملفات المرفوعة، وتدعم الحروف الفارسية والأردية والأرقام العربية. متوافقة مع WPML و Polylang و TranslatePress و WooCommerce ومحرر المكوّنات (غوتنبرغ). لا تغيّر الروابط القديمة إلا عند طلبك، مع تحويل 301 من الرابط القديم إلى الجديد.

به فارسی

افزونه‌ای برای تبدیل خودکار نامک‌های فارسی، عربی و اردو در وردپرس به حروف لاتین (انگلیسی) خوانا، به‌جای کدهای طولانی مانند %d9%85%d8%b1. برای نوشته‌ها، برگه‌ها، محصولات، دسته‌ها، برچسب‌ها و نام فایل‌ها کار می‌کند و با WPML، Polylang، TranslatePress و ووکامرس سازگار است. پیوندهای یکتای قدیمی فقط به درخواست شما تغییر می‌کنند و با ریدایرکت 301 به نشانی جدید می‌روند.

Who makes it

Arabic to Latin is a personal project by Khusam Alfas, who works at SEO Revolution, WordPress Agentur in Berlin. It is not a SEO Revolution product, and SEO Revolution does not provide support for it. For questions and bug reports, please use the support forum here on WordPress.org.

External services

The plugin works without any external service. Only if you switch on the optional AI slug suggestions does it connect to an AI provider:

  • WordPress AI connector (WordPress 7.0+): the request goes through WordPress’s built-in AI Client to the service you set up in Settings Connectors (for example Anthropic, OpenAI or Google Gemini at https://generativelanguage.googleapis.com), under that service’s terms, which its provider plugin lists.
  • Anthropic (Claude) with your own API key, https://api.anthropic.com/v1/messages — Commercial Terms, Privacy Policy.
  • OpenAI (ChatGPT) with your own API key, https://api.openai.com/v1/responses — Services Agreement, Privacy Policy, API data usage.

What is sent, and when: the post title and the first 300 words of the post text, each time an author clicks “Suggest” in the block editor or an administrator clicks “Test connection”. Nothing is sent automatically, on saving or publishing, or about visitors. The provider returns a suggested slug.