Skip to main content

Why AI Cannot Modify URLs Found in Descriptions or Text

AI cannot modify or translate URLs that appear inside product descriptions or text because it cannot know whether the linked handle has a native Shopify translation or which domain, subfolder, or Market the language is published on.

Dimitar avatar
Written by Dimitar
Updated over 2 months ago

AI does not change or translate URLs that appear inside product descriptions or other text fields. This limitation exists because the AI cannot reliably determine whether the linked handle is translated, or which domain or URL structure your store uses for that language.

Shopify handles are translatable, and Translation Lab supports handle translation. The limitation applies only to raw URLs written inside text content.


Why This Happens

URLs in text are not the same as Shopify handles

Shopify has a dedicated system for translating handles. For example:

  • Original handle:
    /products/red-shoes

  • Translated German handle:
    /produkte/rote-schuhe

Translation Lab can read and write these translations because Shopify exposes them through the Translation API.

However, this does not apply to URLs that you manually insert inside a product description or other text field.

Those URLs are just part of the text/HTML - not a “handle field” that Shopify considers translatable.


Translation Lab copies the original URL exactly as it is when translating text blocks

  • This behavior is intentional

  • It prevents broken links caused by wrong assumptions about handles/domains

  • It is not that “AI can’t guess” — it’s that we do not allow URL rewriting because it is unsafe


URLs inside text are copied exactly as they are (on purpose)

When Translation Lab translates a product description, blog post, rich text section, or any other text field, the AI translates only the text, not the URLs inside it.

This is intentional.

If the original text contains:

<a href="https://store.com/products/red-shoes">Red Shoes</a>

The translated version will contain the exact same href, unchanged.

<a href="https://store.com/products/red-shoes">Rote Schuhe</a>

Only the visible text (“Red Shoes” → “Rote Schuhe”) is translated.


The URL stays identical to the original.

This guarantees the link won’t break and avoids sending customers to the wrong page (404).


Why this is necessary

URLs inserted inside descriptions are plain text, not structured Shopify handle fields.
Shopify does not expose the translated handle or the Market URL structure to the AI during a description translation.

Because of this, Translation Lab cannot safely rewrite URLs — and trying to “guess” would cause more harm than good.

So to protect the store from broken links, Translation Lab always preserves the original URL exactly as the merchant wrote it.


Example A) - The handle is translated, but the URL inside the description is not

Let’s say:

  • You translated the handle /products/red-shoes/produkte/rote-schuhe

  • But your product description still contains:

<a href="https://store.com/products/red-shoes">Red Shoes</a>

When you translate the description to German, Translation Lab will output:

<a href="https://store.com/products/red-shoes">Rote Schuhe</a>

We do not change the URL to /products/rote-schuhe, because:

  • AI cannot know this is the translated handle

  • AI cannot see if you manually translated the handle and added a different translation than the one the AI would

  • AI cannot know your domain structure, even if it could guess the exact handle translation (/de, /de-eu, subdomain, etc.)

store.com/de/products/rote-schuhe
store.com/de-eu/products/rote-schuhe
store.de/products/rote-schuhe
de.store.com/products/rote-schuhe

Keeping the original URL is the safest and correct behavior.


Example B) - The handle is not translated, but AI “guessing” would break it

Imagine the opposite scenario:

  • The handle stays the same in all languages (/products/red-shoes)

  • Your description contains:

<a href="https://store.com/products/red-shoes">Red Shoes</a>

If AI tried to “translate” the URL, it might incorrectly output:

<a href="https://store.com/de/products/rote-schuhe">Rote Schuhe</a>

But since /products/rote-schuhe does not exist, this would cause:

  • ❌ broken links

  • ❌ 404 pages

  • ❌ incorrect Market routing

  • ❌ SEO issues

That’s why Translation Lab never modifies URLs inside text.

Shopify handle translations are supported — but only for actual handle fields, not for URLs embedded in text.

Did this answer your question?