Playbook · Shopify Markets hreflang / alternate language URLs wrong or missing

Shopify Markets hreflang / alternate language URLs wrong or missing.

Written for a Shopify DTC owner whose hreflang / rel="alternate" language URLs are wrong or missing — Search Console flags international targeting errors, locale peers do not match Markets languages, or Translate & Adapt languages exist but the head never declares them. DIY-first: prove view-source alternate tags, repair Markets SEO / domains / language assignment, remove theme or SEO-app overrides, recheck GSC. Distinct from Translate & Adapt missing strings, Markets currency wrong, canonical URL wrong, robots.txt / noindex, sitemap.xml missing products, and structured data / JSON-LD missing. No earnings claims, no invented case studies.

Nico at Latch AI Ops · Sep 8, 2026 · ~12 minute read

Buy the 72-hour install — $997Translate stringsCanonicalMerchant FAQ

01

Hreflang / alternate language URLs wrong — not Translate strings, Markets currency, canonical, robots, sitemap, structured data.

Several products can look like “Google doesn't understand my languages.” They do not share a settings panel. This page is only when Markets hreflang / alternate language URLs are wrong or missing. English copy still showing on a translated storefront is shopify-translate-missing-strings. Wrong country currency / price is shopify-markets-currency-wrong. Wrong rel="canonical" or duplicate www / Markets head is shopify-canonical-url-wrong. Robots.txt Disallow or noindex is shopify-robots-txt-blocking-indexing. Sitemap.xml omitting products is shopify-sitemap-xml-missing-products. Product JSON-LD missing or invalid is shopify-structured-data-missing. This page is only: hreflang / alternate language peers wrong or absent for Markets SEO.

Six ordinary reasons hreflang fails: language never assigned to the market, language domain / subfolder unpublished, Translate & Adapt language offline on the Current theme, theme or SEO app hardcoding incomplete alternate tags, missing x-default or self-references, or peer URLs that 404 / redirect to the primary locale. Walk them in that order. You already pay for Markets. You do not need another SEO seat to view-source rel="alternate".

02

Prove view-source rel=alternate hreflang vs Markets languages and Search Console.

Open a home URL and a product URL on each Markets language domain or subfolder Shopify serves. View-source and collect every link rel="alternate" hreflang= tag, including hreflang="x-default". Note whether each peer URL returns 200 without bouncing to the primary language.

In admin → Settings → Languages and Markets → Domains / languages, list the languages Shopify claims are live. In Google Search Console, check International Targeting (legacy) or URL Inspection for hreflang / alternate errors on those URLs. Honest proof: if storefront strings are still English while alternate tags look complete, leave for shopify-translate-missing-strings. If only rel="canonical" is wrong, leave for shopify-canonical-url-wrong. If currency / price is wrong for the country, leave for shopify-markets-currency-wrong. Do not mix those proofs with missing hreflang peers.

03

Markets language not assigned, domain/subfolder unpublished, or Translate & Adapt language offline.

Shopify emits Markets SEO alternate tags from live languages assigned to markets with published domains or subfolders. A language sitting in Translate & Adapt but never assigned to a market, a domain still “Pending,” or a language only wired on a draft theme will leave the live head without matching hreflang peers — even when product copy looks partially translated.

Fix: Assign each intended language to the correct market. Publish the language domain or subfolder Shopify documents for Markets SEO. Confirm Translate & Adapt languages are active on the Current published theme — not only a draft. Recheck view-source on primary and locale URLs. If strings still fall back to English after tags appear, that companion issue is shopify-translate-missing-strings— different product; fix hreflang here, strings there.

04

Theme head / SEO app hardcoding wrong or incomplete hreflang.

Themes, SEO apps, and leftover Liquid snippets often inject a second set of rel="alternate" tags — staging hosts, outdated locale codes, missing peers, or tags that omit the current URL. Two conflicting hreflang graphs routinely fail International Targeting even when Markets settings look correct.

Fix: Prefer Shopify Markets SEO defaults. Remove theme.liquid / SEO-app hardcoded hreflang blocks that fight Markets. If an SEO app must emit alternates, make sure every Markets language peer is listed once with correct BCP-47 codes and live URLs. Recheck view-source after each change. If the same app also rewrote canonicals, robots, or Product JSON-LD, those are separate playbooks (canonical, robots / noindex, structured data).

05

Missing x-default, self-references, or peer URLs that 404 / redirect wrong.

Valid hreflang sets include a self-reference on every language URL, reciprocal peers, and usually an x-default pointing at the primary / fallback experience. Broken peers — 404, soft 404, password page, or redirects that strip the locale — make Google ignore the cluster even when the tags exist in HTML.

Fix: Curl or open each alternate href. Confirm 200 (or a single intentional locale redirect that still lands on the declared language). Add / restore x-default via Markets SEO or your single hreflang source. Ensure each page lists itself. If peers are blocked by robots / noindex or missing from sitemap.xml so Google rarely crawls locale URLs, clear those on shopify-robots-txt-blocking-indexing and shopify-sitemap-xml-missing-products after hreflang is correct — different products.

06

You tested Translate strings, Markets currency, canonical, robots, sitemap, or structured data instead.

Translate & Adapt missing strings / English fallback is shopify-translate-missing-strings. Markets currency / price wrong for country is shopify-markets-currency-wrong. Canonical URL wrong or duplicate content is shopify-canonical-url-wrong. Robots.txt / noindex accidentally blocking Google is shopify-robots-txt-blocking-indexing. Sitemap.xml missing products or not updating in GSC is shopify-sitemap-xml-missing-products. Product structured data / JSON-LD missing or invalid is shopify-structured-data-missing.

The only honest test for this page: view-source shows missing or incorrect rel="alternate" hreflang peers for live Markets languages, or GSC reports hreflang / international targeting errors — language assignment, domains / subfolders, theme / SEO-app overrides, or broken peers. Capture view-source + GSC screenshot, repair those causes, recheck. Anything else is a different product.

07

When to stay DIY vs pay $997.

Stay DIY if you can spend one afternoon on the list above: prove view-source hreflang vs Markets languages, assign and publish languages / domains, remove theme / SEO-app overrides, fix x-default and peer 404s, and stop confusing Translate strings / Markets currency / canonical / robots / sitemap / structured data with missing alternate tags. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: shopify-translate-missing-strings, shopify-markets-currency-wrong, shopify-canonical-url-wrong, shopify-robots-txt-blocking-indexing, shopify-sitemap-xml-missing-products, shopify-structured-data-missing.

Pay for help when the work is not the hreflang row — it is connecting the stack you already have so lead capture is not dying in DMs, storefront and checkout-ready exceptions land in a channel you already check, and the live store is one workflow instead of a spreadsheet plus a Slack bot you forgot. That is the Latch AI Ops install.

What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not an SEO agency retainer, not a rankings or hreflang guarantee, not a theme rebuild.

Other shops' public ranges, not testimonials: a checkout / ops install typically runs $500–$2,500. A full ops consulting block typically runs $2,000–$5,000. $997 is the cheap end of that work, sold as a 72-hour install of three systems — not as an earnings number or ranking-lift claim.

What it does not buy: more orders, recovered revenue, a forever SERP / rankings / hreflang guarantee, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.

Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.