Let’s first start out by saying, setting up a WordPress multilingual site can be very confusing! Even for seasoned WordPress developers and users, there are suddenly a lot of questions that get raised when first figuring out how to deliver your website in multiple languages. Such as how will it impact SEO and what technical hurdles are there to overcome?

As of 2024, our Kinsta website is now available in 10 different languages. So we thought we would share our first-hand experience with doing a full-blown multilingual setup. Hopefully, we can answer some of those questions or address any doubts you may have. There are a lot of advantages to having a multilingual site, so don’t let the technical aspects or SEO concerns scare you away.

There are quite a few ways you can approach a multilingual WordPress site, so we’ll also share some alternative solutions.

WordPress Multilingual Index

Multilingual Advantages

There are a lot of advantages to having a WordPress multilingual site, and depending upon the type of business you have it can be a great way to tap into an additional market.

1. SEO Advantages

One of the biggest advantages of having additional languages on your site is for SEO. Let’s say you have the content on your WordPress site translated into Spanish and German. Google will crawl your website and start indexing your additional languages as separate content. This means you will instantly have a lot more content in search engine result pages (SERPs). Not only that, but you can have it deliver your content to the native language from which the visitor has their browser set to.

At Kinsta, we saw an 18% increase in overall organic traffic by translating our blog into 10 different languages. The great part of it is, the hard work of creating the content in English was already done. And apart from the traffic increase, we’ve gained new customers from around the world that might not have found us otherwise. Take advantage of this awesome strategy to get more traffic and customers!

You could even do more languages if you want. Neil Patel, a well-known SEO, ran an experiment on his website by translating his blog into a whopping 82 different languages. The result? Within three weeks he saw a 47% increase in overall traffic!

However, remember that the quality of translation is important too. It’s easier said than done to launch a lot of languages at once. We’ll dive into this more below.

The reason why should see more traffic is because the competition is typically a lot less in other languages. The English market is very saturated when it comes to content marketing and SERPs. Here is an example with some keyword research. In English, we look up the term “marketing strategies.” We can see that it has a volume of around 40,000 search per month. And it is going to be hard to rank for. If you look at SERPs, you are instantly going against huge domains with high domain authority. If you are smart, you probably wouldn’t try to tackle this keyword.

english keyword volume
English keyword volume

Now if you take the same term in Spanish, “estrategias de marketing,” we can see that it doesn’t have as much search volume, but still a lot at around 15,000 per month. And guess what? The difficulty is not hard to rank for. The domains you are competing against all have a low domain authority of under 40. That is now something you could tackle. When it comes to other languages you will find a lot of search terms are simply easier to rank for.

spanish keyword volume
Spanish keyword volume

We can’t stress enough how important it is to do keyword research before deciding on the languages you should invest time and money into. Never assume that there is search volume in one language simply because there was in another.

2. User Experience Advantages

Besides the SEO advantage, having a site in the native language is going to automatically result in a much better user experience. And a better user experience can affect everything from your conversion rates, time on site, and bounce rate.

Increased conversion is one of the strongest ROI arguments for better user experience and more user research. Track over time, because it’s a relative metric. – Nielsen Norman Group

The last thing someone wants to do is have to right-click in Chrome and say “translate to…” Google does translations as well as it can, but the quality is nowhere near that of someone who actually speaks the language on daily basis. If you are going for an improved user experience, take the time and invest in high-quality translations, which we will go into more below.

3. Trust and Credibility

It is important for businesses to speak to in the same language as their customers. Not only when it comes to marketing lingo and terminology in your niche, but also simply speaking the same native language. Why? Because this builds trust and credibility. Naturally, we as humans beings are more comfortable conversing in our native language, as that is the culture we have been brought up in.

Most of the population around the world doesn’t actually speak English, that or they use it as their second language. According to research from the University of Düsseldorf, English is actually 6th on the list when it comes to comparing what people use as their native language.

native languages
Native languages – Image source: The Washington Post

Languages are one of the most common communication barriers which in turn can cause misunderstandings and misinterpretations between people. If you aren’t using the same language and dialects that other person understands this makes the communication ineffective and prevents the real message from being conveyed. And that could directly relate back to your sales.

WordPress Multilingual Questions Answered

When you are first looking into a WordPress multilingual site there are instantly a lot of questions on just how everything works. Hopefully below we can answer some of those for you.

