Getting started with MultilingualPress

Would you like to create a multilingual website quickly and easily? Then MultilingualPress (MLP) is the perfect choice for you.

What exactly can MultilingualPress do?

MultilingualPress establishes language connections between various pages on a WordPress multisite. This enables you to display content to your website visitors in their own language. To do so, you set up each different language version of your website as a site within a WordPress multisite. Then you link the translated content using MultilingualPress. Content can include posts, pages, custom post types or even so-called taxonomies. This last designation includes categories and keywords, for example.

Our plugin also helps you to forward website visitors to their appropriate language version. It also automatically assists you with search engine optimization for your multilingual website.

Check out our MultilingualPress video

You prefer watching a video instead of reading a long text? You want to know what MultilingualPress looks like in the backend and be convinced of its ease of use before buying the product? Then take a look at our product video here.

If the video did not answer all your questions, please continue reading on this page or contact us.

What are the requirements for using MultilingualPress?

To install MultilingualPress, you need:

  • An installed version of WordPress Multisite with WordPress >= 4.8
  • PHP version >=7.2

If you don’t have WordPress Multisite yet, please follow our guide Installing and setting up WordPress Multisite. You can find more tutorials for WordPress Multisite in our guide WordPress Multisite 1×1.

Installing MultilingualPress

Please note: Do not use MLP 2 and MLP (3 and higher) together in one multisite. For updating from version 2 to version 3+, try our MultilingualPress Migration Tool.

  1. After you have purchased MultilingualPress, please log in to your customer account and download the product.
  2. Go to My Sites → Network Admin → Plugins, upload the plugin and activate it across the network.
  3. Then go to My Sites → Network Admin → MultilingualPress and enter your Master API Key and Product ID in the License tab. These can be found in your customer account.
    MultilingualPress license data and product download in your customer account
    MultilingualPress license data and product download in your customer account

    Activate MultilingualPress license
    Activate your MultilingualPress license

Global settings for MultilingualPress

To change global settings, go to My Sites Network Admin, then on the left menu click on MultilingualPress. In addition to the License tab, you will find here six tabs with settings that apply for all sites. Two of these tabs will be available only when the related modules Redirect and Quicklinks are activated.

