ConveyThis Brings Native Language Subfolders to Shopify

Sub-directory mode in the ConveyThis Shopify app now uses Shopify's own languages. Shopify serves yourstore.com/es/ with its hreflang, and ConveyThis copies its translations into Shopify, so product, collection and page text is already translated in the HTML Shopify sends. No DNS change, and nothing to delete.
No card details No commitment

· Updated · Alex B · Blog

Summarize this post with: 11 min read

Shopify can already serve every page of a store under a language folder such as yourstore.com/es/, with hreflang tags and a checkout in Spanish. What it doesn’t do is translate your products, collections and pages. Until now, ConveyThis couldn’t use those folders either: on Shopify, the Sub-directory option wasn’t available, and translated URLs meant a language subdomain set up through DNS.

With this release, Sub-directory mode in the ConveyThis Shopify app runs on Shopify’s own languages. Shopify serves yourstore.com/es/ on your existing domain and generates the hreflang tags. ConveyThis translates your content and copies the translations into Shopify, so product, collection and page text is already in Spanish in the HTML Shopify sends.

For a merchant, that means language URLs that live on the domain your store already uses, without touching DNS and without putting a proxy between your visitors and Shopify. The translations you made in Translate & Adapt stay where they are. Sub-directory is available on the Business plan or higher.

For search

Translated pages in the HTML

Product titles, descriptions, collections and SEO fields arrive translated in the page Shopify sends, with Shopify's own hreflang tags.

For setup

No DNS, no proxy

Pick Sub-directory in the app and enable your languages. Your domain and Shopify hosting stay exactly as they are.

For your team

One place to edit

Edit a translation in ConveyThis and Shopify serves it within about 15 minutes. Translate & Adapt translations stay.

Menus, theme and app text and reviews are still translated on the page by the ConveyThis widget, so visitors see the whole page in their language.

What changed for Shopify stores

Before this updateWith this update
URL options on ShopifySame URL, ?locale=es or a sub-domain such as es.yourstore.comAll of these, plus Sub-directory: yourstore.com/es/
DNS changeSub-domain needs CNAME recordsSub-domain still does. Sub-directory needs none
Translated text in the page HTMLAdded in the browser by the ConveyThis widgetWith Sub-directory, Shopify sends products, collections, pages and blog articles already translated

The app now works with the languages your store already has in Shopify. It enables and publishes the languages you translate with ConveyThis and shows which ones are assigned to your domain. On a /es/ page, the ConveyThis widget translates your content while skipping any text Shopify has already translated. The app also copies your existing ConveyThis translations into Shopify through the Translations API, the same storage Translate & Adapt uses, so Shopify serves them as part of the page.

Here is what a product URL looks like:

yourstore.com/products/blue-shirt       (primary language)
yourstore.com/es/products/blue-shirt    (Spanish)

The /es/ folder comes from Shopify. The handle blue-shirt stays in your primary language, because ConveyThis doesn’t copy URL handles into Shopify.

How it works

Each part of a language page is handled by the system that is best placed to do it: Shopify language URL → ConveyThis translation → Translations API → translated Shopify HTML.

Shopify serves the language URL. When Spanish is published and assigned to your domain, Shopify serves /es/collections/all with <html lang="es">, hreflang tags for every assigned language plus x-default, and its own theme strings in Spanish, such as the cart, the account pages and “Skip to content”. The checkout is in Spanish too, through Shopify’s language settings, and internal links keep the visitor inside /es/. Notification emails follow once their templates are translated in Shopify, which our email guide covers.

ConveyThis translates what’s left. On a /es/ page the widget collects the text that’s still in your primary language, translates it and shows it. Before it sends anything, it fetches the same page in the primary language and only translates text that appears there too. So a product title you translated in Translate & Adapt, or a theme string Shopify translated, is left alone and never stored as source text.

Shopify serves the translations in its own HTML. The app copies ConveyThis translations into Shopify with the Translations API. We tested this on a store by fetching the raw HTML of /es/, /fr/ and /de/ without JavaScript: the translated product titles, product descriptions and collection titles were already in it.

What is copied into Shopify

  • Products. This needs the optional “read products” permission, which the app asks for when you save with Sub-directory.
  • Collections, online store pages, blog articles and the shop name.
  • For each of them: the title, the description or body, the article summary, the SEO title and the SEO description.

What the widget still translates on the page

URL handles (slugs), menus and navigation, theme and app-block text, reviews and metafields are not copied. The widget translates them in the browser, so they are not translated in the raw HTML.

When the copy runs

The copy runs in the background about every 15 minutes, and right after you save your settings. Text that has no ConveyThis translation yet, such as a brand new product, is translated on the page by the widget first and reaches Shopify on a later run. The app shows the result under the language table: “Translations in Shopify: N items, last update …”.

The ConveyThis Shopify app with Sub-directory selected, showing the language table and the count of translations in Shopify

What this gives you

  • Language URLs on your own domain. Each language gets its own folder with the hreflang tags Shopify generates, so search engines can discover each version.
  • Translated text in the HTML. Product, collection, page and blog text that Shopify holds a translation for is served in that language without JavaScript. Google can render JavaScript, but not every crawler does, so text that is already in the HTML is the safer place for it. It also arrives translated on first paint, while menus or app blocks that the widget translates can appear a moment later.
  • Cart, checkout and account pages in the visitor’s language, handled by Shopify’s language settings, as before.
  • Pages straight from Shopify. Nothing sits between your visitors and Shopify, so pages are delivered the way they are today.
  • One place to edit. Change a translation in the ConveyThis dashboard or the visual editor, or add a glossary rule for a brand name, and the change reaches Shopify on the next copy run.

