How to enable RTL in WordPress

Learn how to activate RTL for your WordPress website

There are a couple of languages written and read from right to left (RTL) direction – like Arabic, Hebrew, Farsi, Urdu and others. Using WordPress and WordPress themes which support RTL you can switch your website to RTL very easily. Enabling RTL for your WordPress website is quite simple and we would like to guide you on how to activate RTL for your WordPress website in this mini tutorial.

Activate RTL WordPress
Image Source: geralt – Pixabay.com / License: CC0 Public Domain

What is required to run a WordPress website in RTL?

There are a few essential requirements that need to be fulfilled in order for your website to display in RTL. First, the RTL language you want to use for your WordPress website must be supported by WordPress. You can check whether your preferred language is supported and to which degree it has been translated when looking at this overview.

Second, you need a WordPress theme that supports RTL languages. That basically means that the WordPress theme you are using must include two stylesheets – style.css AND rtl.css. The rtl.css stylesheet manages to display all important site elements from right to left and partly overrides the style.css wherever necessary. If RTL support is available, most WordPress themes mention support for RTL in their features overview – our popular MH Magazine WordPress theme supports RTL out of the box, which is ideal for languages like Hebrew, Arabic or any other RTL languages.

MH Magazine WordPress Theme

How to enable RTL for your WordPress website?

When those two requirements are given (RTL language which is supported by WordPress AND a WordPress theme which supports RTL) you are ready to enable RTL for your WordPress website.

Provided that you have WordPress installed and have a WordPress theme for RTL languages activated, the only thing you basically have to do is to switch your WordPress installation to your preferred RTL language, to do so, please follow the instructions below.

Navigate to Settings => General in your WordPress dashboard and select the preferred “Site language” – don’t forget to hit the “Save Changes” button. WordPress detects whether your chosen language is a RTL language and when your WordPress theme supports RTL, the rtl.css stylesheet is loaded automatically and your website will be displayed in RTL. That’s it.

Share this with your friends

21 Comments

  1. Hi there, Thanks for your article. I’ve followed your guidance but rtl.css didn’t load automatically and still same. Only dashboard has been changed to Farsi. Regards

    • Hi Ali, you could check if your WordPress theme supports RTL languages and also if your theme is translated into your language. If it isn’t translated, you usually can easily translate most WordPress themes. In case you’ve purchased a WordPress theme by MH Themes and need assistance, please send a support request through your MH Themes account and our support staff will be more than happy to assist.

  2. Hi, thanks for the great post. Question – Is it possible to enable RTL (for Hebrew / Arabic) but at the same time to have the WP dashboard remain in English?

    • Hi Noam, thanks – we’re very happy that you like the article about RTL languages in WordPress. Regarding your question, there are certain plugins available that allow to switch the language in the frontend of your website, while keeping your WordPress dashboard in English language. Kevin had the same question and it has already been answered above.

  3. Is it possible that we make the user viewing the website change between RTL and LTR (i.e. going between rtl.css and style.css) and use that in the code of a language switcher? I can change the website content to a different language with the language switcher but I can’t figure out how to do that with the css file.

    • Hi Haytham, in general WordPress will automatically load the RTL stylesheet (rtl.css) as soon as you’ve enabled a RTL language in your WordPress dashboard. In case you’re using a plugin for multilingual websites with a language switcher, you would need to check with the plugin developers if their plugin offers an option to also load the RTL stylesheet in WordPress as soon as the particular RTL language is enabled.

  4. Hello, and thank you for this tutorial. But this is in case the WordPress theme supports RTL language; if it’s not the case, I mean if the WordPress theme doesn’t support RTL, how can I translate it to Arabic language?

    • Hi Hassan, translations and RTL support are two different things. For example if your WordPress theme is translation-ready, but has no RTL support, then you usually still can translate the theme into Arabic language, but it won’t display the site elements from right-to-left. In that case it’s something you would need to code manually within the file rtl.css or instead use WordPress themes that support RTL out of the box.

  5. Hello, thank you for this nice post. I have a popular WordPress theme with RTL support, but when I use a demo in my RTL language mode, some of the columns loose their style and order and it shows all columns in one big column almost like mobile version. Do you think I can fix that or I can’t use prepared demos? Sorry for my weak English!

    • Hi Hadi, that’s hard to answer without doing further analysis, but if your WordPress theme is advertised with RTL support, then it usually should display nicely when you’ve enabled the RTL mode, no matter what content you have on your site.

      However, of course it’s possible that the demo content is broken somehow or that there are other issues. It probably would be best to contact the developer of your WordPress theme for further analysis and customer support.

  6. Hello, thank you for this wonderful post. I’ve used the RTL Tester plugin to switch my site to RTL view and my WordPress theme is supporting RTL and it has rtl.css.

    But my theme only switches to RTL for the internal pages. I mean the home page doesn’t switch to RTL. It stays the same but when you navigate to the internal pages from the main menu, the RTL view is working. Would you please help me?

    • Hi Anas, you’re not using one of our WordPress themes, so it’s hard to determine what exactly your theme is doing. However, you could try to clear your browser cache and reload the site in your browser. That way you can ensure that it’s not a caching issue.

      If that doesn’t help, then it’s very likely that your WordPress theme doesn’t support RTL for the front page layout. In case you’re looking for a blog, news or magazine WordPress theme that supports RTL languages nicely, you could check our popular MH Magazine theme.

  7. Hi Aline, great post! Thank you for sharing. Fortunately given the noticeable increase in the number of RTL websites live on the web, most of the premium WordPress themes out there (like your MH Magazine theme) include RTL support already.

  8. I like your magazine theme. Most of my posts will be in English. However, within the posts there will be text in Hebrew that have to go from RTL within a LTR post. Can this be done?

    • Hi Shari, out of the box the language setting in WordPress is site-wide. That means once you’ve switched to a RTL language in WordPress, your site will display content from right to left accordingly (if supported by the theme, e.g. MH Magazine). You can’t have this differently for particular site elements, unless it’s done through custom code or plugins for that purpose.

  9. Hello, do you have a WordPress theme for an arabic magazine website which supports totally RTL & choice between right sidebar or left sidebar? Thanks in advance.

Leave a Comment

Your email address will not be published.


*