MultilingualPress Modules Settings
  • Modules – On this tab, you can activate or completely deactivate MultilingualPress features:
    • Gutenberg Blocks: activates the support for the MultlingualPress blocks.
    • Alternative language title: activates the feature “Alternative language title”. If you check this box, a field for the alternative language title will appear on the MultilingualPress settings page for the website in question. This will be displayed in the Admin menu instead of the website title that was set when the site was created.
    • Redirect: activates the feature for automatic language redirection. When this module is enabled a new tab “Redirection” will be activated. Further info is available below, on the Redirection tab description.
      Besides, when this module is enabled, on the MultilingualPress settings page of the subsite (available when a new subsite is created or edited), two fields are available: the first to activate the automatic language redirection, the second one to specify if the current subsite has to be used as a fallback for the root language set.
      That means, for example in the case of Italian root language used in two subsites, that: if site A has Italiano(Italia) language and site B has Italiano(San Marino) language and site A has the
      Redirect Fallback site for this language option checked, any customer who tries to access an Italian version which is not Italia or San Marino kind, is automatically redirected to the subsite A.
      Further info are also available here: MultilingualPress release 3.9.0.

      Settings for each site – Checkbox for alternative language title and checkbox for automatic redirect
      Settings for each site – Checkbox for alternative language title and checkbox for automatic redirect
    • Trasher: if this checkbox is activated, when editing a post, in the “Publish” meta box a checkbox will be displayed saying “Send all the translations to trash when this post is trashed.” Check this box to delete all translations of the post simultaneously if you move one of them to the trash.

      Activate MultilingualPress Trasher checkbox to move all translations of a specific post into the trash simultaneously.
      Activate MultilingualPress Trasher checkbox to move all translations of a specific post into the trash simultaneously.
    • Language Manager: This enables the Language Manager which allows you to include custom languages or override existing ones. You can find the Language Manager under My Sites  Network Admin MultilingualPress → Language Manager. Click the New Language button to add a new line for a language to be added and enter your preferred settings in the fields. You can also search for an existing language and adapt it.
    • Language Switcher: This enables the Language Switcher Widget which allows you to quickly include a language switcher in the locations set through your theme.
    • WooCommerce: This module enables WooCommerce support and allows you to translate WooCommerce products, orders and coupons but also the product attributes typical to WooCommerce (product categories and product tags).
    • Quicklink: This module enables the rendering of a link in the front end for each post translation; a dedicated tab section is available to set the position of the links.
    • ACF: This module can be enabled when the plugin Advanced Custom Fields is also installed and activated in the Network. Through this module MultilingualPress will be able to manage these fields correctly. More info are available here
    • Beaver Builder: This module enables the compatibility mode between MultilingualPress and Beaver Builder, in order to enable the compatibility with this Page Builder plugin. Further info is available here.
    • Elementor: This module enables the compatibility mode between MultilingualPress and Elementor, in order to enable the compatibility with this Page Builder plugin. Further info is available here
    • User Information Translation Settings: This module enables the translation  for the field “Biographical Info” available in the user profile section in the WordPress backend; when active, is possible to add a separated translation for the “Biographical Info” for each language site available in the Multisite.
    • Original Translation Language: This module enables a checkbox that can be used, when editing a post, to specify if the content is the original one or instead is just a translation of another post.
    • Comments: This module enables the support for comments, more information is available here: MultilingualPress Comments support.
    • External Sites: This module enables the support for external sites, more information is available here: MultilingualPress External Sites support.
    • MultilingualPress Site Flags: This module lets you automatically add the language flags into your menu. When activated, it also renders, when a new site is created, a flag-style menu (Menu Language Style) to select and a field (Custom Site flag) used to add an image URL in order to display it as a custom flag for the current site.

      Style the flags menu
      Style the flags menu
    • WooCommerce Brands: This module enables the compatibility mode between MultilingualPress and the Woocommerce Brands plugin, in order to avoid a taxonomy slug conflict. Further info is available here
  • Translatable Post Types: All content types (post types) are displayed here for which MultilingualPress can create a language relation. Select the type of your choice. The corresponding meta boxes will only be available for this post types during editing. For instance, if you only select Posts, then you will only be able to link content in different languages for posts.

    Set translatable content types with MultilingualPress
    Set translatable content types with MultilingualPress
  • Translatable Taxonomies: Like Translatable Post Types, but for taxonomies. Taxonomies include for example categories or tags.
  • Redirect: This tab is enabled only when the related option module is checked in the Modules tab.
    Here a select box lets you set the “Redirect Fallback”, that is a network site where to redirect the user in case his/her language is not available in any of the sites set in the network.

    MultilingualPress Redirect Fallback
    MultilingualPress Redirect Fallback
  • QuickLinks: This tab is enabled only when the related option module is checked in the Modules tab.
    Here four radio buttons let you select the position of your quicklinks related to the content of the post. The links to the translation will be available only if some content exists in the related translation post linked.

    MultilingualPress QuickLinks
    MultilingualPress QuickLinks
  • Cache: These options let you enable or disable selectively the MultilingualPress cache components. Cache helps in improving the plugin performance. But in case there are conflicts with the server cache and/or with other plugins, it is possible to select and disable all or only some of the components.

    MultilingualPress cache options
    MultilingualPress cache options

Create a new website within the multisite and set the language for the site

  1. Go to My Sites  Network Admin  Sites and click on the button Add New.

     Add a new website to the network
    Add a new website to the network
  2. On the settings page that appears, enter the following information in the upper section:
    • Site Address (URL)– the URL of your new website
    • Site Title – This will be displayed in the Admin menu and potentially on the frontend as well
    • Site Language – In this case, this is the backend language for the site, the language for translation will come further down
    • Admin Email – the email of the site admin

    These are all settings of the WordPress multisite that are available without MultilingualPress.

    Add a new website to the network: the general settings of WordPress multisite
    Add a new website to the network: the general settings of WordPress multisite
  3. Then there is an area with information for MultilingualPress. You can change most of these settings later by going to My Sites  Network Admin  Sites, editing the site of your choice there and accessing the tab MultilingualPress:
    • Language – This is the language for the translation. For instance, if the content on this website is supposed to be in French, then choose French here. MultilingualPress offers you many more languages to choose from than WordPress. This language field is not the standard WordPress locale language, for further info have a look at Do not override WordPress locale and let WordPress default setting to manage the site language at MultilingualPress release 3.9.0.
    • Relationships – The websites you would like to link with this site. For every language into which you would like to translate your site, you should create a website and link them all together.
    • Based on site – If you select a website here, a copy of this website will be generated when you create the new website, saving you lots of work in configuring and creating content.
    • Copy Attachments – If the option is checked all the attachments of the source site will be copied in the destination site. Sometimes, due to hosting restrictions, this process cannot be performed or takes too much time to be properly accomplished. In that case if you do not check the option the attachments will not be automatically copied: instead this could be manually done after the duplication process is executed.
    • Connect content – If the option is checked the new site will have all the content connected with the source site; by default the checkbox is checked so all content will be connected
    • Connect comments – If the option is checked, the new site will have all the comments connected with the source site; for further info check MultilingualPress Comments support.
    • Plugins – Check the box here to activate all plugins on the new website that are active on the source website.
    • Users – Check the box here to copy all the users on the source website to the new website.
    • Search Engine Visibility – As usual for WordPress, you can check the box here to prevent search engines from indexing the site.
    • Alternative Language Title – here you can set a title for your website that will be displayed in the Admin menu instead of the title indicated above. This field will only be displayed if you activated the module Alternative language title in the global settings of MultilingualPress.
    • Redirect – Check these boxes to activate the automatic language forwarding. These fields will only be displayed if you activated the module Redirect in the global settings of MultilingualPress. Select the option you need, in order to enable the redirection for this site and/or to select this site as a root language fallback site (see the previous section for further info).

    Settings – Add a new site