Do You Need a Multilingual Site?

You might be wondering, do you actually need a multilingual site? Well, the first thing you can do is check to see if you are already getting any international traffic. We recommend looking in Google Analytics at a years worth of data if you have it. The first place is “Audience→ Geo→ Language.” Google Analytics takes these values from the web browsers of visitors.

google analytics geo language
Google Analytics geo language

The second place is “Audience→ Geo→ Location.” Remember though, that both this and the above data would be much higher if you had content that ranked in those regions already. But it gives you a basis to start from.

google analytics geo location
Google Analytics geo location

Also, as a business or large site, you should have some idea already from interacting with customers and visitors. Do you have a lot of support tickets from Spanish customers? Where do the majority of your sales come from? Take advantage of the history you have to know if their might be potential in translating your WordPress site.

What URL Structure Should You Use?

There are basically three different scenarios to choose from when configuring a WordPress multilingual site.

1. Top Level Domains

https://domain.com/

https://domain.es/

https://domain.de/

A TLD, short for top-level domain, is the last segment of a domain name – the part that comes after the final dot.

This method can be great for targeting specific countries, however, it is also the most complex because each will have their own SEO strategies, domain authority, etc. You will most likely have to do a lot more work. Can be setup as stand-alone installations or as a multisite (with domain mapping).

2. Subdomains

https://domain.com/
https://es.domain.com/
https://de.domain.com/

This is a fairly common method. Can be setup as stand-alone installations or as a WordPress multisite.

3. Subdirectories

https://domain.com/
https://domain.com/es/
https://domain.com/de/

This is probably one of the most common methods and the route we went with our site at Kinsta. Can be setup as stand-alone installations, a multisite, or one single site with the use of plugins. If you want to read more about the advantages and disadvantages to each scenario above WPLANG has a great article on explaining the different choices you have when choosing a URL structure for your multilingual site.

What are hreflang tags?

On a multilingual WordPress website, you should be using hreflang tags and following  the recommendations that Google has laid out for language and regional URLs. These are used on each page of your site to identify the language being used.

For example, if your site provides content in English and Spanish, the Spanish version must include a rel="alternate" hreflang="x" link for itself in addition to links to the English version. Similarly, the English version must each include the same references to the Spanish version. Note: The Russian search engine Yandex also uses hreflang tags.

hreflang tags

Here are a couple examples. There are two different scenarios you might have, one is simply targeting different languages. The second is targeting the same language but different regions.

Scenario 1: hreflang Tags Targeting Languages

This is typically the most common scenario in which you simply have different languages and you want to inform Google. Example, you might have English and Spanish versions, but you don’t want to narrow it down by region because there is a large Spanish-speaking population in the US. This is where the ISO codes for languages (ISO 639-1) comes in handy.

English Site:

<link rel="alternate" href="https://domain.com/" hreflang="en" />
<link rel="alternate" href="https://domain.com/es/" hreflang="es" />

Spanish Site:

<link rel="alternate" href="https://domain.com/" hreflang="en" />
<link rel="alternate" href="https://domain.com/es/" hreflang="es" />

Scenario 2: hreflang Tags Targeting Languages and Regions

In this scenario you might have the same language and you want to specify different regions. For example, English in the United States and English in Britain (UK). This is where the ISO codes for countries (ISO 3166-1 Alpha 2) comes in handy.hreflang regionsEnglish Site:

<link rel="alternate" href="https://domain.com/" hreflang="en-us" />
<link rel="alternate" href="https://domain.com/en-gb/" hreflang="en-gb" />

British Site:

<link rel="alternate" href="https://domain.com/" hreflang="en-us" />
<link rel="alternate" href="https://domain.com/en-gb/" hreflang="en-gb" />

You can also change up the ISO code, for example, de-ES would tell Google you have German content but want to target users in Spain. Make sure to also check out the hreflang tag tool generator which allows you to create the hreflang tags patterns for your website, using the correct values and syntax following Google’s specifications.

What is the hreflang x-default tag?

The hreflang x-default tag is used when the users browser doesn’t match anything in your hreflang tags. So for example, if you have a website in English and Spanish and someone with their browser/Google set to German hits your page, it would simply redirect them to whatever you have set for your x-default tag. Think of this as simply your default fallback tag. Here is an example.

