In order to display the same content in different language, WPML provides content duplication. This will create the exact same content in different languages and keep them synchronized with the original language content.
WPML does this, to simplify site navigation. When content is duplicated across several languages, the menu, breadcrumbs, links and other site-specific navigation remains correct. This way, when visitors go to untranslated content, they remain in the current language.
The content duplication logic is part of the Translation Management module, available in the Multilingual CMS package.
When you edit any content (post, page or custom types), you’ll see a set of check-boxes in the Language section. Choose the languages you want to duplicate with the check boxes.
WPML creates the same content in the languages you’ve selected. Whenever you edit the original, duplicates will update as well.
When you want to duplicate a large amount of content, all at once, use WPML’s Translation Dashboard.
Choose the content to duplicate. Next to each language, there’s a new option to duplicate. Click on Duplicate and you’re done.
It doesn’t matter if you’re selecting content from the Translation Dashboard or from edit pages. You can later edit that content and make it independent or turn existing translations into duplicates.
If you want to convert a translation to a duplicate, go to the editor, in the section Language, click the button Overwrite with [original language] content.
If you want to convert a duplicate to a translation, go to the editor, in the section Language, click the button Translate independently.
By default it works like the following because the option Copy taxonomy to translations is selected in Translation Management > Multilingual Content Setup:
- If the taxonomy term translations exist, WPML adds these terms to duplicates.
- Else, do nothing
When creating or editing a translation, there are 2 buttons:
- Copy content from [original language]: Copy the title, excerpt and content from the original post only; it does not copy custom fields.
- Overwrite with [original language] content: Copy everything, or convert the current translation to a duplicate.
The difference between “Translation” and “Duplicate” is how their content and their original content are updated.
- When updating original posts and their translations, they don’t affect each other.
- When updating original posts, their duplicates are copied exactly.
- You can update duplicates, which does not affect their originals. However, we don’t recommend this because these changes will be erased after updating their originals. In this case, you should convert between “Duplicate” and “Translation”.
In case you didn’t know it, WordPress has a way of telling search engines where content originates from. The rel=”canonical” tag indicates the original URL of every piece of content. This way, if it appears in several URLs, search engines know where to list it.
Since, WPML knows that duplicate content is indeed duplicate, it communicates this information. The rel=”canonical” tag will point to the URL of the default language.
This way, Google doesn’t mistake you for trying to SPAM it and always knows where the original content is.
Google updated its guidelines and recommends not using “rel=canonical” together with “rel-alternate-hreflang” across different language or country versions.
Therefore we removed this feature in WPML and let WordPress itself handle the tag “rel=canonical”.