Translate and link content with MultilingualPress

After lots of preparation, we are finally coming to the most important feature of MultilingualPress: translating posts and linking translations together. We make a distinction between translating content types (posts, pages, sites, products etc.) and translating taxonomies (categories, tags etc.).

Translating sites and posts

To translate a post, please edit this in one of the sites. Enter your heading, URL and text as normal for this site. Below the editor you will find the MultilingualPress meta boxes to translate the post into other languages, one meta box per language. The meta box includes the following tabs: Relationship, Title and Content, Excerpt, Advanced and Taxonomies. We will briefly explain all tabs here. Enter your settings for the language connection or translation in the tabs and then save the post.

  • Relationship: Here you can specify a language connection, that is, selecting which post is the translation of the post you are currently editing. You have the option of not choosing any translation, creating a new post or setting an existing post as the translation. If a link already exists, you can also remove it.

    Translating a post with MultilingualPress: set language connection, i.e. link translations together.
    Translating a post with MultilingualPress: set language connection, i.e. link translations together.
  • Title and content: Here you can enter the title and content of the linked post. If you check the box next to Copy source content, this will overwrite the current content of the translation with the content in the post you are translating.

    Translating a post with MultilingualPress: Enter the title and content of the translation
    Translating a post with MultilingualPress: Enter the title and content of the translation
  • Excerpt: In case you want to enter an excerpt for the translation, you can do so here.

    Translating a post with MultilingualPress: Enter an excerpt for the translation
    Translating a post with MultilingualPress: Enter an excerpt for the translation
  • Advanced: In this tab you can specify the URL (Post Slug) and status (published, draft, pending) of the translation. You also have the option of copying the picture from the original post into the translation. At the bottom, you will find a link that will take you to Edit mode for the translation. Clicking the link opens the linked post for editing. To translate the actual content please switch to the connected post using this link in the editor.

    Translating a post with MultilingualPress: The Advanced tab with Slug, Post status, Post image and Link to editor for translation
    Translating a post with MultilingualPress: The Advanced tab with Slug, Post status, Post image and Link to editor for translation
  • Taxonomies: Here you can specify taxonomies (e.g. categories, tags) for the translation. Synchronize taxonomies overwrites all existing taxonomies in the translation with those from the source post.

    Translating a post with MultilingualPress: Specifying taxonomies
    Translating a post with MultilingualPress: Specifying taxonomies

Translating taxonomies

Taxonomies categorize or group together content in WordPress. The standard taxonomies are categories and tags. There are also so-called custom taxonomies that are supplied by plugins, for instance WooCommerce product features. The different groupings in a taxonomy are called terms. For instance, if you use the tags News and Tips for your posts, then News and Tips are terms within the taxonomy of tags. You can translate taxonomies just like you translate posts.

To do so, enter the left backend navigation for the taxonomy of your choice. Then, select the term you would like to translate. Enter the settings for the translation in the MultilingualPress meta boxes below the editor. The translation meta boxes have only two tabs, in contrast to the posts:

  • Relationship: Here you can specify the language connection. This means you are connecting the terms of the individual languages together. You have the option of not choosing any translations, creating a new term or setting an existing term as the translation. If a link already exists, you can also remove it. If you create a new tag, visit the Term Data tab to define the term attributes before saving.

    Translating WordPress taxonomies with MultilingualPress: Specifying language connection
    Translating WordPress taxonomies with MultilingualPress: Specifying language connection
  • Term data: Here you can enter the term name, term slug and a description.

    Translating WordPress taxonomies with MultilingualPress: Specifying term data
    Translating WordPress taxonomies with MultilingualPress: Specifying term data