<link rel="alternate" href="https://domain.com/" hreflang="x-default" />

And combined with an English and Spanish site it would look like this.

English Site:

<link rel="alternate" href="https://domain.com/" hreflang="x-default" />
<link rel="alternate" href="https://domain.com/" hreflang="en" />
<link rel="alternate" href="https://domain.com/es/" hreflang="es" />

Spanish Site:

<link rel="alternate" href="https://domain.com/" hreflang="x-default" />
<link rel="alternate" href="https://domain.com/" hreflang="en" />
<link rel="alternate" href="https://domain.com/es/" hreflang="es" />

If you want learn even more about hreflang tags we recommend checking out hreflang: the ultimate guide from the awesome team over at Yoast.

What About Bing?

So we are always talking about Google, but it is important not to forget Bing. Bing actually doesn’t support the hreflang tags as mentioned above, they utilize either the <html> tag language attribute, HTTP response header, or an HTML meta element.bing multilingual

<html> tag language attribute

We only really care about the <html> tag language attribute as this is what WordPress uses by default. Here is an example of an English and Spanish site.

English Site:

<html lang="en-US">
...
</html>

Spanish Site:

<html lang="es-ES">
...
</html>

To make that work you will need to programmatically change the HTML language in WordPress. The tutorials and plugins mentioned below will actually do this for you automatically.

Will Adding Additional Languages Negatively Affect Your SEO?

No, if setup correctly, additional languages won’t hurt your SEO and in fact as we shared above it can help your SEO. You don’t need to worry about duplicate content issues.

What Should You Translate?

When it comes to choosing what to translate on your site, it is generally best practice to translate everything. This is both from a user experience and SEO perspective.

URLs (slugs)

When it comes to SEO, it is recommended by many SEOs to try and have your keyword in your URL. This is why if you can, it is better to translate your URLs into their native language. For example here is how our about us page looks:

English site:

https://kinsta.com/about-us/

Spanish site:

https://kinsta.com/es/sobre-nosotros/

You can see that our about us page URL is translated into Spanish. This could also increase your CTR in SERPs as people will be more likely to click on a URL in their native language.

The one exception to this rule is sometimes languages that use special characters, like Japanese. While Google and WordPress support these characters, you could run into problems with third-party plugins. So usually it’s better to play it safe. For example, on Kinsta’s Japanese site, our contact us page, is still using English in the page URL.

https://kinsta.com/jp/contact-us/

However, with that being said, it can also depend on the language. For example, Mandarin Chinese has something called Pinyin, the official romanization system for Standard Chinese in mainland China, which can be used in permalinks. You could use a plugin like Pinyin Slugs, which automatically changes the URL (slug) for new content from Mandarin Chinese characters into the more search engine friendly Pinyin.

When it comes to special characters, our advice is to first do some additional research into the language and chat with a native speaker or someone who actively visits websites in that language.

Image File Names

As we shared in our SEO checklist, it is important to use smart image filenames. This includes translating the filename into their native language. Example:

English site:

https://kinsta.com/wp-content/security.png

Spanish site:

https://kinsta.com/es/wp-content/seguridad.png

SEO Meta

Don’t forget to translate your SEO meta including the Title and meta descriptions. The Yoast SEO plugin is compatible with pretty much every WordPress multilingual setup and plugin on the market.

Content

And of course, translate as much content as you can. This includes your WordPress menu items, categories, tags, widgets, footer content, etc. Many of the multilingual plugins what they call “translation strings”, which enable you to update your widgets, etc.

Outsourcing WordPress Translation Services

Now that you understand a little bit more about the tags that are needed for a WordPress Multilingual setup it is also important to know where to get high-quality translations for your content. If you can translate your content in-house you might have a little more control over the quality.

However, due to time constraints, or lack of knowing the language, a lot of businesses have to look to outsourcing the translations. There are dozens of places to get your content translated, here are just a couple to get you started:

Fiverr

You have to be very careful when using Fiverr for services, but we have found that they do have some decent translators on there. Translations range from $5 to $20 depending upon the length of your content. Look for those with top ratings and decent reviews. A lot of Fiverr language translators will also have certifications for languages they work with.

If you are on a tight budget, Fiverr can definitely be a good option. You can find more details in our post dedicated to Fiverr: How to Use Fiverr to Reduce Business Busywork

