Webflow Localization Migration: Modern i18n in Astro, Next.js, SvelteKit (2026)
Migrating Webflow Localization to framework-native i18n (Astro built-in, next-intl, paraglide) preserves all your translations and unlocks granular SEO. Adds 20–40% to base migration cost. The hard part: hreflang setup and content fallback strategy.
MigrateLab Team
Migration Experts

The Short Answer
Webflow Localization migrates cleanly to framework-native i18n in Astro (built-in), Next.js (next-intl), or SvelteKit (paraglide). All translations preserve, URLs stay 1:1 if you want, and you unlock granular SEO control per locale. Cost adds 20–40% to a base Webflow migration depending on locale count and content volume. The two parts that need care: hreflang setup and content fallback strategy.
Is Migrating Webflow Localization Worth It?
Localization migrations have specific economics — Webflow charges per locale per month, so the math gets clearer as you scale.
When it IS worth it
- You've hit Webflow's practical locale limits or per-locale fees are stacking up past your budget.
- You need locale-specific content beyond translation — different products, pricing, regulations, or campaigns per region.
- You need granular SEO control: precise hreflang tags, per-locale sitemaps, country-TLD strategy, or per-locale canonicals.
- Your translation team needs a TMS workflow (Crowdin, Lokalise, Phrase) that Webflow doesn't integrate with cleanly.
- You're moving the rest of the Webflow site anyway and Localization shouldn't stay behind.
When it's NOT worth it
- 2–3 stable locales with light translation updates and Webflow Localization is humming.
- Current SEO is fine and you're ranking where you want per locale.
- You have no plans to add locales and Webflow's per-locale fee is small relative to your overall costs.
- You're migrating Localization in isolation — the migration cost rarely pays back without other Webflow migration drivers.
Our honest take
Two locales and 50 pages, working as is? Leave it alone. Migrate when you're adding the fourth locale, per-locale SEO matters more than current cost, or you're moving the rest of the Webflow site anyway. We would rather tell you to stay than sell you a migration whose payback period stretches past 24 months.
What Webflow Localization Gives You Today
The strengths to plan around when picking a destination:
- Per-locale content editing in the Webflow Designer.
- Auto-translation via Webflow's AI (paid feature) as a starting point.
- Per-locale URL slugs (subpath: /de/, /es/) generated automatically from a primary locale.
- Auto-generated hreflang tags across locales.
- Locale-specific publishing and unpublishing.
- Per-locale image swaps (limited — same content tree).
Where Webflow Localization Hits Its Ceiling
The reasons teams migrate, in roughly the order they show up:
- Per-locale fees stack — each additional locale is a recurring monthly cost on top of your Site plan.
- Subpath URL strategy only — no native subdomain or country-TLD support without leaving Webflow.
- Hreflang and canonical edge cases — auto-generated tags don't handle all real-world scenarios (alternate pages, redirected pages, canonical to a different locale).
- Translation workflow is basic — no proper TMS integration with Crowdin, Lokalise, or Phrase.
- No content variants beyond translation — you can't have entirely different content per region (e.g., a different homepage for Germany vs. Switzerland).
- CMS Collection items can't be localized in the natural way — workarounds with reference fields and locale flags get clumsy at scale.
- No customizable routing or redirect rules per locale — the routing is whatever Webflow decides.
i18n Options in Modern Frameworks
Three destinations cover ~95% of Webflow Localization migrations. The visual comparison is at the bottom of this article; here is the prose version:
Astro built-in i18n — for content-driven sites
Astro 4+ ships native i18n routing. Configure locales in astro.config.mjs, store translated content in /src/content/[locale]/, and Astro generates the routes automatically. Zero runtime cost (everything is static). Built-in helpers for fallback locales, default locale, and prefix configuration. Best for marketing sites, blogs, documentation — anywhere content is largely static.
next-intl for Next.js — for app-like sites
The most popular i18n library for Next.js. ICU MessageFormat for plurals and rich translations, type-safe message keys, server- and client-component compatible. Pairs cleanly with the Next.js App Router. Best when you have dynamic content, app-like features, or are already on Next.js.
paraglide for SvelteKit — for type-safe sites
Compile-time i18n that generates type-safe translation functions and tree-shakes unused locales. Translations live as JSON files in /messages/[locale].json. Smaller bundle than runtime libraries. Best for SvelteKit-first teams or when bundle size is a priority.
URL Strategy Decisions
Three URL strategies for multi-language sites, with different SEO and ops trade-offs:
- Subpath (/en/, /de/, /fr/) — 95% of cases. One domain, one SSL cert, one Search Console property, simplest analytics. Default for almost every modern multi-language site.
- Subdomain (en.site.com, de.site.com) — niche. Treats each locale as a separate site. Useful when you have entirely separate teams running each locale, or for legacy reasons. Adds DNS and SSL setup; SEO authority doesn't flow as freely between subdomains.
- Country-TLD (site.com, site.de, site.fr) — strongest geo-signal. Best for region-specific brands or when targeting Google's country-specific algorithms (Google.de prefers .de domains). Most expensive — domain registrations, DNS, separate Search Console properties per ccTLD. Rarely worth it for under 5 locales.
Default to subpath unless you have a specific reason for the others. The SEO authority is one site, the ops surface is small, and the migration is straightforward.
Translation Content Workflow
Three patterns for managing translated content on the destination:
- Headless CMS with localized fields. Payload CMS with locale config, or Sanity with localized strings. Each field on a Collection has a value per locale. Editors switch locale in the admin UI to translate. Best when content updates are frequent and editors need a UI.
- Per-locale content files. Markdown or JSON in /content/[locale]/ checked into git. Astro's built-in pattern. Best for technical teams that translate via PR or use a TMS that syncs to git.
- TMS integration. Crowdin, Lokalise, or Phrase as the source of truth for translations, syncing back to your CMS or repo via webhooks. Best for 5+ locales with professional translators and active marketing volume.
The 6-Step Migration Playbook
A calibrated walkthrough for a typical 3–8 locale Webflow Localization migration. Times are per phase.
Step 1 — Audit content + locales (1–2 days)
Document every locale you have, every page that's translated, and every CMS Collection that has localized content. Pull a per-locale page inventory from the Webflow Designer. Identify gaps (pages missing translations) and decide whether to translate them during migration or carry the gap forward.
Step 2 — Decide URL strategy + content workflow (1 day)
Pick subpath, subdomain, or country-TLD from the decision matrix. Pick headless CMS, per-locale files, or TMS for content workflow. Document the fallback strategy: when a locale is missing a page, fall back to default locale, show a notice, or 404.
Step 3 — Restructure content as i18n in target CMS (3–5 days)
In Payload, configure locale settings and add localized: true to fields. In Astro, create /src/content/[locale]/ folders and add locale config to astro.config.mjs. In Next.js, set up next-intl with messages/[locale].json. Migrate content from Webflow Localization export, preserving the locale → content mapping.
Step 4 — Implement i18n routing (2–3 days)
Set up the routing layer: Astro's built-in i18n, next-intl middleware, or paraglide adapter. Configure default locale, locale detection (browser headers vs. cookie vs. URL), and 301s for any URL changes. Test every locale's navigation, footer, and language switcher.
Step 5 — Handle missing-translation fallbacks (1 day)
Implement the fallback rule from Step 2. The simplest pattern: if /de/page-x doesn't exist, fall back to /en/page-x with a small "Showing English translation" banner. This avoids 404s and lets Google still index the English version under the German URL. Configure in your i18n library's fallback option.
Step 6 — SEO: hreflang + canonical + sitemap per locale (1–2 days)
Add hreflang tags on every translated page (every locale variant of a URL must point to all other variants AND to itself with rel="alternate"). Set canonical to the same-locale URL. Generate one sitemap per locale, plus a sitemap index. Submit each sitemap in Search Console as separate properties or under one. Verify hreflang with a validator before launch.
SEO for Multi-Language Sites: Hreflang and the Common Mistakes
Hreflang is a directive to Google: "this page has alternate versions in other languages." Done right, Google serves the right locale to the right country. Done wrong, your German page ranks in the US and your French page disappears entirely.
The non-negotiables:
- Self-reference. Every page must include hreflang to itself, not just to other locales. /de/page must have <link rel="alternate" hreflang="de" href="/de/page" /> in its <head>.
- Reciprocal references. If /en/page lists /de/page as the German alternate, /de/page must list /en/page as the English alternate. Google ignores one-way hreflang.
- x-default. Add <link rel="alternate" hreflang="x-default" href="..." /> to indicate the page Google should serve when no locale match exists.
- Canonical to same locale. Don't set canonical from /de/page to /en/page. Each locale has its own canonical pointing to its own URL.
- Per-locale sitemaps. Generate one sitemap per locale plus a sitemap index. Each sitemap entry includes hreflang annotations.
Validate with a tool (Sistrix Hreflang Validator, Aleyda Solis' Hreflang Tags Generator) before launch and again 30 days post-launch.
Cost & Timeline
For a typical 3–8 locale Webflow Localization migration, MigrateLab quotes 20–40% on top of a base Webflow migration. Cost drivers in order: locale count, content volume per locale, custom routing rules, and TMS integration depth. A site moving from 3 locales to a fresh i18n setup with no TMS lands at the lower end; an 8-locale site with Crowdin sync and per-locale custom routing lands at the higher end.
For full ranges by site size and builder type, see the Webflow migration cost breakdown at /resources/webflow-migration-cost-breakdown-2026.
From Real Migrations: What Almost Always Goes Wrong
Five patterns that come up in nearly every Webflow Localization migration we run:
- Forgotten hreflang on one locale. Teams add hreflang to most pages and miss one. Google partially indexes, returns weird results, and rankings drift. We do an automated post-launch crawl that asserts hreflang exists on every translated URL.
- No fallback strategy. Locales with content gaps return 404, frustrating users and burning Google's crawl budget. Configure fallback to default locale with a small banner — better UX, better SEO.
- RTL languages forgotten. Teams add Arabic without setting dir="rtl" on the html element. Layout breaks subtly — text wraps wrong, icons flip, padding inverts. Audit CSS for hardcoded left/right values and use logical properties (margin-inline-start, padding-inline-end).
- Plural forms hardcoded for English. English has 2 plural forms (one, other). Russian has 4. Arabic has 6. Use ICU MessageFormat (next-intl supports it natively) instead of "1 item / N items" string concatenation.
- Date and number formatting hardcoded. US uses MM/DD/YYYY; most of Europe uses DD.MM.YYYY. Number separators differ (1,000.50 vs 1.000,50). Use Intl.DateTimeFormat and Intl.NumberFormat with the active locale, never hand-roll.
Why We Recommend Each Path (And When We Don't)
- We recommend Astro built-in i18n for content-heavy marketing sites and documentation. Static, fast, free, native to the framework. Most Webflow migrations land here.
- We recommend next-intl when the rest of the site is on Next.js and you have dynamic features. ICU MessageFormat and type-safe keys are real wins.
- We recommend paraglide for SvelteKit-first teams or sites where bundle size is a priority. The compile-time approach is genuinely smaller than runtime libraries.
- We don't recommend rolling your own i18n in 2026. The number of edge cases (plural forms, RTL, date/number formatting, fallback chains, hreflang generation) is too large for DIY to be cheaper than a battle-tested library.
What to Do Next
If you're early in deciding, send your Webflow site link via the free review form below. We look at your locale count, content volume, URL strategy needs, and TMS requirements, then reply within 48 hours with a fixed-price scope and the i18n approach we'd actually pick.
For full migration-cost ranges, see /resources/webflow-migration-cost-breakdown-2026. For the headless CMS that pairs well with localized content, see /resources/webflow-to-payload-cms-migration-guide.
| Feature | Astro built-in i18n | next-intl (Next.js) |
|---|---|---|
| Pricing | Free | Free (open source) |
| Runtime cost | Zero (static) | Small (server + client) |
| ICU MessageFormat | Via plugin | Built in |
| Type-safe message keys | Manual | Built in |
| Routing | Native (subpath, prefix config) | Middleware + App Router |
| Content storage | /content/[locale]/ files or CMS | messages/[locale].json or CMS |
| Fallback locales | Built in | Built in |
| TMS integration | Via custom sync | Via custom sync (Crowdin, Lokalise) |
| Hreflang generation | Manual or via @astrojs/sitemap | Via custom layout code |
| Best for | Content sites, docs, blogs, marketing | Apps, dynamic content, large sites |
| AI editability | Excellent | Excellent |
6-Step Webflow Localization Migration Process
Audit content + locales
Document every locale, every translated page, every localized CMS Collection. Identify translation gaps and decide whether to fix during migration or carry forward.
Tip: Pull the per-locale page inventory by switching locales in the Webflow Designer and exporting page lists — there is no native bulk export.
Decide URL strategy and content workflow
Pick subpath, subdomain, or country-TLD. Pick headless CMS, per-locale files, or TMS. Document the fallback rule.
Tip: Default to subpath URLs unless you have a specific reason otherwise. They cover 95% of cases with the smallest ops surface.
Restructure content as i18n in target CMS
Configure locales in Astro/Next/SvelteKit. Migrate content from Webflow Localization export, preserving locale → content mapping.
Tip: Migrate one locale fully end-to-end before doing the others — you'll catch schema and routing issues early instead of multiplying them across locales.
Implement i18n routing
Set up the routing layer. Configure default locale, locale detection, and 301s for any URL changes. Test every locale's navigation and language switcher.
Tip: Test the language switcher on every page type — homepage, blog post, CMS detail, 404 — not just the homepage. Edge cases hide on detail pages.
Handle missing-translation fallbacks
Implement the fallback rule. Most teams default to "fallback to default locale with a small banner" — better UX and better SEO than 404.
Tip: Log every fallback hit to understand which translations are missing — gives the content team a prioritized list of pages to translate.
SEO: hreflang + canonical + sitemap per locale
Add hreflang on every translated page (self-reference + reciprocal). Generate one sitemap per locale plus a sitemap index. Validate with a hreflang tool before launch.
Tip: Run a Sistrix or Aleyda hreflang validation pre-launch and re-run 30 days post-launch — issues that were latent at launch sometimes surface as Google indexes more deeply.
Want a fixed-price scope for migrating Webflow Localization? Send the link — we look at your locale count, content volume, URL strategy needs, and TMS requirements, then reply within 48 hours with the i18n approach we'd actually pick. If migrating isn't worth it yet, we'll say so.
Frequently asked questions
- How many locales can I have on the new platform?
- Effectively unlimited on all three frameworks. Astro built-in i18n, next-intl, and paraglide all support arbitrary locale counts at zero per-locale cost beyond hosting. We have shipped sites with 12+ locales without performance impact. The constraint becomes content workflow, not technical capability.
- Will Google de-rank during the transition?
- Not when redirects and hreflang are done right. Set 301 redirects for every old /de/page to its new equivalent, regenerate sitemaps per locale, and add hreflang annotations on every translated page. Run a Search Console audit for 30 days post-launch and fix any "alternate page" warnings within a week. Sites we have migrated typically hold or improve rankings because Core Web Vitals improve.
- Can I add locales later?
- Yes, easily. Adding a 5th or 10th locale on a modern i18n setup is a 1–2 day task: create the locale's content files or CMS entries, update the locales config, regenerate the sitemap. On Webflow Localization the same operation requires plan adjustments and per-locale fees that scale with usage.
- What about right-to-left (RTL) languages?
- RTL languages (Arabic, Hebrew, Persian, Urdu) need explicit handling. Set the dir="rtl" attribute on the html element per locale, audit your CSS for hardcoded left/right values (use logical properties like margin-inline-start instead), and test layout in RTL mode. All three i18n libraries pass the locale to your layout for the dir attribute, but the CSS work is on you.
- Do I need a TMS like Crowdin or Lokalise?
- For 2–4 stable locales with light content updates, no — JSON files in your repo with version control work fine. For 5+ locales with active marketing, professional translators in the loop, or compliance-grade translation workflows, yes — Crowdin, Lokalise, and Phrase all integrate cleanly with both Payload and Sanity, and sync translations back to your repo via webhooks.
- Is auto-translation OK for my migration?
- For top-of-funnel marketing copy and FAQs, modern auto-translation (DeepL, GPT-4, Webflow's AI) is good enough as a starting point — followed by a human review pass for high-traffic pages. For legal pages, T&Cs, regulated industries (healthcare, finance), or any high-conversion landing page, use professional translators. The cost difference is small relative to the brand risk of a mistranslation.
- What happens to my existing /de/ /fr/ URLs?
- Preserve them 1:1 if possible — the cleanest migration keeps /de/seite-eins → /de/seite-eins on the new platform. If routing rules force a change, set 301 redirects from old to new before launch. Verify with curl before DNS cutover. The risk of skipping this is the same as any URL change: Google demotes the new URLs until they earn back authority.