- Why English-Arabic Sites Are Different
- Choose an RTL-Ready Theme
- What Is Polylang and How It Helps
- How to Install and Configure Polylang
- Build Your Translation Workflow
- Technical Considerations for Arabic Websites
- Common Problems and Solutions
- Performance Optimization
- Growing Your Multilingual Capabilities
If you’re creating an Arabic version of a WordPress website, you need to think beyond translation. Arabic reads from right to left, which affects how every element on the page behaves. Layouts, menus, and text alignment must all adjust for this direction.
In this guide, we explain how to use Polylang to create a functional English-Arabic site, with practical steps and lessons from building WordPress projects for 600+ agencies.
Why English-Arabic Sites Are Different
Arabic websites are not just translations of English ones; they’re mirrored versions. When a user switches languages, the layout must flip accordingly. Menus move to the right, text aligns differently, and design elements reposition to match the reading flow.
If a site isn’t prepared for right-to-left (RTL) formatting, these changes won’t apply correctly. The result is a broken Arabic layout, even if the translations themselves are accurate. Setting up proper RTL support from the start prevents these issues.
Choose an RTL-Ready Theme
Not all WordPress themes handle RTL languages properly, and discovering this after building the English version is expensive. RTL-ready themes include CSS files that automatically adjust layouts for right-to-left languages. When you switch to Arabic, these themes flip navigation, adjust text alignment, and reposition elements without custom development.
Themes like Astra, GeneratePress, and Kadence include solid RTL support. If you’re working with custom themes, you need RTL support built into the core structure from the start.
Before choosing a theme, it’s worth checking a few basics to confirm it can handle RTL correctly. For example, you can consider these couple of factors:
- Does it include an
rtl.cssfile in the stylesheet directory? - Do navigation menus reposition correctly when switching to Arabic?
- Does text alignment adjust automatically without manual CSS overrides?
- Do images and media elements reposition appropriately?
What Is Polylang and How It Helps

An RTL-ready theme solves direction and layout, but it does not make your site multilingual. You still need a tool to manage languages, translations, URLs, and SEO. That’s where Polylang WordPress is useful. While your theme handles layout direction, Polylang manages languages and translations. It’s the plugin that connects English and Arabic content and tells WordPress which version to display.
Elie, one of our Account Managers, explains it best: “Polylang plugin is a tool for WordPress that enables the creation of multilingual websites, allowing you to translate content like posts, pages, categories, and menus into an unlimited number of languages. It provides features for manual and machine translation, and integrates with existing themes and plugins. It also helps with URL management for different languages, and supports SEO by adding Hreflang tags.”
A free version of the plugin covers the essentials, while the Pro version adds advanced tools such as automatic synchronization of content between languages, which is especially useful for large or frequently updated sites.
How to Install and Configure Polylang

Once your theme is ready for right-to-left support, you can integrate Polylang to manage multiple languages on your site. The plugin is available in the WordPress repository and installs like any other plugin.
After activating Polylang, go to Languages in your WordPress dashboard to set up your site’s languages.
- Add English as the default language.
- Set the language code to
en. - Choose the locale
en_US(or another variant, such asen_GB, depending on your audience).
- Set the language code to
- Add Arabic as your second language.
- Set the language code to
ar. - Select a locale such as
ar_SAfor Saudi Arabia or another regional variant if required. - Check the option “The language is written right-to-left.” This enables RTL formatting for all Arabic content.
- Set the language code to
- Configure the URL structure.
Polylang supports several formats — language directories (e.g., /en/ and /ar/), subdomains, or separate domains. We usually recommend directory structures because they keep SEO authority within one domain while maintaining clear language separation.
- Translate sitewide text.
Under String Translations, translate your site title, tagline, and any global text elements so they appear correctly in both English and Arabic.
Once the basic setup is complete, you can start assigning languages to your content and creating translations for pages, posts, and menus.
WordPress Outsourcing Services
Enhance your agency’s capabilities with our WordPress outsourcing services. Get expert development, design, and maintenance support tailored to your needs.
Build Your Translation Workflow
Once Polylang WordPress is configured, the next step is organizing how content gets created and translated. Without a clear process, you’ll end up with inconsistencies between languages and waste time fixing avoidable mistakes.
At WLA, we’ve learned that finalizing the English version before starting translation saves significant time. When content changes midway through translation, you’re essentially doing the work twice. Wait until the English pages are approved, then use Polylang’s translation interface to create the Arabic version.
In the WordPress editor, you’ll see language settings in the sidebar. Assign English to your primary page. When you’re ready to translate, click the plus (+) icon next to Arabic. Polylang links the two pages, so they share the same structure and layout while displaying different language content.
How We Handle Translations Internally
We use Polylang’s duplication option to copy the layout and images while clearing the text for translation. This preserves your design structure: shortcodes, image placements, section layouts, so translators only need to replace text rather than rebuild pages.
Context matters more than you might think. When we send content to translators, we include screenshots showing where text appears on the page. A call-to-action button needs different phrasing than a detailed paragraph, and translators make better decisions when they understand the context. Menu items, for example, need to be concise because space is limited, especially when Arabic text can run longer than English.
After translation, review the Arabic pages in the actual RTL layout before showing anything to the client. Text that looks fine in a document can reveal problems when displayed on the page. Menu items might break your navigation layout if they’re too long. Headings might not wrap properly at your breakpoints. Buttons might push other elements out of alignment.
Test the language switcher to make sure each link points to the correct corresponding page. This seems basic, but it’s easy to miss a link during setup, and users notice immediately when a language switch doesn’t work.
Setting Up Navigation Menus
Navigation menus need separate versions for each language. You might have a menu item that says “Services” in English, but the Arabic translation could be significantly longer or shorter. Separate menus give you control to adjust structure as needed.
In WordPress Menus, build your English menu first, then create a second menu specifically for Arabic. In Polylang settings under the Menus tab, assign which menu displays for each language. This way, when a user switches to Arabic, they see the Arabic menu automatically.
The technical piece here is making sure your theme’s CSS properly repositions the navigation for RTL. The menu should appear on the right side of the header when viewing Arabic pages, and dropdown submenus should expand from right to left instead of left to right. If your theme doesn’t handle this automatically, you’ll need CSS rules to reposition everything.
Here’s what that CSS typically looks like:
CSS
.rtl #primary-navigation {
float: right;
}
.rtl #primary-navigation ul li {
float: right;
}
.rtl #primary-navigation ul ul {
left: auto;
right: 0;
}
WordPress automatically adds the .rtl class to the body element when displaying RTL languages, so you can use that class to target your RTL-specific styles.
Managing Widgets and Sidebars
Polylang can create separate widget areas for each language, giving you duplicate sidebars: “Sidebar (English)” and “Sidebar (Arabic)”. Enable this in Polylang settings under Widgets. However, we often take a simpler approach. Not every widget needs translation. A recent posts widget works fine with the same settings in both languages if Polylang is translating your post titles. An image widget might not need any changes at all.
Focus your translation efforts on widgets that contain text: calls-to-action, contact information, newsletter signups, and custom HTML widgets with marketing messages. These are the widgets where language actually matters to the user experience.
WordPress Development Agency
Experience WordPress development with our custom-coded websites. Perfect for agencies, our reliable service ensures timely delivery and client satisfaction.
Enabling Custom Post Types
If your site uses custom post types (services, portfolios, testimonials, or any other custom content) you need to configure Polylang to recognize them. Go to Polylang settings under Custom post types and Taxonomies, and check the boxes for the post types you want to make translatable. We’ve seen agencies miss this step and then wonder why their custom portfolio items can’t be translated. It’s a simple setting, but critical if you’re working with anything beyond standard posts and pages.
Technical Considerations for Arabic Websites