Translating WooCommerce products

Many of our customers operate multilingual shops with WooCommerce. Therefore, we would like to briefly address the topic of translating WooCommerce products. Generally, this works exactly the same as for other content types and taxonomies described above.

Important: In the global settings of MultilingualPress, choose all WooCommerce content types and taxonomies that you want to be translatable. For WooCommerce this could mean products, coupons, orders, product tags and/or product categories.

If you have set products to be translatable, then you will find the MultilingualPress meta boxes below the product editor. As usual, you can link products together, translate titles, URLs, excerpts and change any other settings as you like.

Translating WooCommerce products and linking the translations together.
Translating WooCommerce products and linking the translations together.

Product data tab

Compared with the previous meta boxes of translation, a new tab specification is available: “Product Data”. Through this tab is possible to set several fields and/or options to properly create or update the related remote site product. Depending on the type of product selected, Product Data tab fields update accordingly with the data available for that type of product.

Some options are specific to a particular product type, while others are present in several or all product types. First of all let’s consider the specific ones. So here is a list of the product types:

  • Simple Product
  • Grouped Product
  • External/Affiliate Product
  • Variable Product

Here follows a brief description of the specific options related to each product type that is possible to set.

Simple Product

For the Simple Product, the Regular Price and Sale Price fields are available in the metabox to save and copy prices to the related language site product.

WooCommerce MultilingualPress Product Data – Simple Product, Price Settings
WooCommerce MultilingualPress Product Data – Simple Product, Price Settings

As we see in the following pictures, files and settings in the Downloadable area in the WooCommerce product, can also be copied to the related language site product through the proper checkbox in the translation metabox.

WooCommerce MultilingualPress – Simple Product, Downloadable options
WooCommerce MultilingualPress – Simple Product, Downloadable options
WooCommerce MultilingualPress Product Data – Downloadable Product
WooCommerce MultilingualPress Product Data – Downloadable Product

In a similar way Upsells and Cross sells products can be copied to the related product in the remote language site.

Pay attention: in order to properly use this option, the selected Upsells and Cross sells products should exist and be connected in the related destination site beforehand.

WooCommerce MultilingualPress Product Data – Simple Products, Linked Products
WooCommerce MultilingualPress Product Data – Simple Products, Linked Products

Grouped Product

When we use a Grouped Product, checkboxes of the Grouped and Upsells products in the translation metabox can be set to copy them to the related destination site product. Like the Upsell and Cross sell product in the previous paragraph, it is important to remember that the products should exist and be connected in the related destination site beforehand.

External/Affiliate Product

In case we use the External/Affiliate product type, in the product General panel, the fields Product URL and Button Text are available to copy the related values to the remote language site product.

WooCommerce MultilingualPress Product Data – External Product
WooCommerce MultilingualPress Product Data – External Product

Variable Product

Finally, in case we deal with Variable Product, it is possible to copy all related data by selecting the Attribute and Variations checkboxes.

After examination of the specific options related to each product type, we are now going to take a look at the common Options shared across several product types.

Common Options

Here below the list of common options:

  • Product Type: by selecting the Product Type checkbox it is possible to change the related remote language site product type
  • SKU: use this field in the Inventory area to copy SKU to the related language site product
  • Manage stock?: use this field in the Inventory area to enable stock management at product level
  • Stock quantity: (only available if field “Manage stock?” is checked) use this field in the Inventory area to set the stock quantity for the product
  • Allow backorders?: (only available if field “Manage stock?” is checked) use this field in the Inventory area to control whether or not backorders are allowed. If enabled, stock quantity can go below 0.
  • Low stock threshold: (only available if field “Manage stock?” is checked) use this field in the Inventory area to set a product stock value that, when reached, will be notified by email.
  • Sold individually: use this field in the Inventory area to only allow one of this product to be bought in a single order
  • Gallery: copies the gallery images to the related language site product
  • Product Short Description: lets you copy the product description to the related language site product
  • Purchase Note: lets you copy the Purchase note to the related language site product
  • Inventory Settings: by selecting this checkbox it is possible to override all the Inventory Settings in the related remote product with the values set in the source product

To specify additional product characteristics for other languages, that are not addressed in the previous paragraphs, edit the product in the corresponding site within your multisite.

Please note: WooCommerce shops for individual versions in different languages are independent of one another and have separate shopping carts, inventory etc. MultilingualPress merely links the content together. But if you need a solution for a single stock shared by all shops in the multisite, we have another plugin that accomplishes that task: Central Stock for WooCommerce.

