SEO for multilingual sites
With the rapid evolution of the digital world, businesses are increasingly recognizing the significance of reaching a global audience. However, implementing a successful global SEO strategy can be complex and daunting, particularly when navigating the complexity of multiple languages and cultural differences.
Why multilingual SEO matters
According to a report by Common Sense Advisory, 75% of consumers prefer to buy products in their native language, and 60% of global consumers rarely or never buy from English-only websites. This proves that investing in content localization—and the SEO to support it—is a beneficial way to grow your business.
Benefits of proper multilingual SEO include:
- Expanded customer base and increased revenue
- Improved search visibility in local search engines
- Reduced bounce rates from language mismatches
- Increased time on page through localized content
URL structure strategies
Choose the right URL structure for your multilingual site:
Option 1: subdirectories (recommended)
example.com/en/about
example.com/es/about
example.com/de/about
Pros:
- Easy to set up and maintain
- Inherits domain authority
- Simple analytics tracking
Cons:
- Less perceived local relevance
Option 2: subdomains
en.example.com/about
es.example.com/about
de.example.com/about
Pros:
- Can be hosted in different locations
- Separate from main domain issues
Cons:
- Treated as separate sites by Google
- Requires building authority for each
Option 3: country-code TLDs (ccTLDs)
example.com/about (default)
example.es/about
example.de/about
Pros:
- Strong geographic signal to search engines
- High trust from local users
Cons:
- Most expensive to maintain
- Requires separate SEO efforts per domain
For most businesses, subdirectories offer the best balance of simplicity and SEO benefit. Use ccTLDs only if you have significant resources for each market.
Hreflang tags tell search engines which language and regional version of a page to show users based on their location and language preferences.
Basic hreflang syntax
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
Language-region codes
For regional targeting, use language-country codes:
<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/page" />
<link rel="alternate" hreflang="en-gb" href="https://example.com/en-gb/page" />
<link rel="alternate" hreflang="es-es" href="https://example.com/es-es/page" />
<link rel="alternate" hreflang="es-mx" href="https://example.com/es-mx/page" />
The x-default tag
Always include an x-default tag for users whose language/region isn’t specifically targeted:
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
Implementation with ButterCMS
Create an SEO component that generates hreflang tags dynamically:
// React/Next.js example
function HreflangTags({ currentSlug, locales }) {
const baseUrl = 'https://example.com';
return (
<Head>
{locales.map(locale => (
<link
key={locale}
rel="alternate"
hreflang={locale}
href={`${baseUrl}/${locale}/${currentSlug}`}
/>
))}
<link
rel="alternate"
hreflang="x-default"
href={`${baseUrl}/${currentSlug}`}
/>
</Head>
);
}
Content considerations
Keyword research per locale
Not all keywords translate directly. Luis Rodriguez, Head of SEO at Compare the Market, emphasizes: “Not all countries are the same. And I think that applies also to keywords. It will be perhaps simplistic to say that every keyword has an actual replacement in every language. I don’t think that’s the case.”
The intent behind keywords can vary significantly depending on the cultural context, leading to different meanings.
Keyword strategy best practices
- Research keywords in each target language - Don’t just translate
- Understand local search behavior - Different markets use different search patterns
- Analyze local competitors - See what terms they rank for
- Consider cultural context - Same word may have different connotations
Example:
- English: “cheap flights” (acceptable)
- German: “günstige Flüge” (cheap) vs “billige Flüge” (low quality connotation)
Meta tags for multilingual content
- Keep to 50-60 characters
- Include target keywords for that locale
- Don’t just translate—optimize for local search intent
<!-- English -->
<title>Best CRM Software for Small Business | Brand</title>
<!-- Spanish -->
<title>Mejor Software CRM para Pequeñas Empresas | Brand</title>
<!-- German -->
<title>Beste CRM-Software für kleine Unternehmen | Brand</title>
- 150-160 characters
- Include call-to-action appropriate for the culture
- Localize, don’t just translate
Set locale-specific OG tags for social sharing:
<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="es_ES" />
<meta property="og:locale:alternate" content="de_DE" />
ButterCMS SEO Component Pattern
Create a reusable SEO component in your ButterCMS Page Types:
Component schema
SEO Component:
├── meta_title (Short Text)
├── meta_description (Long Text)
├── og_image (Media)
├── og_title (Short Text)
├── og_description (Long Text)
├── canonical_url (Short Text) [optional]
├── no_index (Checkbox)
└── structured_data (Long Text/JSON)
Fetching and rendering
// Fetch page with SEO component
const page = await butter.page.retrieve('landing_page', 'home', {
locale: userLocale
});
const seo = page.data.data.fields.seo_component;
// Render in head
<Head>
<title>{seo.meta_title}</title>
<meta name="description" content={seo.meta_description} />
{/* Open Graph */}
<meta property="og:title" content={seo.og_title || seo.meta_title} />
<meta property="og:description" content={seo.og_description || seo.meta_description} />
<meta property="og:image" content={seo.og_image} />
<meta property="og:locale" content={userLocale.replace('-', '_')} />
{/* Hreflang */}
{availableLocales.map(locale => (
<link
key={locale}
rel="alternate"
hreflang={locale}
href={`${baseUrl}/${locale}/${slug}`}
/>
))}
{/* Canonical */}
{seo.canonical_url && <link rel="canonical" href={seo.canonical_url} />}
{/* Robots */}
{seo.no_index && <meta name="robots" content="noindex, nofollow" />}
</Head>
Technical SEO checklist
Crawling & indexing
Site structure
Content
Common mistakes to avoid
Poor translation quality
Companies may rely only on automatic translation tools or inexperienced translators, resulting in poor quality translations that can damage the company’s reputation.
Solution: Hire professional translators with subject matter expertise and review translations thoroughly for important content.
Ignoring local search behavior
Different markets search differently—both in terms of keywords and search engines used.
Solution: Conduct thorough market research and engage with local experts.
Additional common mistakes
- Forgetting hreflang on all pages - Every page needs tags, not just the homepage
- Incorrect hreflang syntax - Use ISO 639-1 for language, ISO 3166-1 Alpha 2 for country
- Missing x-default - Always include a fallback
- Auto-redirecting based on IP - Let users choose; use hreflang for search engines
- Translating URLs literally - Sometimes translated URLs don’t make sense
- Duplicate content without tags - Always use canonical or hreflang
Monitoring and analytics
Google Search Console
- Set up separate properties for each locale/country
- Monitor search performance by country
- Check for hreflang errors in International Targeting report
- Review indexed pages per locale
Google Analytics
- Create views/segments per locale
- Track bounce rate by locale
- Monitor conversion rates per market
- Set up goals specific to each region
Key metrics to track
| Metric | Why It Matters |
|---|
| Organic traffic by locale | Growth indicator |
| Bounce rate by locale | Content relevance |
| Conversion rate by locale | Market fit |
| Page speed by region | UX performance |
| Ranking positions | Visibility |
Resources
Building relationships with local SEO communities and leveraging their collective knowledge is invaluable. As Luis Rodriguez advises: “Reaching out and creating a network into the places that we want to be actively working is just something really healthy, not only for the projects or for the companies themselves, but also personally and professionally.”