Skip to main content

How to create dynamic language-aware links in Shopify

Links added by selecting a page are dynamic and will automatically follow the active language on your storefront.

Written by Dimitar

⚠️ This works for all internal Shopify resources - pages, collections, products, blogs, and blog posts. For external URLs (e.g., a link to a social media profile or a third-party site), a static URL is the only option - this is expected behavior.

❌ If you paste a full URL (e.g., https://yourstore.com/pages/contact) instead of selecting the page, the link becomes static - it will always point to that specific language version, regardless of what language the customer is browsing in.

By selecting the page directly, Shopify handles the language prefix automatically - no extra steps needed.

Those are the 3 scenarios:


How to add a Dynamic link in Shopify Navigation

Step 1 - Open your store's navigation

In your Shopify admin, go to Content > Menus

Step 2 - Select your desired menu (or add a new one)

Select the menu you want to edit - for example, Main menu.

Step 3 - Add/edit a menu item

Click Add menu item at the bottom of the menu items list. A new row will appear with a Label and a Link field.

Step 4 - Enter a label

In the Label field, type the name your customers will see in the navigation - for example, Contact or Our Story.

Step 5 - Select the destination page

Click the Link field and use the search to find the page, collection, product, or blog you want to link to. Select it from the results - do not paste a URL manually.

This is the most important step. By selecting the resource directly, Shopify knows exactly what page you are pointing to and will generate the correct language-aware URL automatically for each visitor.

If a page does not appear in the search results when adding a menu item, make sure it is published in Shopify. Unpublished pages and draft products will not show up in the picker.


How to add dynamic links to buttons or sections in your theme

The same principle applies to links you set directly inside the theme editor. Buttons, banners, and other sections that include a link field all support the same native resource picker - and the same rule applies: select the destination from the picker instead of pasting a URL.

Step 1 - Open the theme editor

In your Shopify admin, go to Online Store and click Edit theme next to your active theme.

Step 2 - Select the section or block with a button

In the left panel, find and click the section that contains the button you want to configure - for example, an Image banner or a Buttons block.

Step 3 - Set the button link using the picker

In the right panel, find the link field (e.g., First button link). Click it and search for the page, collection, or product you want to link to. Select it from the results - do not paste a URL manually.


What about links to external pages or third-party apps?

A static URL like https://yourstore.com/pages/loyalty-program will always point to the English version of that page, even if the customer is browsing in French or German. This creates a broken experience - the customer clicks a link in their language, and lands on a page in a different one.

If you need to add a link to an external URL - such as a social media profile, a third-party app page, or any destination outside your Shopify store - you have no choice but to paste a static URL in the Link field. Shopify's native menu picker only works for internal resources, so there is no built-in way to make these links language-aware.

The solution - Custom Translations

TLab's Custom Translations feature lets you translate any piece of text on your storefront, including the label and destination URL of a menu item. This means you can set a different URL per language for the same menu item - pointing French visitors to one destination, German visitors to another, and so on.

This is the recommended approach whenever you need language-specific links that Shopify cannot handle natively.

To learn how to set this up:

Did this answer your question?