Wise's 8.4 Million Internal Linking Architecture

A modern visualization of how Wise creates millions of interconnected currency conversion pages

Currency Pair Matrix

This visualization demonstrates how Wise creates pages for every currency pair combination.

Total Currency Pairs

28,900

~170 currencies × ~170 currencies

Localized Pages

1.1+ Million

28,900 pairs × 40+ locales

Total Pages

8.4+ Million

Including amount variations

Internal Links

Billions

50-100+ links per page

Internal Linking Hierarchy

This diagram shows how Wise structures its internal linking system hierarchically.

Currency Converter Home
Currency List Pages
Top Currency Pairs
USD → EUR
GBP → USD
EUR → JPY
+ More Pairs
Amount: 1
Amount: 100
Amount: 1000
US (en-US)
UK (en-GB)
+ ~38 More Locales

URLs Generated

Each page follows a consistent URL pattern:

/{locale}/currency-converter/{source}-to-{target}-rate

Parameters

URL parameters create more variations:

?amount=1000&period=30days

Linking Strategy

• Top-down navigation hierarchy

• Horizontal linking between related pairs

• Cross-locale linking for international SEO

SEO Benefits

• Comprehensive site architecture

• No orphaned pages

• Proper internationalization with hreflang

• Crawlable link structure

Network Graph of Internal Links

This visualization shows how currency pages are interconnected, focusing on USD as the central currency.

Node Types

Currency nodes (large)

Locale nodes (small)

Connection Types

• Solid lines: Direct connections

• Dashed lines: Secondary connections

Interaction

• Click any currency to make it the central node

• Click any locale to view that country's version

Scale

• This visualization shows 8 currencies

• Wise supports ~170 currencies

• The full network has millions of nodes

Page Structure & Link Placement

This diagram shows how Wise strategically places links within each currency converter page.

Main Converter Widget
GBP
USD
1 GBP = 1.29 USD Mid-market exchange rate
Historical Chart & Stats
[Currency conversion chart]
Top Currencies Table
Top Currency Pairings
GBP
USD
GBP
EUR
GBP
JPY
GBP
AUD

Link Types

• Primary navigation links

• Currency pair direct links

• Related currency links

• Amount variation links

Link Count

• 50-100+ internal links per page

• Each link follows consistent patterns

• Links prioritized by relevance

Strategic Placement

• High-priority links above the fold

• Related currencies grouped together

• Contextual links near relevant content

Link Attributes

• Proper anchor text for context

• Appropriate hreflang attributes

• Clean URL structure

• No extraneous parameters

Technical Implementation

How Wise implements its massive internal linking structure programmatically.

// Example of how Wise might generate internal links programmatically

function generateCurrencyLinks(sourceCurrency, targetCurrency, locale) {
  // The core data for link generation
  const topCurrencies = ['USD', 'EUR', 'GBP', 'JPY', 'AUD', 'CAD', 'INR', 'CHF'];
  const amounts = [1, 5, 10, 20, 50, 100, 250, 500, 1000, 2000, 5000, 10000];
  const locales = ['us', 'gb', 'eu', 'jp', 'in', 'au', 'ca', ...]; // 40+ locales
  
  // Collection to store generated links
  const links = [];
  
  // 1. Direct currency pair link
  links.push(`/${locale}/currency-converter/${sourceCurrency.toLowerCase()}-to-${targetCurrency.toLowerCase()}-rate`);
  
  // 2. Reverse pair link
  links.push(`/${locale}/currency-converter/${targetCurrency.toLowerCase()}-to-${sourceCurrency.toLowerCase()}-rate`);
  
  // 3. Links to source currency paired with other top currencies
  topCurrencies.forEach(currency => {
    if (currency !== sourceCurrency && currency !== targetCurrency) {
      links.push(`/${locale}/currency-converter/${sourceCurrency.toLowerCase()}-to-${currency.toLowerCase()}-rate`);
    }
  });
  
  // 4. Links to target currency paired with other top currencies
  topCurrencies.forEach(currency => {
    if (currency !== sourceCurrency && currency !== targetCurrency) {
      links.push(`/${locale}/currency-converter/${targetCurrency.toLowerCase()}-to-${currency.toLowerCase()}-rate`);
    }
  });
  
  // 5. Amount variation links
  amounts.forEach(amount => {
    links.push(`/${locale}/currency-converter/${sourceCurrency.toLowerCase()}-to-${targetCurrency.toLowerCase()}-rate?amount=${amount}`);
  });
  
  // 6. Links to same pair in other locales
  locales.forEach(otherLocale => {
    if (otherLocale !== locale) {
      links.push(`/${otherLocale}/currency-converter/${sourceCurrency.toLowerCase()}-to-${targetCurrency.toLowerCase()}-rate`);
    }
  });
  
  return links;
}

// This function would generate dozens of links for a single currency pair
// When applied across 170+ currencies, 40+ locales, and multiple amount variations,
// it creates millions of interconnected pages

Database Schema

Currencies Table
code name is_major
USD US Dollar true
EUR Euro true
GBP British Pound true
Locales Table
code name language
us United States en-US
gb United Kingdom en-GB
fr France fr
Currency Rates Table
from_currency to_currency rate last_updated
USD EUR 0.922 2025-03-10 07:00:00
GBP USD 1.292 2025-03-10 07:00:00

Technical Architecture

• Single template system

• Database-driven content

• RESTful API-based exchange rates

• CDN cacheable pages

Performance Optimizations

• Aggressive caching

• Template-level optimization

• Link generation batching

• Lazy loading for secondary content

Link Generation

• Programmatic link creation

• Template variables for context

• Database-driven priorities

• JavaScript-enhanced interlinking

SEO Implementation

• Canonical URLs

• XML sitemaps

• hreflang annotations

• Proper 301 redirects

Key Takeaways

The most important insights about Wise's internal linking architecture

Scale & Scope

  • ~170 currencies × ~170 currencies = ~28,900 currency pairs
  • Each pair available in 40+ locales = 1.1+ million pages
  • Multiple amount variations per pair = 8.4+ million pages
  • Each page contains 50-100+ internal links

Linking Strategy

  • Matrix-based linking ensures all pages connect
  • Hierarchical organization prevents orphaned pages
  • Contextual relevance drives link placement
  • Template-based system for consistency and maintainability

Technical Implementation

  • Single template with programmatic link generation
  • Database-driven content population
  • URL parameter variations create unique pages
  • Canonical URLs and proper internationalization

SEO Benefits

  • Massive internal linking improves crawlability
  • No orphaned pages - all content is discoverable
  • Clear site structure helps search engines understand content
  • International SEO with proper hreflang implementation