fiverr translate wordpress content
Fiverr translate

Gengo

Gengo provides fast, affordable and quality translations by a community of 20,000+ native speakers located worldwide. Their prices start at just $0.05/word and 95% of orders are completed within hours.

gengo wordpress translation
Gengo translation

One Hour Translation

One Hour Translation offers professional translation services for 75 languages on a 24/7 basis. They have a network of over 15000+ certified human translators. General translation prices start at just $0.079/word.

one hour translation
One hour translation

TextMaster

TextMaster provides fast and affordable translation and copywriting services by native-speaking translators. They have an average turnaround time of 12 hours and general translation prices start at just $0.066/word.

textmaster translation services
TextMaster translation services

Some others you might want to check out include ICanLocalize, cloudwords, translations.com, e2f, and Lingotek.

Option 1 – Free WordPress Multilingual with Polylang

If you are looking for a simple and free way to set up multiple languages on your WordPress site than the Polylang plugin works great! Polylang allows you to create a bilingual or multilingual WordPress site. You write posts, pages and create categories and post tags as usual, and then define the language for each of them. The translation of a post, whether it is in the default language or not, is optional. This also works great for single WordPress installs where you want to keep things simple.

WordPress multilingual Polylang plugin
WordPress multilingual Polylang plugin

The plugin has 400,000+ active installs with a 4.5 out of 5-star rating, and is actively kept to date by the developer. You can download Polylang from the WordPress repository or by searching for it within your WordPress dashboard under “Add New” plugins. Here is a list of what the plugin does:

  • Supports an unlimited number of languages
  • You can translate almost everything, from posts, pages, categories, menu, widgets, etc.
  • It supports custom post types and taxonomies
  • The language is either set by the content or by the language code in URL, or you can use one different subdomain or domain per language
  • Categories, post tags as well as some other metas are automatically copied when adding a new post or page translation
  • A customizable language switcher is provided as a widget or in the navigation menu
  • The admin interface is multilingual and each user can set the WordPress admin language in their profile

Polylang does follow the best practices as recommended by Google and uses hreflang tags and changes the <html> tag language attribute automatically for you. There is also a premium version of the Polylang plugin, and it allows you to also do the following:

  • Share the same URL slug across languages for posts and terms.
  • Translate custom post types and taxonomies slugs in URLs.

Follow the steps below on how to configure the free Polylang plugin on your WordPress site. In our example, we are setting up a site with both English and Spanish translations.

Step 1

After installing and activating the plugin you need to first add the languages. So click into “Languages” under settings in your WordPress dashboard and first add English – en_US. The defaults are fine. Click on “Add new language.”

add english language
Add English language

Step 2

You will see a message at the top about posts, pages, and categories not having a language. Click on “You can set them all to the default language” link and it will default everything to English, which is the language you just added.

set default language
Set default language

Step 3

Next, you need to add whatever additional language you want to use. We are adding Spanish, so we choose Espanol – es_ES. Then change the order to one above the previous one, which in this case is 1 since English was set to 0. Click on “Add new language.”

add spanish language
Add Spanish language

Step 4

Next click into the “Settings” tab of PolyLang and under the URL modifications section you will want to enable the option to “Hide URL language information for default language.” This strips out /en/ from your English language slugs so that you have the following setup:

English Version: https://kinsta.com/about-us/
Spanish Version: https://kinsta.com/es/sobre-nosotros/
hide language url for default language
Hide language URL for the default language

Step 5

Next, it is time to add a Spanish translation. By default, each language will have a new column (flag) that appears now in the “All Posts” section in your WordPress dashboard. Click on the + symbol to add a Spanish version. (You can also do this from within each post itself)

add spanish translation
Add Spanish translation

Step 6

You can then your post and translate the slug (URL) if you want. For SEO purposes, it is better to use a slug that is in the native language. And Yoast SEO is fully compatible with PolyLang, so also make sure your title tag and meta description are also translated. Then click on “Publish.”

spanish post url
Spanish post URL

And that’s about it! You now have separate posts in your WordPress dashboard, each accessible at their own native language URL. PolyLang automatically adds the appropriate hreflang tags so you don’t have to worry about any of that.

separate language posts
Separate language posts

