Skip to content

What Gets Translated?

On this page

When you send a page for translation, the plugin does not decide what to translate. WPML builds
the list
, hands it over, and writes the answers back. That is why a page can come back translated
with its SEO title still in English, or with one ACF field untouched: those pieces were never in the
list to begin with.

Knowing how the list is built is usually all it takes to fix it.

#The rule behind everything on this page

A piece of content reaches the translator when both of these are true:

  1. WPML is set to translate it. Post types, taxonomies and custom fields each have their own
    setting.
  2. It actually has a value. An empty field has nothing to translate, so WPML leaves it out
    entirely. This is the one people miss: the setting is right, the field is simply blank on that
    particular page.

#The standard parts of a post

The title, the content and the excerpt are always included. Nothing needs configuring — if the post
has them, they are translated.

#Custom fields, including SEO

Everything a plugin or theme stores beside the post — SEO titles and descriptions, ACF fields,
subtitles, button labels — is a custom field, and WPML treats them all the same way.

Go to WPML → Settings → Custom Fields Translation. Every field registered on the site is listed
with four choices:

Setting What happens
Translate Sent to the translator and written back translated.
Copy Copied to the translation verbatim, and re-copied whenever the original changes.
Copy once Copied when the translation is first created, then left alone for editing by hand.
Don’t translate Ignored. The translation keeps whatever the field has, usually nothing.

SEO plugins. Yoast, Rank Math, SureRank, AIOSEO and the others ship a WPML configuration that
sets their fields to Translate for you, so this is usually already correct — worth checking once
rather than assuming. With it in place, the SEO title and meta description are translated along with
the page, and so are the Facebook and Twitter titles and descriptions if you fill those in.

Remember the second condition: a page with an empty SEO title has nothing to translate there. If you
rely on your SEO plugin to generate titles automatically, there is no stored value, nothing is sent,
and the translation generates its own title in its own language — which is usually what you want
anyway.

ACF and other field plugins. Same screen, same four choices. WPML publishes a recommended set of
preferences for ACF; the links at the bottom of Do internal links point to the translated pages?
point at it.

Term meta — fields attached to categories and tags rather than posts — has its own list, under
WPML → Settings → Custom Term Meta Translation.

#Pages built with a page builder

Content from Elementor, Spectra, Divi, WPBakery and the block editor does not arrive as one block of
text. WPML breaks it into individual strings — a heading, a button label, a paragraph — and each one
is translated separately. That is why a page builder page can show dozens of small pieces rather
than one body field, and why its translation is rebuilt rather than stored as one lump.

Two consequences worth knowing:

  • Text that is not text — an image file name, a # placeholder link, a CSS class — is part of the
    same list, because WPML cannot tell the difference. It is passed through unchanged.
  • Editing a translated page builder page by hand edits those strings, not the post content.

#Post types and taxonomies

WPML → Settings → Post Types Translation decides which content types are translatable at all. A
custom post type set to Not translatable will never appear anywhere in this plugin.

WPML → Settings → Taxonomies Translation does the same for categories, tags and product
categories. Terms are translated separately from the posts that use them — see How to Translate?
for where to do that.

#What is not covered here

  • Links and menus have their own rules, and their own page: Do internal links point to the
    translated pages?
  • Interface text from the theme and plugins — button labels, form messages, widget titles — is
    not part of any post. It lives in WPML String Translation and is translated from its own screen.

#Checking what was actually sent

If you are not sure whether a field made it into a translation, open AI Translator → History and
press View in the Request column of that row. It shows exactly what left the site, keyed by
the name WPML gave each field:

Name you will see What it is
title, body, excerpt The standard post fields.
field-<name>-0 A custom field, named after the key it is stored under.
package-string-… One string from a page builder or block.

A field missing from that list was never sent — which sends you back to the two conditions at the top
of this page.

There is one row type with nothing to show there: a translation made from Claude or ChatGPT over MCP
never goes to a provider, so there is no request to look at. Ask the assistant which fields it was
given instead — see Translating from Claude and ChatGPT (MCP).