Forward website visitors to the right language version

How will visitors to your website access the version of your multilingual website in a language they speak and understand? There are two options for this: either automatic language redirection or selecting the language from a menu.

Automatic language redirection

With automatic language redirection, visitors to a multilingual website are forwarded to the preferred language version of the site based on the language settings in their browser. To set up this feature in MultilingualPress, carry out the following steps:

  1. Activating the Redirect module: My Sites  Network Admin  MultilingualPress  Modules. (see section Global settings for MultilingualPress)
  2. Go to My Sites  Network Admin  Sites. Edit the sites that contain your website in one language and set a language in the tab MultilingualPress.
  3. When you have assigned a language to every site, link them together. To do so, go to My Sites  Network Admin  Sites.  Edit the sites and specify the connections in the tab MultilingualPress.
  4. You must also link the individual content of the sites together. You can do this in the MultilingualPress meta boxes below the editor. (see section Translate and link content with MultilingualPress)

You already completed steps 2 to 4 when translating the content.

Browser language settings using Google Chrome as an example (found in Chrome under Settings → Languages)
Browser language settings using Google Chrome as an example (found in Chrome under Settings → Languages)

Selecting the language from a menu

The latest version of MultilingualPress allows you to easily use a Gutengerg Menu Block to set up a language switcher menu. For more details, consult the document following this link: MultilingualPress Block Menu.

If, on the other hand, you want to create a menu manually, proceed as follows.

In this case, you create a menu for each site within your multisite that contains links to the different language versions of your content. Then, assign a location for the menu as usual in WordPress.

If you linked translations together when translating a post, a site etc., then your visitors can switch between the different translations of the post, site etc. using this menu.

Besides, the menu creation on every subsite can be quickly accomplished using the copy navigation menu feature available in MultilingualPress. Further details can be found here.

Creating the navigation menu for languages
Creating the navigation menu for languages

Note: If the Languages are not available when creating the menu, please click on Screen Options in the top right and check the Languages option.

If instead, you don’t want to create a menu you can use the MultilingualPress Language Switcher widget: this will quickly set up a language switcher in the position available in your theme. To access that widget remember first to activate the related module in the MultilingualPress Settings Module tab.

MultilingualPress Language Switcher Widget
MultilingualPress Language Switcher Widget

You can also use the widget Navigation menu to display your menu in the sidebar.

Integrating the MultilingualPress language menu using a widget
Integrating the MultilingualPress language menu using a widget
MultilingualPress language menu in the front end: integrated top right as a menu, in the sidebar as a widget
MultilingualPress language menu in the front end: integrated top right as a menu

Finally, consider that each element of the language menu can be rendered with the related country flag: to achieve that, just activate the MultilingualPress Site Flag module on the global settings.

Displaying hreflang and its significance for SEO

If you are operating a website professionally, it is also important for you to pay attention to search engine optimization (SEO). For multilingual websites, you are sure to encounter the term hreflang in connection with SEO. hreflang is a link attribute (rel=”alternate” hreflang=”x”) that is displayed in the heading of a site. It signals to the search engine that the website is multilingual. This also indicates the language in which the currently displayed content is written and in which other languages this is available, as well as precisely where.

If you implement hreflang incorrectly in your multilingual website, this could cause major problems. This includes dreaded duplicate content, or search engines showing the wrong language version in search results.

MultilingualPress automatically displays hreflang correctly for you once you have linked the translations together. See section Translate and link content with MultilingualPress. You can find detailed info about hreflang in the document: What is hreflang and how to use it in MultilingualPress.

Displaying hreflang in code using MultilingualPress on our demo site demo.multilingualpress.org
Displaying hreflang in code using MultilingualPress

What is the difference between MultilingualPress 3+ and MultilingualPress 2?

Starting from  MultilingualPress version 3, we have released a completely refactored product with state-of-the-art code and PHP 7 as recommended by WordPress. We have significantly improved the user interface and ensured compatibility with the WordPress Gutenberg Editor. We are also planning new features that we won’t include in version 2. Read more in the following post: https://multilingualpress.org/docs/whats-new-multilingualpress/

Can I upgrade from MultilingualPress 2 to MultilingualPress 3+?

Upgrading from MultilingualPress 2 to MultilingualPress version 3 and higher is currently possible using a migration module that we recently implemented. You are using MLP 2 and would like to switch to the new version? Check out our migration tutorial: MultilingualPress Migration Tool

Note: If you purchase MultilingualPress, you also buy ongoing support for Version 2.


Build the perfect multilingual webshop with WooCommerce and our plugins MultilingualPress and CentralStock!