What I Learned from Building a Multilingual WordPress Website
On the surface, it appears that virtually every website can benefit from being multilingual. But it’s particularly so for organizations that serve the public.
When important information is being shared, it needs to reach as many people as possible. Breaking down language barriers can play a vital role.
Fortunately, this is an area where WordPress excels. There are several plugins available for crafting multilingual websites. And WordPress core has been translated into over 180 languages. Together, they provide a solid foundation for this type of project.
This all sounds pretty amazing. But it wasn’t until recently that I got to experience it firsthand. I found that, much like learning a new language, there are plenty of details and concepts to absorb. And there were a few ups and downs along the way.
With that, I’ve put together some thoughts on building multilingual websites with WordPress. It’s by no means a complete guide. Instead, it’s an attempt to pass along a few valuable lessons to fellow designers. Let’s get started!
Create a Multilingual Plan
Before you can translate a website into multiple languages, it’s important to establish the project’s basic needs. This will help you create a plan for moving forward. Here are a few key items to consider:
Languages
It starts by identifying what languages are needed. This may not be as obvious as you think. Thankfully, data can help you choose.
For example, browsing your eCommerce site’s customer list can provide some clues. If you find that a significant percentage of customers reside in a different country, it could be a solid indicator. Analytics also offers up geographical and language data.
Without relevant data, it can be a tricky task for some organizations. If you’re serving a specific geographic region, you might look at what additional languages are commonly spoken.
Once you’ve established the language options you want to offer, you’ll be able to focus on the tools that can help you do the job.
Technical and Content Considerations
Now it’s time to think about what you want to translate and choose a method for doing so. Ideally, it’s all about what’s best for your users. Realistically, it may need to be balanced with the resources you have available.
Determining which content to translate is part of this balancing act. The more content you have, the more resources you’ll need. If you’re on a limited budget, it could mean translating only the most important items.
It’s also worth mentioning that WordPress is about more than just the front end. If users need access to the back end (on a membership site, for example), that will also need to be translated. While WordPress core is multilingual, that doesn’t cover themes and plugins. It’s up to each theme and plugin author to provide translations. Otherwise, you may need to do this yourself.
The method of implementation also matters. Translations can be performed manually by one or more people, or via automated tools such as Google Translate. The latter usually requires a plugin that connects to an API. This will likely have a cost attached but is probably cheaper than hiring someone to translate by hand.
The downsides of automated translation are accuracy and readability. If you don’t speak the languages you’re translating to (or know someone who does), it’s impossible to know how accurate a tool is. And, even if it is fairly accurate, it may not produce a natural reading flow. Users may struggle to understand what you’re trying to say.
Future Maintenance
Content changes and accumulates over time. Whether it’s a change to an existing page or a new blog post, translated versions must be kept up-to-date. Otherwise, you run the risk of providing inaccurate or outdated information to a segment of your audience.
This comes down to both resources and convenience. An automated system can take care of things on-the-fly, while a manual method may mean a longer content preparation process. Again, you’ll have to determine what you can afford and what fits your workflow.
Putting a Multilingual WordPress Site Together
In my case, there were a few challenges in putting a multilingual site together. Some were due to the chosen method of translation (automated), and others due to my lack of experience in this area.
Here are a few highlights (and lowlights) of the process:
Translating Custom Fields
These days, I build custom blocks for the Gutenberg block editor using Advanced Custom Fields. The translation plugin I used (WPML) has an add-on that works in conjunction with ACF to ensure the content gets translated.
It took a few tries to get this working correctly. One trick I learned is that you need to manually set your fields to either translate or copy over to other languages.
For example, a field that contains a photo can be copied over (so that it’s displayed for all languages), while text fields should be set to translate. Simple concept, but it still took me a while to get the hang of it.
RTL Design Tweaks
Languages such as Arabic are read right-to-left (RTL). Thus, it takes some adjustments to ensure that your theme displays correctly in this format.
A carousel I built ended up being hidden from view in Arabic. While some plugins account for this, mine didn’t. It took some custom CSS to resolve the issue.
Beyond that, little things such as icons displaying next to menu items also needed mending. It’s a reminder that there are lots of little details to think of.
Custom Post Queries
My project included some custom WordPress post queries placed in theme templates. After the initial translation process, I noticed that these queries displayed all translations for each post – not just the currently selected language.
Some research led me to discover the suppress_filters
query parameter. Setting this to false
allowed WPML to display the relevant posts for each language.
Multilingual Websites Are within Everyone’s Reach
The biggest takeaway from this experience is that going multilingual is within everyone’s reach. The WordPress ecosystem offers plenty of options that run the gamut in terms of functionality and budget.
The key is to create a plan and ensure that you make solid decisions. Determine the language(s) you want to offer, the best tools for the job, and how maintenance will be handled. Each of these items is crucial to the overall success of the project.
It’s also worth understanding that some tweaks will need to be made along the way. Some are language-specific, while others are based on the theme and plugins you use. It’s all part of the process.
I hope this guide has provided you with a head start on building a multilingual site with WordPress! As for me, I know the experience will help make for a smoother ride in the future.