Working alongside Translate & Adapt

You don’t need to uninstall anything or migrate. The languages you published stay published, and translations you made by hand in Translate & Adapt keep showing on /es/. Shopify’s own help page says the app “is compatible with other third-party translation apps that use the Translations API”, and that content created with those apps “is available in both the Translate & Adapt app and the third-party translation app”.

ConveyThis fills in what’s missing and manages what it wrote. If you edit a ConveyThis-managed value directly in Shopify, the next run replaces it, so make those edits in ConveyThis. A field that only has a Translate & Adapt translation stays as it is. If ConveyThis also has a translation for that field, for example one you edited in the ConveyThis dashboard, the ConveyThis version is the one Shopify serves.

The copy also follows your ConveyThis settings:

  • Only the languages you selected in ConveyThis are copied.
  • Removing a language in ConveyThis removes its copied translations from Shopify.
  • Switching away from Sub-directory removes everything ConveyThis put into Shopify.

The URLs, hreflang tags and checkout languages Shopify gives you stay exactly as they are.

How to turn on Shopify language subfolders

  1. Open ConveyThis in your Shopify admin and go to Settings. Under URL Structure choose Sub-directory. The Current Language in ConveyThis must be your store’s default language in Shopify.
  2. The app lists each of your languages with its status and the action it needs.
  3. For a language that’s not enabled in Shopify or not published, click Enable. The app enables it in Shopify and publishes it.
  4. For a language that’s not assigned to your domain, go to Shopify’s Settings → Languages, open the ⋯ menu next to the language and choose Assign to domain. Back in the app, click Check again.
  5. Save. Open yourstore.com/es/ and the page is in Spanish.

Two things that help:

  • Password-protected store. While the storefront is behind a password, the app can’t see which languages are assigned to your domain and shows Check manually. Follow step 4 and check the storefront yourself.
  • Your theme’s own language selector. Many Shopify themes show a language picker in the header or footer. You can keep it, or turn it off in the theme editor so visitors see one switcher.

The Shopify integration guide covers installing the app and choosing languages, and its section on translated URLs with Sub-directory walks through this setup.

Already have translations?

Keep them. Translations in Translate & Adapt stay in Shopify, and ConveyThis won’t translate that text again. If you have translations from another tool as a CSV or TMX file, import them in the ConveyThis dashboard under Translation Management → CSV/TMX, one file per language. A CSV has the source text in the first column and the translation in the second; a TMX file is imported as it is. The import and export guide has the details.

What to know before you switch

  • Shopify allows up to 20 languages. The app tells you when you reach the limit.
  • Not every ConveyThis language is a Shopify language. Shopify doesn’t offer every language for storefront subfolders. Latin, Haitian Creole, Cantonese and Hawaiian are examples of ConveyThis languages it doesn’t offer, and the app greys them out in Sub-directory mode. A store that needs one of them stays on the same-URL or subdomain structure.
  • Regional variants are markets, not languages. In Shopify, Mexican Spanish or Canadian French is a market with its own folder, such as /es-mx/ or /fr-ca/, and its own country, currency and prices. This release doesn’t map ConveyThis regional variants to markets. On a market folder the page uses the base language translation, so /fr-ca/ shows the French translation.
  • Portuguese and Tagalog. Portuguese defaults to Brazilian Portuguese, and you can choose European Portuguese in the app. Tagalog is shown as Filipino, which is how Shopify names it.
  • Some content stays with the widget. Menus, theme and app text, reviews, metafields and URL handles are translated on the page, not in the HTML, and brand new text reaches Shopify one copy run later.

Frequently asked questions

Do I need to change my DNS records?

No. Shopify serves the language folders on your existing domain, so there’s no A record, CNAME or proxy to set up. If you used the subdomain structure before, you can keep it or switch to subfolders in the app.

Which plan do I need?

Sub-directory is available on the Business plan or higher. See the pricing page for the plans.

Will ConveyThis overwrite my Translate & Adapt translations?

Not the ones ConveyThis has no translation for. On /es/ the ConveyThis widget skips text that Shopify already shows translated, so a product title you wrote in Translate & Adapt usually stays as it is. If ConveyThis does hold its own translation for the same field, for example one you edited in the ConveyThis dashboard, ConveyThis writes its version and replaces the Translate & Adapt one. Keep each field in one place to avoid surprises.

Can I use market folders like /es-mx/?

Not in this release. The app offers the languages Shopify supports as storefront languages. On a market folder the page uses the base language translation, for example French on /fr-ca/.

Is the checkout translated?

Yes, by Shopify. When a language is published, Shopify shows the checkout, the cart and the account pages in that language. Our checkout guide explains the settings. Notification emails need their templates translated in Shopify; see the email guide.

What happens to stores using the same URL or a subdomain?

Nothing. Those structures work as before. The change applies only when you choose Sub-directory in the app.

Sources

Next steps

Already using ConveyThis on Shopify? Open the ConveyThis app in your Shopify admin, go to Settings, and under URL Structure choose Sub-directory. The app shows what each language still needs.

New to ConveyThis? Install the ConveyThis app from the Shopify App Store and start on the Free plan. Sub-directory itself needs the Business plan or higher.

G2 High Performer Spring 2023
G2 Easiest Setup Fall 2024
G2 Best Support Spring 2025