WordPress plugin for Arabic, Persian and Urdu

RTL Ready

A WordPress plugin that corrects right-to-left display faults as each page is served — number, time and currency order, digit style, arrows and English strings left on Arabic pages — and reports the health of a bilingual site. Arabic, Persian and Urdu.

  • WordPress plugin
  • Arabic
  • RTL
  • Freemium
Visit RTL Ready
RTL Ready
Role
Founder, product design, plugin build
Capabilities
Display fixes applied as the page is served, never to stored content · Number, time and currency order in Arabic, Persian and Urdu · One digit style for the whole site, and interface strings translated on non-English pages · Health report scoring pages, products, menus and the theme in every language · On-page checker visible only to a logged-in reviewer
Live site
rtlready.com

The problem

WordPress turns an Arabic page around. It does not fix what is written inside it. So a Kuwaiti business publishes an Arabic page and the phone number comes out backwards, the opening hours read from the wrong end, the price sits with the dinar on the wrong side, half the buttons still say “Read more”, and two styles of digit appear on the same screen. None of it is a translation failure. Every one of these is a display fault, and the person who notices first is a customer trying to dial a number that does not work.

The owner’s options today are bad. Pay a developer for a round of one-off CSS patches that the next theme update undoes. Or edit the content itself and hope nobody pastes the number back in the old order next month.

What it is

RTL Ready is a WordPress plugin that corrects these faults as each page is served, in Arabic, Persian and Urdu. Phone numbers, time ranges and currency are put in the order the language actually reads. One digit style is chosen for the whole site rather than two per page. Arrows on buttons and sliders point the way the reader is going. Interface strings left in English on an Arabic page are translated. Each fix is a switch, and switching it off returns the page to exactly what it was.

Beside the fixes there is a health report: a score out of a hundred for the site’s Arabic side, the pages with no Arabic version, the English still sitting inside Arabic pages, the language tags Google reads, and the encoded Arabic web addresses that look like line noise in a search result. It runs across pages, products, menus and the theme, in every language the site publishes.

Why it was hard

The rule is that the plugin must never change stored content. A fix that rewrites the database is a fix that cannot be undone and cannot survive being switched off, so everything happens as the page is rendered — which means it has to be fast enough to be invisible, and correct enough to be trusted on a page nobody reviewed.

Mixed text is genuinely difficult. A line that carries Arabic words, Latin brand names, a phone number and a currency symbol has to be reordered piece by piece without touching the parts that were already right. The wrong rule applied twice produces a number that is broken in a new way.

And it has to work where the pages actually come from: the block editor, the classic editor, Elementor, WooCommerce for prices in cart, checkout and emails, and alongside Polylang and WPML rather than competing with them.

The rule about time, which nobody writes down

An Arabic time range starts on the right. Working hours written «9:00 – 13:00» in an Arabic page read as though the day began at one in the afternoon, and that is the single most common fault on Kuwaiti sites — restaurants, clinics, government-facing services, all of them. It is invisible to anyone reading in English, which is why it survives redesign after redesign.

The same logic decides where a currency symbol sits and which way an arrow points. None of it is a matter of taste. There is a right answer per language, and a plugin can apply it consistently where a designer cannot be present on every page.

Free in full, because the fixes are the point

The fixes and the health report are free on WordPress.org and stay free. A paid tier adds per-page reporting and scheduling for people managing several sites, and nothing in the free plugin is held back to force the upgrade.

That is a deliberate commercial choice: an Arabic display fault is not a premium problem, and a plugin that leaves the phone number backwards until you pay would deserve to fail.

What it demonstrates

Most of what is wrong with Arabic on the web is not a translation budget. It is a set of small, knowable, repeatable display rules that no theme applies and no agency documents. Turning them into software — reversible, measurable, and switched on by default — is worth more to a bilingual business than another redesign.

It is also the argument I make to clients in a different form: you cannot manage what nobody measures, and until this existed there was no way for an owner to see the state of their own Arabic side without paying somebody to read it page by page.

Where it is now

Built and live at rtlready.com, with the free plugin on WordPress.org. Arabic, Persian and Urdu are supported from the first release, and the health report covers pages, products, menus and the theme in every language a site publishes.

Services behind this project

AI Consulting & Automation

Practical AI strategy and implementation focused on solving real business problems, improving workflows and creating better customer and employee experiences.

Fractional CTO Services

Senior technology leadership for companies that need CTO-level strategy, decision-making and oversight without hiring a full-time CTO.

Website Design & Build

Websites and digital products designed and built around business goals, with the decisions that determine the outcome taken before anyone opens a design tool.

WordPress Design & Development

Custom WordPress websites built properly — fast, secure, easy for your team to update, and free of page-builder bloat.

SEO, AEO & GEO

Search and AI visibility strategies designed to help businesses become easier to discover, understand and recommend.

Have a project, problem or idea?

Let's discuss what you're trying to build, improve or grow — and whether I can help.

Discuss Your Project