Case Study

Shipping a 12-Language Corporate Site on a Fixed Timeline

Globe

Overview

The Challenge

Launching 11 new locales without hiring internal staff, creating microsites, or using the existing CMS’s multilingual features. The existing CMS could not facilitate a global expansion of this scale in a sutainable way.

The Solution

Leveraging a SaaS translation service, Smartling, we were able to translate the English site into the 11 destination languages. Language keys in the URL path directed traffic through Smartling’s servers, which served visitors a translated version of the English page.

Impact

  • Launched 11 new locales in under 3 months, unblocking the international launch
  • Avoided hiring, contracting, re-architecting, and standing up 11 separate microsites
  • Kept a single canonical site/codebase, so updates ship once and propagate across locales
  • Reduced risk by choosing a solution that can easily roll back

Technical Approach

Architecture

Smartling, a SaaS translation service, uses human translators and a global edge network to render localized pages on-demand.

Tech Stack

C#.NETCrownpeakSmartlingVWO

Challenges & Solutions

App Screenshot

Choosing a Routing Method

The Problem

The Smartling GDN (global delivery network) provides two ways to integrate: DNS or adding a layer. Best practices for SEO dictates that translated sites should be served from subfolders rather than subdomains or a ccTLD. Subfolder routing would add a layer, which can have a noticebly negative effect on the time to first byte.

The Solution

A URL rewrite at the CDN prevented unnecessary trips to the origin and provided the second quickest path to Smartling’s GDN. The CDN was also configured to cache translated pages. Although this solution was not the quickest, it followed SEO best practices and provided us with greater flexibility for routing in other edge cases.

Locale-Specific Features

The Problem

Translating from one source introduces a host of issues:

  • “911” doesn’t need translating, but in other locales it may not exist or is a different number entirely, like 999 in the UK
  • Not all product features are available everywhere
  • The website may need to behave differently in some regions. For example: GDPR, CCPA, HIPAA, etc.
The Solution

Mis-translating words works when a feature exists across all translations, but when an entire section needs removing or complete replacement, a better solution looks a lot like personalization. Using VWO (Visual Website Optimizer) we were able to enable content editors to select and hide or replace web components.

The website’s JavaScript was altered to be aware of the URL, which contains the locale code. If a region requiring special treatment was detected, the lead form and tracking libraries adapted.

UPDATE: Smartling now has several solutions for these problems. My solutions may still be applicable under unique circumstances, but do not replicate what I’ve done before consulting the Smartling docs.

Sitemap

The Problem

Our sitemap was generated by the CMS, which was completely unaware of the translated pages. This completely broke our sitemap and required a custom solution.

The Solution

A script was created to process the system-generated sitemap. On a Cron job that runs after the system’s, the script would add the 12 languages to the translation set in the XML. This solution was maintenance-free, but with the tradeoff that every English page MUST have a translated copy, otherwise the broken link would trigger alerts in SEO tools.