You will also need to go through your categories and menu and create Spanish versions. And then under the “Strings translations” section, you can translate additional items.

string translations polylang
String translations in Polylang

If you want, you can also utilize PolyLang’s language switching widget.

polylang language switch widget
Polylang language widget

It is also important to note that if someone hits your site from an indexed Spanish post and lands on domain.com/es/* then the next time they visit your site it will automatically go the Spanish version of your site. And vice versa.

Option 2 – Premium WordPress Multilingual Setup with Weglot

If you are looking for the fastest way to translate your entire WordPress site then you must check out Weglot! Literally, you can be done in about 5 minutes. This is a newer plugin on the market and works as translation as a service, in that you have to pay a monthly subscription fee. They are growing rapidly and have become very popular, recently passing $10,000 in monthly revenue.

Weglot translates your site on the fly. And while that might sound bad at first, we were impressed with the quality of their translations. It isn’t perfect of course, but they give you the ability to edit your translations in case you want to improve them. You don’t have this option with other Google translate alternatives.

Weglot multilingual WordPress plugin
Weglot multilingual WordPress plugin

The plugin currently has 20,000+ active installs with an impressive 5 out of 5-star rating, and is actively kept to date by the developer. You can download Weglot from the WordPress repository or by searching for it within your WordPress dashboard under “Add New” plugins. They have a basic free plan and then prices start at $10/month. Here is a list of what the plugin and or service does:

  • Translates every string on the page (widgets, footer items, menu items, you name it and it translates it)
  • No coding or complex setup required. Be up and running in minutes.
  • Content is automatically detected and translated.
  • A dashboard to manage all your translations, edit and improve machine translations provided.
  • SEO-ready and optimized in new languages: translated pages will have their dedicated URLs, following Google best practices guidance for multilingual (hreflang tags automatically created).
  • Access to professional translators to order pro translations (under development).
  • Customizable language switcher button.
  • Options to easily exclude strings and pages from translation.
  • More than 60 translation languages are available.

Weglot does follow the best practices as recommended by Google and uses hreflang tags and changes the <html> tag language attribute automatically for you. Note: The one and only drawback we found to this plugin is that it doesn’t allow you to translate your URLs (slugs). However, you should weigh the pros and cons of this. Getting your entire site translated and starting to index within a few days might be more beneficial.

Follow the steps below on how to configure the Weglot plugin on your WordPress site. In our example, we are setting up a site with both English and Spanish translations.

Step 1

Sign up for a free account over at weglot.com.

Step 2

After installing and activating the plugin you need to set up the main configuration within “Weglot” in your WordPress dashboard. You can grab your API key from your Weglot’s account page. In our example, our default site is in English and we are wanting a Spanish translation. So we input es as a destination language. Everything else we leave as default and click on “Save Changes.”

weglot configuration
Weglot configuration

And believe it or not, that is all there is to it! If you browse to your home page you will now see a language switcher in the bottom right.

language switcher
Language switcher

And here is what it looks like if we switch it over to Spanish. As you can see it translated the site byline, post content, widget content, search box, widget titles, etc. It also translates all your SEO and meta information.

weglot spanish version
Weglot Spanish version

If you are unhappy with any of the translations strings you can edit them from the Weglot dashboard. This includes the ability to change image URL file names to Spanish.

weglot translation dashboard
Weglot translation dashboard

And just like Polylang, it has a language switching widget you can use.

Option 3 – Custom WordPress Multilingual Setup

A third option, and this is actually what we did at Kinsta, is to do it yourself. 😄 Fair warning, this will require some custom development. But you can always hire a WordPress developer to do this for you. In the long-term, a custom setup can be advantageous as you can build out the workflow exactly as you need it.

We knew we would be launching a lot of languages, so to make administration and management easier, we went with a WordPress multisite approach. If you already have a WordPress site, which we did, you can convert your existing site into a multisite. Some advantages of going with multisite for multilingual include:

  • No need for separate login credentials. Multisite user profiles are shared across all subsites. This makes bouncing around between 10 different languages a breeze.

    Multiple languages in WordPress
    Multiple languages in WordPress

  • In terms of overhead, multisite setups are considered one install each. For example, you could have one multisite with 10 subsites, this is still considered one install because all the subsites in the network share the same WordPress database and installation. Therefore, technically fewer resources are required and there is less to manage.

Custom linking of translations and hreflang tags

If you’re rolling a custom solution, the first thing you’ll need is a way to link up translations in the WordPress dashboard. Our in-house developer created an easy solution which allows you to link translations for existing posts and pages, as well as copy the entire post to a new subsite for translation.

Linking translations in WordPress
Linking translations in WordPress

When the post is linked on the backend, the hreflang tags are automatically generated for SEO purposes and to let Google know which version is which language.

hreflang tags on multisite
hreflang tags on multisite

It also ties into the language switcher that we’ve built on the footer of our website. This allows visitors to easy toggle to their own respective language if needed.

Language switcher
Language switcher

Content Translation

In terms of translation, we had it easy when it comes to the Spanish version of our website as our in-house Spanish team translates all of our content. For the other sites, we work one on one with native language speakers. We never do anything subpar and therefore invest heavily in high-quality translations.

Some of the Kinsta website, such as our homepage, about us page, etc. are housed in WordPress, but are compiled completely from custom code. We use a tool call Crowdin to ensure all content updates and changes are translated.

As far as the content in the WordPress editor goes, such as our blog posts, our developer built an awesome WordPress to Trello integration. It’s based on the WordPress revision history. Essentially whenever a change is made on the English version of the site, we push it to its respective language Trello board and the translator can check the revision history to see what has changed.

WordPress to Trello multilingual solution
WordPress to Trello multilingual solution

If your business has access to WordPress developers and people that speak the 2nd language, this is probably the best way to go as you will have full control over every aspect of both sites. With WordPress plugins, there are always some limitations or problems somewhere that you will have to work around. For most businesses, though this might not be an option and so the plugin route is definitely your best route.

Alternative WordPress Multilingual Plugins

We can’t cover every plugin in this guide, but besides Polylang and Weglot as mentioned above there are some other WordPress multilingual plugins that definitely deserve a mention:

How to Test Your hreflang Tags

After you configure your WordPress site with multiple languages it is always recommended to test the configuration. You can of course check your source code. But, there are also a few great tools out there to help. The first is flang, which is actually recommended by the Yoast team. Simply input your domain and it will validate your tags.

flang hreflang test tool
flang hreflang test tool

And if you want to dive a little deeper, the hreflang Tags Testing Tool from TechnicalSEO.com is also very useful.

hreflang tags testing tool
hreflang tags testing tool

Google Search Console will also report if there are any errors with your hreflang tags under “Search Traffic→ International Targeting.” Remember, after add additional languages it can take a few days to even a month sometimes for the data in search console to catch up. So be patient.

google search console international targeting
Google Search Console international targeting

Google Analytics With Multiple Languages

Now that you have a WordPress multilingual site you have to figure out how to configure Google Analytics so everything isn’t all in one big mess. This can be setup in a lot of different ways, and some of it depends on the website owner’s preference. Some even split them up into entirely different Google Analytics accounts. But here is one option below that uses a 2nd view for the new language and filters to include and exclude traffic.

Step 1

Create a new view in Google Analytics under your main profile. You can call it “Spanish Traffic” or whatever your additional language might be.

Step 2

Back in your default view, create a filter that excludes traffic to sub-directories that contain your new language, such as /es/.

exclude spanish traffic
Exclude Spanish traffic

Step 3

Then in your new view, create a filter that includes only traffic to sub-directories that contain your new language, such as /es/.

include only spanish traffic
Include only Spanish traffic

You can then go about creating goals and events per view. If you’re using WordPress subdomains instead of subdirectories simply use “traffic to the hostname” in your filter instead.

Summary

A WordPress multilingual setup can be a little confusing when you first dive into it. Especially because there are a lot of different directions in which you can go, and there isn’t necessarily a right or wrong choice. But don’t let that scare you away because the pros definitely outweigh the cons. As long as you follow Google’s recommendations, such as utilizing hreflang tags and best SEO practices, you will definitely better your chances for a spike in multilingual traffic, rather than a decrease.

Did we miss anything important? Or perhaps you have your own experience you would like to share as it pertains to a multilingual setup. If so, we would love to hear about it below in the comments.

Brian Jackson

Brian has a huge passion for WordPress, has been using it for over a decade, and even develops a couple of premium plugins. Brian enjoys blogging, movies, and hiking. Connect with Brian on Twitter.