Translating PageBuilder content without breaking it
Why sending raw HTML to an AI model goes wrong, and how placeholders keep your layouts intact.
1 min read
Ask a language model to translate a PageBuilder row and it will usually do fine — until it quietly drops a closing tag, translates a CSS class, or "fixes" a URL. On a store with thousands of pages, "usually" is not good enough.
Placeholders, not prompts
We never ask the model to be careful with markup. Instead, the engine lifts out exactly the text that should change — headings, paragraphs, button labels, tab names, JSON values inside widgets — and replaces everything else with opaque tokens. Scripts, styles, URLs and directives never reach the model at all.
Checked on the way back
Every translated fragment is compared tag-for-tag with the source. If the structure changed, the translation is rejected and your store is left untouched.