Beyond the basic Polylang WordPress setup, several technical factors determine whether your English-Arabic site actually functions properly. These are details that might not be obvious until you’re deep into a project, so we’ve learned to address them upfront.
Font Selection Matters
Not all fonts support Arabic characters properly. Some fonts display Arabic text but with poor spacing or misaligned characters. We typically use Cairo, Tajawal, or Amiri from Google Fonts because they’re designed for Arabic and display correctly across browsers and devices.
Forms Need RTL Styling
Contact forms, search forms, and other input elements need proper RTL styling to work in Arabic. Text should align to the right in input fields, labels should appear on the right side of checkboxes and radio buttons, and submit buttons should position appropriately for RTL flow. Most form plugins don’t handle this automatically, so you’ll need to add CSS rules for RTL form layouts.
Some Images Don’t Mirror Well
Certain images have inherent directionality that looks wrong when the layout simply mirrors them. Arrows pointing in a specific direction, photos of people pointing or looking in a direction, interface screenshots, these might need different images for the Arabic version rather than just flipping the layout around them.
“Since Arabic website always starts from right to left, so we need to be careful with the content and the placement of the logo and CTAs. The most important thing is QA, making sure the plugin has translated and displayed the Arabic text correctly,” explains our Account Manager, Elie.
Hardcoded Text Won’t Switch Languages
This is a common problem we see. Text embedded directly in theme files doesn’t switch when users change languages. Button text, headings, error messages, and other interface elements must be registered for translation through Polylang’s string translation feature. Otherwise, you’ll have an Arabic site with random English text appearing in unexpected places.
Common Problems and Solutions
Through building multilingual sites for agencies, we’ve seen the same problems appear repeatedly. Here’s what typically goes wrong and how to fix it:
| Problem | Why it happens | Solution |
| Broken layout in Arabic | Theme lacks RTL CSS or has hardcoded LTR positioning | Use RTL-ready theme or add proper rtl.css file |
| Mixed English/Arabic elements | Text strings not registered for translation | Use Polylang string translation for all interface text |
| Navigation appears wrong | Menu CSS doesn’t account for RTL | Add RTL-specific menu positioning rules |
| Cached wrong language version | Cache doesn’t distinguish languages | Configure caching plugin to recognize language variations |
| Forms don’t align properly | Form CSS lacks RTL styling | Add RTL rules for input fields and labels |
Performance Optimization
Polylang handles multilingual content efficiently. When a user visits an Arabic page, only Arabic content loads, not both languages. This is better than some translation plugins that load all languages and then hide unused content with JavaScript.
However, you still need to optimize both language versions independently. Use a caching plugin that supports multilingual sites: WP Rocket and W3 Total Cache both work well with Polylang and can create separate cache files for different languages.
If you’re using different images for Arabic and English (like localized screenshots or interface images), optimize each set separately. Minify CSS and JavaScript for both language directions. And make sure your CDN recognizes language variations rather than caching content without distinguishing between languages.
Growing Your Multilingual Capabilities
The question of how to translate a WordPress website from English to Arabic isn’t just about translating words. The right-to-left layout changes how everything on the page works, and if you don’t plan for this from the start, you’ll spend weeks fixing problems that could have been avoided. The key is using an RTL-ready theme, setting up Polylang WordPress correctly, making sure your menus work in both directions, and testing with real Arabic content before you show anything to the client.
If your agency serves clients from around the world and needs support with technical WordPress development, we can help you scale. At WLA, we’ve worked with hundreds of agencies, producing 10,000+ websites. Our developers integrate with your team to handle the technical complexities of multilingual sites while you focus on client relationships and strategy. Reach out to our sales team to learn more about our services.