Say you run an English Shopify store and you've just added Sweden as a new market. You've run your translations — either through Translate & Adapt or the Claude workflow. Everything looks right. But one section on the Swedish store is still showing English, with no obvious reason why.

The culprit is almost always a Custom HTML/Liquid section.

Why it happens

Shopify's translation system works by reading the structured content of native theme sections — rich text blocks, image banners, multi-column sections. Each field is indexed and made available to the translation API.

Custom HTML/Liquid sections work differently. Their content is stored as one raw HTML string. Shopify looks at it and sees a blob it can't parse — so it skips it entirely.

Shopify staff have confirmed this in their community forums: "Custom liquid sections cannot be translated natively." It doesn't matter which translation tool you use — Translate & Adapt, Weglot, or ShopMCP. None of them can reach inside a Custom HTML section to translate the text. The section is simply invisible to the translation system.

What to use instead

For any text a visitor will actually read, use a native theme section:

You want Use this instead
A headingRich text section → heading block
Body textRich text section → text block
Heading + text + buttonRich text section
A CTA bannerPromo strip or Image banner section
Decorative spacing or a dividerCustom HTML is fine — no text involved

How to find the problem sections

If you're not sure which sections are causing the issue, ask Claude:

"Show me the translation review for my About page — I think some sections aren't translating into Swedish."

Claude fetches every text field on the page and shows source vs translation side by side. Custom HTML content won't appear in the list at all — that's your signal it's the problem.

How to fix it

"The About page has a Custom HTML heading that won't translate. Add a proper Rich text heading with the same text so it works with translations."

Claude adds a native Rich text section with the same text, registers the Swedish translation, and disables the Custom HTML section. The heading now goes through the translation system correctly.

The simple rule going forward

Reserve Custom HTML/Liquid for things with no translatable text — spacing, layout tweaks, decorative elements, scripts. Any text a visitor reads should live in a native theme section. It's a small habit that saves hours of debugging later.